Rodin/Math/Matrix.h file

Dense matrix classes and scalar aliases.

This file provides Rodin matrix types with Eigen storage and expression support. Matrices are stored in column-major order by default and support both dynamic and fixed sizes.

Namespaces

namespace Eigen
Eigen interoperability declarations for Rodin mathematical types.
namespace Eigen::internal
Eigen traits and evaluators for Rodin matrices and vectors.
namespace Rodin
The Rodin library for finite element methods and shape optimization.
namespace Rodin::Math
Spatial arithmetic, matrix operations, and sparse linear algebra.
namespace Rodin::FormLanguage
Typed expressions for constructing variational forms.

Classes

template<class Scalar>
struct Eigen::internal::traits<Rodin::Math::Matrix<Scalar>>
Retains Eigen map and reference support for dynamic Rodin matrices.
template<class Scalar, size_t Rows, size_t Cols>
struct Eigen::internal::traits<Rodin::Math::FixedSizeMatrix<Scalar, Rows, Cols>>
Retains Eigen map and reference support for fixed-size Rodin matrices.
template<class Scalar>
struct Eigen::internal::eval<Rodin::Math::Matrix<Scalar>, Dense>
Retains an already evaluated dynamic matrix without copying it.
template<class Scalar, size_t Rows, size_t Cols>
struct Eigen::internal::eval<Rodin::Math::FixedSizeMatrix<Scalar, Rows, Cols>, Dense>
Retains an already evaluated fixed-size matrix without copying it.
template<class Scalar>
struct Eigen::internal::evaluator<Rodin::Math::Matrix<Scalar>>
Evaluates dynamic Rodin matrices through their Eigen storage.
template<class Scalar, size_t Rows, size_t Cols>
struct Eigen::internal::evaluator<Rodin::Math::FixedSizeMatrix<Scalar, Rows, Cols>>
Evaluates fixed-size Rodin matrices through their Eigen storage.
template<class ScalarType>
class Rodin::Math::Matrix
Dynamic-size dense matrix.
template<class ScalarType, size_t Rows, size_t Cols>
class Rodin::Math::FixedSizeMatrix
Compile-time fixed-size dense matrix.
template<class Number, int Rows, int Cols, int Options, int MaxRows, int MaxCols>
struct Rodin::FormLanguage::Traits<Eigen::Matrix<Number, Rows, Cols, Options, MaxRows, MaxCols>>
Scalar type of a native Eigen dense matrix, including fixed and bounded types.
template<class Number>
struct Rodin::FormLanguage::Traits<Math::Matrix<Number>>
Type traits for a dense Math::Matrix, exposing the scalar type.
template<class Number, size_t Rows, size_t Cols>
struct Rodin::FormLanguage::Traits<Math::FixedSizeMatrix<Number, Rows, Cols>>
Scalar type of a fixed-size Rodin dense matrix.