|
EmrysFilter 0.1.0
State estimation utilities in C++23 using Eigen
|
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={}) |
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.