|
EmrysFilter 0.1.0
State estimation utilities in C++23 using Eigen
|
The covariance reset (decisions.md [covariance-reset]): hasIdentityReset<>, resetJacobian(), and resetCovariance(), which carry a covariance from the tangent space at a value to the one at that value moved by a step, block by block, and compile to nothing on a space whose every block moves its differences unchanged. More...
#include <cstddef>#include <tuple>#include <type_traits>#include <utility>#include <Eigen/LU>#include <EmrysFilter/Core/Macros.h>#include <EmrysFilter/Core/Math.h>#include <EmrysFilter/Core/Multiply.h>#include <EmrysFilter/Core/Solve.h>#include <EmrysFilter/Spaces/Composite.h>#include <EmrysFilter/Spaces/Space.h>Go to the source code of this file.
Functions | |
| template<Space S, typename XDerived, typename DDerived> | |
| auto | Emrys::resetJacobian (S const &space, Eigen::MatrixBase< XDerived > const &x, Eigen::MatrixBase< DDerived > const &d) |
| template<Space S, typename XDerived, typename DDerived, typename CovDerived> | |
| void | Emrys::resetCovariance (S const &space, Eigen::MatrixBase< XDerived > const &x, Eigen::MatrixBase< DDerived > const &d, Eigen::MatrixBase< CovDerived > const &cov) |
| Carries the covariance cov from the tangent space at x to the one at \( x \boxplus d \), in place: \( P \leftarrow G P G^T \), with \( G \) the reset Jacobian of resetJacobian() (decisions.md [covariance-reset]). | |
Variables | |
| template<typename S> | |
| constexpr bool | Emrys::hasIdentityReset = internal::identityResetOf<S>() |
| Whether the reset Jacobian of S is the identity, so that a covariance needs no change when its mean moves (decisions.md [covariance-reset]). | |
The covariance reset (decisions.md [covariance-reset]): hasIdentityReset<>, resetJacobian(), and resetCovariance(), which carry a covariance from the tangent space at a value to the one at that value moved by a step, block by block, and compile to nothing on a space whose every block moves its differences unchanged.
The Kalman update and the Gaussian conditional call it (Condition.h, Indexing.h), and so does the smoother (GaussianHistory.h); the information forms of the Gaussian move their reference through the inverse Jacobians (internal::resetInfoAt(), [gaussian-forms]). Read UnitQuaternion.h next, for a space that supplies its reset in closed form.