|
EmrysFilter 0.1.0
State estimation utilities in C++23 using Eigen
|
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. More...
#include <concepts>#include <expected>#include <random>#include <utility>#include <EmrysFilter/Core/ChiSquared.h>#include <EmrysFilter/Core/Macros.h>#include <EmrysFilter/Core/Math.h>#include <EmrysFilter/Distributions/Gaussian.h>#include <EmrysFilter/Distributions/SampleSet.h>#include <EmrysFilter/Distributions/Sampling.h>#include <EmrysFilter/Core/Stamp.h>#include <EmrysFilter/Spaces/Indexing.h>#include <EmrysFilter/Spaces/Reset.h>#include <EmrysFilter/Spaces/Space.h>Go to the source code of this file.
Classes | |
| class | Emrys::FormGaussian< Params_ > |
| The density of a Gaussian in a square-root or information form: a read-only view. More... | |
Concepts | |
| concept | Emrys::GaussianForm |
| A Gaussian in any of its four forms (decisions.md [gaussian-forms]): GaussianParams, SqrtGaussianParams, InfoGaussianParams, or SqrtInfoGaussianParams, or a GaussianMarginal, the covariance form's marginal, so that a marginal of any form's density is a GaussianForm [form-densities]. | |
Functions | |
| template<GaussianForm G> | |
| std::expected< GaussianParams< typename G::SpaceType, typename G::Scalar >, GaussianError > | Emrys::toGaussian (G const &form) |
| template<typename Params_, std::uniform_random_bit_generator G> | |
| SampleSet< typename Params_::SpaceType, typename Params_::Scalar > | Emrys::drawSamples (FormGaussian< Params_ > const &gaussian, Eigen::Index n, G &rng) |
| template<typename Params_, std::uniform_random_bit_generator G> | |
| Moments< typenameParams_::SpaceType, typenameParams_::Scalar >::VectorType | Emrys::drawSample (FormGaussian< Params_ > const &gaussian, G &rng) |
| template<typename Params_, std::uniform_random_bit_generator G> | |
| SamplesWithLogDensity< typename Params_::SpaceType, typename Params_::Scalar > | Emrys::drawSamplesWithLogDensity (FormGaussian< Params_ > const &gaussian, Eigen::Index n, G &rng) |
| template<typename Params_, std::uniform_random_bit_generator G> | |
| SampleWithLogDensity< typename Params_::SpaceType, typename Params_::Scalar > | Emrys::drawSampleWithLogDensity (FormGaussian< Params_ > const &gaussian, G &rng) |
Variables | |
| template<GaussianForm G> | |
| constexpr bool | Emrys::isInfoForm = G::IsInfoForm |
| Whether the GaussianForm G holds the precision, as InfoGaussianParams and SqrtInfoGaussianParams do, rather than the covariance. | |
| template<GaussianForm G> | |
| constexpr bool | Emrys::isSqrtForm = G::IsSqrtForm |
| Whether the GaussianForm G holds a triangular root, as SqrtGaussianParams and SqrtInfoGaussianParams do, rather than a whole matrix. | |
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.
Gaussian.h holds the covariance form, and SqrtGaussian.h, InfoGaussian.h, and SqrtInfoGaussian.h the other three, each with the conversion to it. Read SqrtGaussian.h next.