#include <eckit/maths/MatrixLapack.h>
template<typename Scalar, typename Index = std:: ptrdiff_t>
Matrix class
Matrix class, with internal Column-Major storage ordering.
This class is inherited from Eigen's matrix class Eigen::ColMajor is also Eigen's default (recommended) storage ordering. Furthermore it is directly compatible with Fortran matrix manipulation routines
Public types
- using MapType = Matrix
- using ConstMapType = MapType
Constructors, destructors, conversion operators
- Matrix(void)
-
template<typename T0, typename T1>Matrix(const T0& x, const T1& y)
-
Matrix(const std::
initializer_list<std:: initializer_list<scalar>>& list) -
template<typename OtherDerived>Matrix(const Eigen::MatrixBase<OtherDerived>& other)
- Matrix() defaulted
-
template<typename T0, typename T1>Matrix(const T0& nr, const T1& nc)
-
template<typename T0, typename T1>Matrix(Scalar* data, const T0& nr, const T1& nc)
- Matrix(const Matrix& other)
-
Matrix(const std::
initializer_list<std:: initializer_list<Scalar>>& list) - ~Matrix()
- UNARY_OPERATOR_Scalar(+) UNARY_OPERATOR_Scalar(-
Public functions
-
template<typename OtherDerived>auto operator=(const Eigen::MatrixBase<OtherDerived>& other) -> Matrix&
- auto noalias() -> Matrix&
- void resize(Index nr, Index nc)
- auto operator=(const Matrix& other) -> Matrix&
- auto data() -> Scalar*
- auto data() const -> const Scalar*
- auto size() const -> Index
- auto rows() const -> Index
- auto cols() const -> Index
-
template<typename T>auto operator[](const T& i) -> Scalar&
-
template<typename T>auto operator[](const T& i) const -> const Scalar&
-
template<typename T>auto operator()(const T& i) -> Scalar&
-
template<typename T>auto operator()(const T& i) const -> const Scalar&
-
template<typename T0, typename T1>auto operator()(const T0& i, const T1& j) -> Scalar&
-
template<typename T0, typename T1>auto operator()(const T0& i, const T1& j) const -> const Scalar&
-
template<typename T>auto row(const T& i) const -> Matrix
-
template<typename T>auto col(const T& j) const -> Matrix
- auto inverse() const -> Matrix
- auto transpose() const -> Matrix
- auto determinant() const -> Scalar
- auto minor(const T0& row, const T1& col) const -> T1 Matrix
Friends
-
template<typename S, typename I>auto operator<<(std::
ostream& os, const Matrix<S, I>& v) -> std:: ostream&
Function documentation
#include <eckit/maths/MatrixEigen.h>
template<typename Scalar, typename Index>
eckit:: maths:: Matrix<Scalar, Index>:: Matrix(void)
#include <eckit/maths/MatrixEigen.h>
template<typename Scalar, typename Index>
template<typename T0, typename T1>
eckit:: maths:: Matrix<Scalar, Index>:: Matrix(const T0& x,
const T1& y)
#include <eckit/maths/MatrixEigen.h>
template<typename Scalar, typename Index>
eckit:: maths:: Matrix<Scalar, Index>:: Matrix(const std:: initializer_list<std:: initializer_list<scalar>>& list)
#include <eckit/maths/MatrixEigen.h>
template<typename Scalar, typename Index>
template<typename OtherDerived>
eckit:: maths:: Matrix<Scalar, Index>:: Matrix(const Eigen::MatrixBase<OtherDerived>& other)
#include <eckit/maths/MatrixEigen.h>
template<typename Scalar, typename Index>
template<typename OtherDerived>
Matrix& eckit:: maths:: Matrix<Scalar, Index>:: operator=(const Eigen::MatrixBase<OtherDerived>& other)