EmrysFilter 0.1.0
State estimation utilities in C++23 using Eigen
Loading...
Searching...
No Matches
Emrys::methods Namespace Reference

The transform methods and the sigma-point rules, each made by its factory (decisions.md [policy-factories], [method-per-measurement]): linearized(), unscented(), cubature(), sphericalSimplex(), gaussHermite(), and iterated(). More...

Classes

struct  Linearized
 Linearized method: \( \bar y = f(\mu) \) and \( \Sigma_{yy} = \sum_i J_i \Sigma_i J_i^T \), with the Jacobians \( J_i \) of f at the input means. More...
struct  Unscented
 Unscented method: \( 2L + 1 \) sigma points over the joint input space of dimension \( L \), spread by \( \lambda = \alpha^2 (L + \kappa) - L \). More...
struct  FourthMomentUnscented
 Unscented method with \( \alpha = 1 \), \( \beta = 0 \), and \( \kappa = 3 - L \) over \( L \) coordinates, so that \( L + \lambda = 3 \): the points sit at \( \sqrt 3 \) standard deviations along each column of the root whatever \( L \) is, and their fourth moment along each column is a Gaussian's, 3. More...
struct  Cubature
 Cubature method: the \( 2L \) points \( \mu \boxplus \pm \sqrt{L} \, S_j \) over the joint input space of dimension \( L \), for each column \( S_j \) of a root of the joint covariance, equally weighted by \( 1 / (2L) \), with no center point and no parameter. More...
struct  SphericalSimplex
 Spherical simplex method: \( L + 2 \) points over the joint input space of dimension \( L \), the mean with weight centerWeight \( W_0 \) and \( L + 1 \) points of weight \( (1 - W_0) / (L + 1) \) on a sphere of radius \( \sqrt{L / (1 - W_0)} \) about it, in the coordinates of a root of the joint covariance. More...
struct  GaussHermite
 Gauss-Hermite method: the product rule of Order points per coordinate over the joint input space of dimension \( L \), \( \mathrm{Order}^L \) points in the coordinates of a root of the joint covariance. More...
struct  Spread
 A sigma-point rule spread by axes of its own (decisions.md [sigma-point-axes]): Rule's unit points and weights, an UnscentedRule or a PointSet, carried into the input by the root A takes (Axes), in place of the default, roots::cholesky(roots::pivoted()). More...
struct  Iterated
 Iterated method, for a measurement update: the update of Method relinearized with respect to its own posterior, with the prior held fixed, until the mean stops moving. More...

Functions

constexpr Linearized linearized ()
template<double Alpha = 1.0, double Beta = 2.0, double Kappa = 0.0>
constexpr Unscented< Alpha, Beta, Kappa > unscented ()
constexpr FourthMomentUnscented fourthMomentUnscented ()
constexpr Cubature cubature ()
template<double CenterWeight = 0.0>
constexpr SphericalSimplex< CenterWeight > sphericalSimplex ()
template<int Order = 3>
constexpr GaussHermite< Order > gaussHermite ()
template<typename Rule, typename A>
constexpr Spread< Rule, A > spread (Rule rule, A axes)
template<RealScalar Scalar = double, typename Method = Linearized>
Iterated< Method, Scalar > iterated (Method method={}, IteratedOptions< Scalar > options={})

Detailed Description

The transform methods and the sigma-point rules, each made by its factory (decisions.md [policy-factories], [method-per-measurement]): linearized(), unscented(), cubature(), sphericalSimplex(), gaussHermite(), and iterated().

The types beside them name a method where a type is needed, as a filter's template argument.