|
EmrysFilter 0.1.0
State estimation utilities in C++23 using Eigen
|
The axes and repairs, each made by its factory (decisions.md [policy-factories]), and the roots taken by them: cholesky(), pivoted(), principal(), symmetric(), along(), ridge(), squareRoot(), and squareRootWithReport(). More...
Classes | |
| struct | NoReport |
| The report of axes or a repair with nothing to say, as Cholesky's: it either took the root or failed. More... | |
| struct | ClampReport |
| The report of Pivoted, Principal, and Symmetric: how many pivots or eigenvalues were below zero and taken as zero, which only rounding should give a covariance. More... | |
| struct | RidgeReport |
| The report of a Ridge: the ridge \( \delta \) it added to the diagonal. More... | |
| struct | Cholesky |
Cholesky axes: the lower Cholesky factor \( L \), \( L L^T = P \), by Eigen's LLT, which fails on a covariance that is not positive definite. More... | |
| struct | Pivoted |
| Pivoted axes: \( \Pi^T L D^{1/2} \) from Eigen's pivoted LDL decomposition \( P = \Pi^T L D L^T \Pi \), with a negative pivot, which rounding can give a singular matrix, taken as zero. More... | |
| struct | Principal |
| Principal axes: \( U \Lambda^{1/2} \), the eigenvectors of \( P = U \Lambda U^T \) scaled by the roots of their eigenvalues, largest first, with a negative eigenvalue taken as zero, so that it never fails. More... | |
| struct | Symmetric |
| Symmetric axes: the principal square root \( P^{1/2} = U \Lambda^{1/2} U^T \), the one symmetric positive semidefinite root, with a negative eigenvalue taken as zero, so that it never fails. More... | |
| struct | Along |
| Axes along a direction: a root whose first column is parallel to \( d \), so that a sigma-point rule puts its first pair of points on the line through the mean along \( d \), as a split or a probe of the nonlinearity along \( d \) needs (decisions.md [splitting-hooks]). More... | |
| struct | Ridge |
| The ridge repair: the Gershgorin ridge of decisions.md [covariance-repair], added to the diagonal of a covariance whose root failed so that the root can be retried. More... | |
| struct | WithFallbacks |
| Axes that can fail, followed by their fallbacks, tried in order (decisions.md [sigma-point-axes]): a repair, which retries Head on the covariance it repairs, or other axes, which take the root themselves. More... | |
| struct | RootWithReport |
| A root and the report of the axes that took it, from squareRootWithReport(). More... | |
| struct | RootFailure |
| Why squareRootWithReport() failed, and what each entry tried did. More... | |
Typedefs | |
| template<typename Derived> | |
| using | RootMatrix = internal::SquareMatrixOf<Derived> |
| The type of a root of the covariance or factor Derived: square, with a row and a column per row of it and its bounds, so that a bounded matrix allocates nothing [allocation]. | |
| using | DefaultAxes = WithFallbacks<Cholesky, Pivoted> |
| The axes every root the library takes uses unless told otherwise, cholesky(pivoted()): the Cholesky factor of a positive definite covariance, and the pivoted root of any other, so it never fails and never repairs (decisions.md [sigma-point-axes]). | |
Functions | |
| template<typename... Fallbacks> | |
| constexpr auto | cholesky (Fallbacks... fallbacks) |
| template<typename... Fallbacks> | |
| constexpr auto | pivoted (Fallbacks... fallbacks) |
| template<typename... Fallbacks> | |
| constexpr auto | principal (Fallbacks... fallbacks) |
| template<typename... Fallbacks> | |
| constexpr auto | symmetric (Fallbacks... fallbacks) |
| template<typename Derived, typename... Fallbacks> | |
| auto | along (Eigen::MatrixBase< Derived > const &direction, Fallbacks... fallbacks) |
| template<double Relative = 1.0, double Absolute = 0.0> | |
| constexpr Ridge< Relative, Absolute > | ridge () |
| template<typename Head, typename First, typename... Rest> | |
| constexpr WithFallbacks< Head, First, Rest... > | withFallbacks (Head axes, First first, Rest... rest) |
| template<Axes A, typename Derived> | |
| auto | squareRoot (A const &axes, Eigen::MatrixBase< Derived > const &cov) |
| template<Axes A, typename Derived> | |
| auto | squareRootWithReport (A const &axes, Eigen::MatrixBase< Derived > const &cov) |
The axes and repairs, each made by its factory (decisions.md [policy-factories]), and the roots taken by them: cholesky(), pivoted(), principal(), symmetric(), along(), ridge(), squareRoot(), and squareRootWithReport().