EmrysFilter 0.1.0
State estimation utilities in C++23 using Eigen
Loading...
Searching...
No Matches
Distributions Directory Reference

Files

 
Categorical.h
 The distribution over a discrete space (decisions.md [discrete-spaces], [params-and-density]): CategoricalParams, one weight per value, written freely and updated by Bayes' rule, with marginals and conditionals by axis; and Categorical, the view its toDensity() returns once the weights define a distribution, with probabilities by value and by named event.
 
Component.h
 What a container of several Gaussians needs of each one (decisions.md [component-first]): the Component concept, ComponentTraits with the log-density read without a check, the weighted collapse of several components into one, and the type of one component's marginal, and their specializations for Gaussian and for the square-root form, SqrtGaussian.
 
Conditionals.h
 What the Rao-Blackwellized states share (decisions.md [rao-blackwellized-core], [rb-particle-filter]): the SharedCovariance and PerPointCovariance forms, BlockSplit, which divides a state into the block fixed at points and the Gaussian rest, Conditionals, the Gaussians over the rest stored in either form, the collapse of points and conditionals into one Gaussian, and the conditioning of the rest on a drawn block.
 
ContinuousTimeMarkovChain.h
 The continuous-time chain on a discrete space: ContinuousTimeMarkovChain, built from a generator of rates, from independent chains on the axes of a product, as persistent, or from mean dwell times and exit weights; its transition over an interval as a MarkovChain, through the matrix exponential; predict() over an interval; and stationary(), its stationary distribution (decisions.md [emissions]).
 
Divergence.h
 Divergences between distributions (decisions.md [divergences]): Kullback-Leibler, Bhattacharyya, Hellinger, Jensen-Shannon, and 2-Wasserstein, in closed form between two Gaussians or two Categoricals and by MonteCarlo estimate otherwise; kullbackLeiblerCollapseBounds(), how far a Gaussian mixture or a hybrid state is from its moment-matched Gaussian; GroundMetric for the Wasserstein distance's units; and expectedSquaredError() about a known truth.
 
Fitting.h
 Fitting a Gaussian mixture by expectation-maximization: fitMixture() over particles, over a mixture's components (hierarchical EM, a mixture reduction), or over particles seeded from a mixture, with FitOptions and the MixtureFit result.
 
Gamma.h
 Gamma: independent Gamma distributions on the coordinates, with the exponential and chi-squared as special cases and a parameterization by mean and standard deviation, and its draws; and GammaError, why parameters fail to define one.
 
Gaussian.h
 The Gaussian: its parameters GaussianParams, the Gaussian that evaluates the density, read from them by toDensity() (decisions.md [params-and-density]), and the GaussianMarginal view from marginal<Path>() (decisions.md [density-names]), with conditional<Path>(), insert() and erase() on a resizable block, the repair of a covariance that fails to factorize by a Repair such as roots::ridge(), and the exact confidence regions.
 
GaussianForm.h
 What the four forms of the Gaussian share (decisions.md [gaussian-forms], [form-densities]): the GaussianForm concept and the isInfoForm<> and isSqrtForm<> traits; FormGaussian, the read-only density view that the square-root and information forms' parameters return from toDensity(), with its moments(), marginals, drawSamples(), and drawSamplesWithLogDensity(); and toGaussian(), which converts any form to the covariance form.
 
GridGaussian.h
 Grids of points and the state over them (decisions.md [rb-point-mass], [rao-blackwellized-core]): GridAxis and GridCells for a regular grid, PointCells for given points, PointGrid with regularGrid() and pointGrid() for fixed points of one block with optional cell covariances, and GridGaussianParams, the live cells with their probabilities and a Gaussian or a hybrid of Gaussians over the rest each, which prunes and subdivides, the point-mass filters' state, with its density GridGaussian, which gives the collapse.
 
Hybrid.h
 The hybrid state of a discrete mode and a component per mode (decisions.md [imm], [component-first]): Hybrid, with its collapse into one component, whole or grouped by a mode axis, its view as a mixture, its marginal, a MixtureMarginal over the modes [element-marginals], and its ComponentTraits and internal::ElementsOf, which make a hybrid state a component in its own right, so a Mixture of hybrids is the state of a mixture of interacting multiple model filters [filters-and-recursions]; and the HybridGaussian alias for the hybrid of Gaussians, the interacting multiple model filter's state.
 
InfoGaussian.h
 The information form of the Gaussian (decisions.md [gaussian-forms]): its parameters InfoGaussianParams, which holds the precision and the information vector about a reference value; its factor operations, addInfo(), multiply(), marginal<Path>(), and conditional<Path>(); and toInfo(), which converts any form to it.
 
KernelDensity.h
 KernelDensity: the Gaussian kernel density estimate over a ParticleSet, the read-only view that ParticleSet::toDensity() returns, with its draws.
 
