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

An argument of transform() that is uncertain: something with a mean, a space, and either a covariance, whose lower triangle covarianceLower() gives, or a lower-triangular root \( S \) of it, \( S S^T = \Sigma \), which root() gives. More...

#include <EmrysFilter/Models/Linearization.h>

Concept definition

template<typename T>
concept UncertainInput = requires(T const & input) {
typename T::Scalar;
typename T::SpaceType;
input.mean();
input.space();
input.valueDimension();
input.differenceDimension();
} && (requires(T const & input) { input.covarianceLower(); } || requires(T const & input) { input.root(); })
An argument of transform() that is uncertain: something with a mean, a space, and either a covariance...
Definition Linearization.h:43

Detailed Description

An argument of transform() that is uncertain: something with a mean, a space, and either a covariance, whose lower triangle covarianceLower() gives, or a lower-triangular root \( S \) of it, \( S S^T = \Sigma \), which root() gives.

A GaussianParams, a Gaussian, and a GaussianMarginal give the covariance; a SqrtGaussianParams and a SqrtGaussian give the root, which the sigma-point methods spread their points by as it is (Transform::root()), and whose covariance is formed only where a method needs it. The information forms are not inputs, since their mean fails where the precision is singular: convert one with toSqrt() or toGaussian(), which report that failure.