|
EmrysFilter 0.1.0
State estimation utilities in C++23 using Eigen
|
Files | |
| Composite.h | |
| Spaces built from other spaces (decisions.md [sizes-and-dimensions], [several-resizable-blocks]): Composite, which concatenates blocks, and Repeated, which repeats a fixed-size block a run-time number of times. | |
| Coordinates.h | |
| The coordinate types (decisions.md [no-bounded-coordinates]): Linear, plain coordinates, and Periodic, coordinates that wrap at the ends of an interval, with the named angles RadiansPi, Radians2Pi, Degrees180, and Degrees360. | |
| Discrete.h | |
| Discrete spaces (decisions.md [discrete-spaces]): the DiscreteSpace concept; Finite, Named, and DiscreteProduct; and valueOf(), the flat index of a value named by tags. | |
| Indexing.h | |
| What marginals and conditionals are built from: resolving Eigen index sets against a space; the shared implementations of marginal<Path>() and conditional<Path>(); inserting and erasing rows of vectors and symmetric matrices for insert() and erase(); reading a symmetric matrix from its lower triangle; and conditionMoments() and conditionMomentsWithEvidence(), the Gaussian conditioning every Gaussian form calls. | |
| Reset.h | |
| 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. | |
| Space.h | |
| The Space concept and what every continuous space shares (decisions.md [sizes-and-dimensions]): the traits a space exposes, DifferenceSpace, valueDimension(), differenceDimension(), and allowsValueDimension(); ValueVector, DifferenceVector, and DifferenceMatrix, the Eigen types a space sizes; isLinear<> and its parts; writable(); and the free functions plus(), minus(), less(), normalizeValues(), and normalizeDifferences(), which add and subtract where a space has no plus() or minus() of its own [difference-spaces]. | |
| Subspace.h | |
| Subspaces, and growing and shrinking blocks (decisions.md [several-resizable-blocks]). | |
| TagPath.h | |
| Tag paths and the index utilities (decisions.md [tag-addressing], [index-names]): TagPath and TagPaths, and path, a path as a value; on() and onEach(), which place a factor or a matrix by path in a space not yet known [product-factors], or name a path differently; idx() and diffIdx(), which turn a path into Eigen indices from a space's run-time sizes or as compile-time constants; block() and diffBlock(), the block an Eigen vector or matrix has for a path; and zeros(), the vector a function fills block by block. | |
| UnitQuaternion.h | |
| The unit quaternion space (decisions.md [unit-quaternion]): UnitQuaternion, an attitude stored in Eigen::Quaternion's own coefficient order with body-frame rotation vectors as its differences, its exponential and logarithm, the closed-form reset Jacobian of [covariance-reset], and map(), which views an attitude block, such as block<Attitude>(space, x) of a state (TagPath.h), as an Eigen::Quaternion without copying it. | |