Mixture.h
 The mixture: the parameters MixtureParams of weighted components of one type (decisions.md [component-first], [params-and-density]), with its components added, removed, merged, split, truncated, and reweighted, and the MixtureLineage it keeps through those for the mixture smoother [smoothing]; the Mixture that evaluates the density, read from them by toDensity(); the MixtureMarginal view from marginal<Path>(), a range over the components' marginals [element-marginals], which a Hybrid's marginal is too; the draws from a mixture of Gaussians; and the GaussianMixtureParams and GaussianMixture aliases for the mixture of Gaussians, the spelling for the common case.
 
Moments.h
 Moments: the mean and covariance that a Gaussian carries and that a mixture or a sample set is moment-matched to, with MomentsError and the ScalarOf alias.
 
Params.h
 Params and Density: the traits that pair a distribution's parameters with its density, the type that evaluates it (decisions.md [params-and-density]).
 
ParticleGaussian.h
 The state of a Rao-Blackwellized particle filter (decisions.md [rb-particle-filter]): ParticleGaussianParams, weighted particles for one block with a Gaussian or a hybrid of Gaussians over the rest each, built by particleGaussian() or drawn from a joint Gaussian by drawParticleGaussian(), and its density ParticleGaussian, which gives the collapse.
 
ParticleSet.h
 The particle set: ParticleSet, the weighted samples, with resampling, upkeep of weights and particles, insert() and erase() on a resizable block, and a kernel bandwidth; its marginal view ParticleSetMarginal; and Silverman's bandwidth.
 
Product.h
 Product: the product of independent densities, each on its own block of a space, built with on<Path>() or onEach<Path>() or from Factors (decisions.md [product-factors]), with marginals and conditionals that work factor by factor, and its draws; EachRepetition; the HasLogDensity and ProductFactor concepts.
 
Roots.h
 Square roots of a covariance (decisions.md [sigma-point-axes]): the Axes and Repair concepts that a root of the user's own meets [user-extension-points], the library's axes roots::cholesky(), roots::pivoted(), roots::principal(), roots::symmetric(), and roots::along(), the repair roots::ridge(), the flat list of fallbacks that axes which can fail take, and roots::squareRoot() and roots::squareRootWithReport(), which take a root by them.
 
SampleSet.h
 SampleSet: a matrix whose columns are samples in a space, which the samplers return and the unscented transform uses for its sigma points, and SampleSetMap and ConstSampleSetMap, the same layout over memory the matrix does not own, which ParticleSet and the other containers return over their allocators' buffers [allocation].
 
Sampling.h
 Drawing samples: SamplesWithLogDensity and SampleWithLogDensity, the Gaussian draws drawSamples(), drawSamplesWithLogDensity(), and drawSample() and drawSampleWithLogDensity(), the one-at-a-time draws that allocate nothing for a bounded space [allocation], and the internal standard normal and uniform draws.
 
SqrtGaussian.h
 The square-root form of the Gaussian (decisions.md [gaussian-forms]): its parameters SqrtGaussianParams, which holds a mean and a lower-triangular root of the covariance, its marginal<Path>() by triangularization, and toSqrt(), which converts any form to it.
 
SqrtInfoGaussian.h
 The square-root information form of the Gaussian (decisions.md [gaussian-forms]): its parameters SqrtInfoGaussianParams, which holds an upper-triangular root of the precision and the whitened offset of the mean from a reference value; multiply(), marginal<Path>(), and conditional<Path>(), each a triangularization of a stacked data array; and toSqrtInfo(), which converts any form to it.
 
Statistics.h
 Weighted statistics over points, all in internal, which the containers of weighted elements (GaussianMixtureParams, ParticleSet, the Rao-Blackwellized states) call: the weighted covariance, weighted moments with a tangent-space mean in a nonlinear space, taken one point at a time so that they allocate nothing sized by the count [allocation], the moment-matched mixture of Gaussians, and the effective sample size, the moments and the effective sample size also under an execution policy.
 
StudentT.h
 StudentT: the multivariate Student-t, a Gaussian with heavier tails, built by create() from a location, scale matrix, and degrees of freedom, with its marginals, conditionals, and draws; and StudentTError, why those fail to define one.
 
Uniform.h
 Uniform: the uniform distribution over a box, with the box taken from a space of Periodic coordinates or given to create(), which checks it, and its draws; and UniformError, why bounds fail to define one.
 
UniformMixture.h
 uniformComponents(): equal-weight Gaussian components on a regular grid that approximate a Uniform, alone or as factors of a Product whose other factors are Gaussian [uniform-mixtures], given one at a time as a UniformGrid, which GaussianMixtureParams::assign() takes.
 
Upkeep.h
 Upkeep (decisions.md [upkeep], [rao-blackwellized-core]): the actions Resample, Roughen, PruneBelow, PruneTail, PruneToSize, Subdivide, FloorModes, and RepairCovariance, the triggers When, WhenEss, and WhenSize that run them, the Sequence that runs them all, and None, which a caller applies to a filter's state between steps or gives the filter to run by maintain().