OpenKalman
Public Member Functions | List of all members
OpenKalman::internal::LinearTransformBase< Derived > Struct Template Reference
Inheritance diagram for OpenKalman::internal::LinearTransformBase< Derived >:
Inheritance graph
[legend]
Collaboration diagram for OpenKalman::internal::LinearTransformBase< Derived >:
Collaboration graph
[legend]

Public Member Functions

template<typename InputDist , typename... Ts, std::enable_if_t< gaussian_distribution< InputDist > and(tuple_like< Ts > and ...), int > = 0>
auto operator() (const InputDist &x, const Ts &...ts) const
 Perform one or more consecutive linear(ized) transforms. More...
 
template<typename InputDist , typename Trans , typename ... NoiseDists, std::enable_if_t<(gaussian_distribution< InputDist > and ... and gaussian_distribution< NoiseDists >) and linearized_function< Trans, 1 > and std::is_invocable_v< Trans, typename DistributionTraits< InputDist >::Mean, typename DistributionTraits< NoiseDists >::Mean... >, int > = 0>
auto operator() (const InputDist &x, const Trans &g, const NoiseDists &...ns) const
 Perform a linear(ized) transform from one statistical distribution to another. More...
 
template<typename InputDist , typename... Ts, std::enable_if_t< gaussian_distribution< InputDist > and(tuple_like< Ts > and ...), int > = 0>
auto transform_with_cross_covariance (const InputDist &x, const Ts &...ts) const
 Perform one or more consecutive linear(ized) transforms, also returning the cross-covariance. More...
 
template<typename InputDist , typename Trans , typename ... NoiseDists, std::enable_if_t<(gaussian_distribution< InputDist > and ... and gaussian_distribution< NoiseDists >) and linearized_function< Trans, 1 > and std::is_invocable_v< Trans, typename DistributionTraits< InputDist >::Mean, typename DistributionTraits< NoiseDists >::Mean... >, int > = 0>
auto transform_with_cross_covariance (const InputDist &x, const Trans &g, const NoiseDists &...ns) const
 Perform a linear(ized) transform, also returning the cross-covariance. More...
 
- Public Member Functions inherited from OpenKalman::internal::TransformBase< Derived >
template<typename InputDist , typename T , typename... Ts, std::enable_if_t< distribution< InputDist > and(tuple_like< T > and ... and tuple_like< Ts >), int > = 0>
auto operator() (const InputDist &x, const T &t, const Ts &...ts) const
 Perform one or more consecutive transforms. More...
 
template<typename InputDist , typename T , typename... Ts, std::enable_if_t< distribution< InputDist > and(tuple_like< T > and ... and tuple_like< Ts >), int > = 0>
auto transform_with_cross_covariance (const InputDist &x, const T &t, const Ts &...ts) const
 Perform one or more consecutive transforms, also returning the cross-covariance. More...
 

Member Function Documentation

◆ operator()() [1/2]

template<typename Derived>
template<typename InputDist , typename... Ts, std::enable_if_t< gaussian_distribution< InputDist > and(tuple_like< Ts > and ...), int > = 0>
auto OpenKalman::internal::LinearTransformBase< Derived >::operator() ( const InputDist &  x,
const Ts &...  ts 
) const
inline

Perform one or more consecutive linear(ized) transforms.

Template Parameters
InputDistThe prior distribution.
TsA list of tuple-like structures, each containing arguments to a transform. These arguments each include a tests and zero or more noise distributions.
Returns
The posterior distribution.

◆ operator()() [2/2]

template<typename Derived>
template<typename InputDist , typename Trans , typename ... NoiseDists, std::enable_if_t<(gaussian_distribution< InputDist > and ... and gaussian_distribution< NoiseDists >) and linearized_function< Trans, 1 > and std::is_invocable_v< Trans, typename DistributionTraits< InputDist >::Mean, typename DistributionTraits< NoiseDists >::Mean... >, int > = 0>
auto OpenKalman::internal::LinearTransformBase< Derived >::operator() ( const InputDist &  x,
const Trans &  g,
const NoiseDists &...  ns 
) const
inline

Perform a linear(ized) transform from one statistical distribution to another.

Template Parameters
InputDistThe prior distribution.
TransThe linear or linearized tests on which the transform is based (e.g., LinearTransformation).
NoiseDistsZero or more noise distributions.
Returns
The posterior distribution.

◆ transform_with_cross_covariance() [1/2]

template<typename Derived>
template<typename InputDist , typename... Ts, std::enable_if_t< gaussian_distribution< InputDist > and(tuple_like< Ts > and ...), int > = 0>
auto OpenKalman::internal::LinearTransformBase< Derived >::transform_with_cross_covariance ( const InputDist &  x,
const Ts &...  ts 
) const
inline

Perform one or more consecutive linear(ized) transforms, also returning the cross-covariance.

Template Parameters
InputDistThe prior distribution.
TsA list of tuple-like structures, each containing arguments to a transform. These arguments each include a tests and zero or more noise distributions.
Returns
A tuple containing the posterior distribution and the cross-covariance.

◆ transform_with_cross_covariance() [2/2]

template<typename Derived>
template<typename InputDist , typename Trans , typename ... NoiseDists, std::enable_if_t<(gaussian_distribution< InputDist > and ... and gaussian_distribution< NoiseDists >) and linearized_function< Trans, 1 > and std::is_invocable_v< Trans, typename DistributionTraits< InputDist >::Mean, typename DistributionTraits< NoiseDists >::Mean... >, int > = 0>
auto OpenKalman::internal::LinearTransformBase< Derived >::transform_with_cross_covariance ( const InputDist &  x,
const Trans &  g,
const NoiseDists &...  ns 
) const
inline

Perform a linear(ized) transform, also returning the cross-covariance.

Template Parameters
InputDistThe prior distribution.
TransThe linear or linearized tests on which the transform is based (e.g., LinearTransformation).
NoiseDistsZero or more noise distributions.
Returns
A tuple comprising the posterior distribution and the cross-covariance.

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