OpenKalman
Static Public Member Functions | List of all members
OpenKalman::CubaturePoints Struct Reference

Implementation of a cubature points transform. More...

#include <CubaturePoints.hpp>

Static Public Member Functions

template<typename... Dist, std::enable_if_t<(gaussian_distribution< Dist > and ...) and(sizeof...(Dist) > 0>
static auto sample_points (const Dist &...ds)
 Calculate the scaled sample points, given a prior distribution and noise terms. More...
 
template<std::size_t dim, typename YMeans >
static auto weighted_means (YMeans &&y_means)
 Calculate the weighted average of posterior means for each sample point. More...
 
template<std::size_t dim, typename InputDist , bool return_cross = false, typename X , typename Y , std::enable_if_t< typed_matrix< X > and typed_matrix< Y > and(index_dimension_of< X, 1 >::value==index_dimension_of< Y, 1 >::value) and(index_dimension_of< X, 1 >::value==dim *2) and compares_with< vector_space_descriptor_of_t< X, 0 >, typename DistributionTraits< InputDist >::StaticDescriptor >, int > = 0>
static auto covariance (const X &x_deviations, const Y &y_deviations)
 

Detailed Description

Implementation of a cubature points transform.

This is as implemented in I. Arasaratnam & S. Haykin, Cubature Kalman Filters, IEEE Transactions on Automatic Control, vol. 54, pp. 1254-1269, 2009.

Note
This class has only static members, and is not to be instantiated.

Member Function Documentation

◆ sample_points()

template<typename... Dist, std::enable_if_t<(gaussian_distribution< Dist > and ...) and(sizeof...(Dist) > 0>
static auto OpenKalman::CubaturePoints::sample_points ( const Dist &...  ds)
inlinestatic

Calculate the scaled sample points, given a prior distribution and noise terms.

The mean of the sample points is effectively translated the origin.

Template Parameters
DistThe prior distribution and any optional noise distributions.
Returns
A tuple of sample point matrices, one matrix for each input and noise distribution. Each column of these matrices corresponds to a sample point.

◆ weighted_means()

template<std::size_t dim, typename YMeans >
static auto OpenKalman::CubaturePoints::weighted_means ( YMeans &&  y_means)
inlinestatic

Calculate the weighted average of posterior means for each sample point.

Template Parameters
dimThe total number of dimensions of all inputs.
ArgA matrix in which each column corresponds to a mean for each sample point.
Parameters
y_means
Returns

The documentation for this struct was generated from the following file: