|
EmrysFilter 0.1.0
State estimation utilities in C++23 using Eigen
|
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...
#include <EmrysFilter/Models/Methods.h>
Static Public Member Functions | |
| static constexpr Eigen::Index | pointCount (Eigen::Index n) |
| template<typename Points, typename Weights> | |
| static Eigen::Index | unitPoints (Eigen::Index n, Points &points, Weights &weights) |
| Fills points, \( n \times (n + 2) \), with the center, then the \( n + 1 \) points of the recursion of Julier and Uhlmann (2004), whose coordinate \( j \) is \( -1 / \sqrt{j (j + 1) W_1} \) at points 1 to \( j \), \( j / \sqrt{j (j + 1) W_1} \) at point \( j + 1 \), and zero after, and weights with \( W_0 \) and \( W_1 = (1 - W_0) / (n + 1) \), over \( n > 0 \) coordinates. | |
Static Public Attributes | |
| static constexpr double | centerWeight = CenterWeight |
| CenterWeight | |
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.
The fewest points that match a mean and a covariance, plus the center, for a function too costly to evaluate \( 2L + 1 \) times. The points are not symmetric about the mean, so odd moments of the input are not matched as the symmetric sets match them.
The spherical simplex set of Julier (2003), by the construction of Julier andUhlmann (2004), which places all but the center at one distance from it, \( \sqrt{L / (1 - W_0)} \). No free description of the construction has been read, and the original has not been. The output mean is a tangent-space mean about the center's output (decisions.md [sigma-point-sets]). Its parameter is a compile-time constant, as Unscented's are.
| CenterWeight | \( W_0 \), the center point's weight, in \( [0, 1) \) |
|
inlinestaticnodiscardconstexpr |
|
inlinestatic |
Fills points, \( n \times (n + 2) \), with the center, then the \( n + 1 \) points of the recursion of Julier and Uhlmann (2004), whose coordinate \( j \) is \( -1 / \sqrt{j (j + 1) W_1} \) at points 1 to \( j \), \( j / \sqrt{j (j + 1) W_1} \) at point \( j + 1 \), and zero after, and weights with \( W_0 \) and \( W_1 = (1 - W_0) / (n + 1) \), over \( n > 0 \) coordinates.