12 #include <Eigen/Dense> 16 template <
typename T, std::
size_t ROWS, std::
size_t COLS>
20 r.
asEigen() = asEigen().template cast<float>();
24 template <
typename T, std::
size_t ROWS, std::
size_t COLS>
29 r.
asEigen() = asEigen().template cast<double>();
33 template <
typename T, std::
size_t ROWS, std::
size_t COLS>
37 if constexpr (ROWS == COLS)
44 throw std::invalid_argument(
45 "llt_solve(): only available for square matrices.");
48 template <
typename T, std::
size_t ROWS, std::
size_t COLS>
52 if constexpr (ROWS == COLS)
59 throw std::invalid_argument(
60 "lu_solve(): only available for square matrices.");
A compile-time fixed-size numeric matrix container.
CMatrixFixed< T, ROWS, 1 > llt_solve(const CMatrixFixed< T, ROWS, 1 > &b) const
Solves the linear system Ax=b, returns x, with A this symmetric matrix.
This base provides a set of functions for maths stuff.
CMatrixFixed< T, ROWS, 1 > lu_solve(const CMatrixFixed< T, ROWS, 1 > &b) const
Solves the linear system Ax=b, returns x, with A this asymmetric matrix.
CMatrixFixed< float, ROWS, COLS > cast_float() const
EIGEN_MAP asEigen()
Get as an Eigen-compatible Eigen::Map object.
CMatrixFixed< double, ROWS, COLS > cast_double() const