OpenKalman
Classes | Namespaces | Macros | Functions
default-overloads.hpp File Reference

A header file defining Eigen3 as the default interface. More...

#include <type_traits>
Include dependency graph for default-overloads.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  OpenKalman::Matrix< RowCoefficients, ColumnCoefficients, NestedMatrix >
 A matrix with typed rows and columns. More...
 
struct  OpenKalman::Mean< RowCoefficients, NestedMatrix >
 A set of one or more column vectors, each representing a statistical mean. More...
 
struct  OpenKalman::EuclideanMean< RowCoefficients, NestedMatrix >
 Similar to a Mean, but the coefficients are transformed into Euclidean space, based on their type. More...
 
struct  OpenKalman::Covariance< StaticDescriptor, NestedMatrix >
 A self-adjoint Covariance matrix. More...
 
struct  OpenKalman::SquareRootCovariance< StaticDescriptor, NestedMatrix >
 The upper or lower triangle Cholesky factor (square root) of a covariance matrix. More...
 

Namespaces

 OpenKalman
 The root namespace for OpenKalman.
 

Functions

template<typename RowCoefficients , typename ColumnCoefficients = RowCoefficients, typename ... Args, std::enable_if_t<(sizeof...(Args) > 0>
auto OpenKalman::make_matrix (const Args...args)
 
template<typename ... Args, std::enable_if_t<(sizeof...(Args) > 0>
auto OpenKalman::make_matrix (const Args ... args)
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. More...
 
template<typename Scalar , typename RowCoefficients , typename ColumnCoefficients = RowCoefficients, std::enable_if_t< values::number< Scalar > and fixed_pattern< RowCoefficients > and fixed_pattern< ColumnCoefficients >, int > = 0>
auto OpenKalman::make_matrix ()
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. More...
 
template<typename StaticDescriptor , typename ... Args, std::enable_if_t< fixed_pattern< StaticDescriptor > and(sizeof...(Args) > 0>
auto OpenKalman::make_mean (const Args ... args)
 
template<typename ... Args, std::enable_if_t<(sizeof...(Args) > 0>
auto OpenKalman::make_mean (const Args ... args)
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. More...
 
template<typename Scalar , typename StaticDescriptor , std::size_t cols = 1, std::enable_if_t< values::number< Scalar > and fixed_pattern< StaticDescriptor >, int > = 0>
auto OpenKalman::make_mean ()
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. More...
 
template<typename StaticDescriptor , typename ... Args, std::enable_if_t<(sizeof...(Args) > 0>
auto OpenKalman::make_euclidean_mean (const Args ... args)
 
template<typename ... Args, std::enable_if_t<(sizeof...(Args) > 0>
auto OpenKalman::make_euclidean_mean (const Args ... args)
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. More...
 
template<typename Scalar , typename StaticDescriptor , std::size_t cols = 1, std::enable_if_t< values::number< Scalar > and fixed_pattern< StaticDescriptor >, int > = 0>
auto OpenKalman::make_euclidean_mean ()
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. More...
 
template<typename StaticDescriptor , TriangleType triangle_type, typename ... Args, std::enable_if_t< fixed_pattern< StaticDescriptor > and(values::number< Args > and ...) and(triangle_type==TriangleType::lower or triangle_type==TriangleType::upper) and(sizeof...(Args) > 0>
auto OpenKalman::make_covariance (const Args ... args)
 
template<typename StaticDescriptor , typename ... Args, std::enable_if_t< fixed_pattern< StaticDescriptor > and(values::number< Args > and ...) and(sizeof...(Args) > 0>
auto OpenKalman::make_covariance (const Args ... args)
 
template<typename ... Args, std::enable_if_t<(sizeof...(Args) > 0>
auto OpenKalman::make_covariance (const Args ... args)
 
template<typename StaticDescriptor , TriangleType triangle_type, typename Arg , std::enable_if_t< fixed_pattern< StaticDescriptor > and typed_matrix_nestable< Arg > and square_shaped< Arg >, int > = 0>
auto OpenKalman::make_covariance ()
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. More...
 
template<typename StaticDescriptor , typename Arg , std::enable_if_t<(covariance_nestable< Arg > or typed_matrix_nestable< Arg >) and square_shaped< Arg >, int > = 0>
auto OpenKalman::make_covariance ()
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. More...
 
template<typename StaticDescriptor , TriangleType triangle_type = TriangleType::lower, typename ... Args, std::enable_if_t< fixed_pattern< StaticDescriptor > and(values::number< Args > and ...) and(triangle_type==TriangleType::lower or triangle_type==TriangleType::upper) and(sizeof...(Args) > 0>
auto OpenKalman::make_square_root_covariance (const Args ... args)
 
template<TriangleType triangle_type = TriangleType::lower, typename ... Args, std::enable_if_t<(sizeof...(Args) > 0>
auto OpenKalman::make_square_root_covariance (const Args ... args)
 
template<typename StaticDescriptor , TriangleType triangle_type, typename Arg , std::enable_if_t< fixed_pattern< StaticDescriptor > and typed_matrix_nestable< Arg > and square_shaped< Arg >, int > = 0>
auto OpenKalman::make_square_root_covariance ()
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. More...
 
template<typename ... Args, std::enable_if_t<(sizeof...(Args) > 0>
 OpenKalman::Matrix (const Args ...) -> Matrix< Dimensions< sizeof...(Args)>, Axis, Eigen3::eigen_matrix_t< std::common_type_t< Args... >, sizeof...(Args), 1 >>
 
template<typename ... Args, std::enable_if_t<(sizeof...(Args) > 0>
 OpenKalman::Mean (const Args ...) -> Mean< Dimensions< sizeof...(Args)>, Eigen3::eigen_matrix_t< std::common_type_t< Args... >, sizeof...(Args), 1 >>
 If the arguments are a sequence of scalars, deduce a single-column mean with all Axis coefficients.
 
template<typename ... Args, std::enable_if_t<(sizeof...(Args) > 0>
 OpenKalman::EuclideanMean (const Args ...) -> EuclideanMean< OpenKalman::Dimensions< sizeof...(Args)>, Eigen3::eigen_matrix_t< std::common_type_t< Args... >, sizeof...(Args), 1 >>
 If the arguments are a sequence of scalars, construct a single-column Euclidean mean.
 
template<typename ... Args, std::enable_if_t<(values::number< Args > and ...) and(sizeof...(Args) > 0>
 OpenKalman::Covariance (const Args &...) -> Covariance< Dimensions< static_cast< std::size_t >(values::sqrt(sizeof...(Args)))>, HermitianAdapter< Eigen3::eigen_matrix_t< std::common_type_t< Args... >, static_cast< std::size_t >(values::sqrt(sizeof...(Args))), static_cast< std::size_t >(values::sqrt(sizeof...(Args)))>>>
 If the arguments are a sequence of scalars, derive a square, self-adjoint matrix.
 
template<typename ... Args, std::enable_if_t<(values::number< Args > and ...) and(sizeof...(Args) > 0>
 OpenKalman::SquareRootCovariance (const Args &...) -> SquareRootCovariance< Dimensions< static_cast< std::size_t >(values::sqrt(sizeof...(Args)))>, TriangularAdapter< Eigen3::eigen_matrix_t< std::common_type_t< Args... >, static_cast< std::size_t >(values::sqrt(sizeof...(Args))), static_cast< std::size_t >(values::sqrt(sizeof...(Args)))>>>
 If the arguments are a sequence of scalars, derive a square, lower triangular matrix.
 

Detailed Description

A header file defining Eigen3 as the default interface.

The definitions in this file are only enabled if Eigen3 is the first-defined interface.