template<typename Scalar, typename Index = std::ptrdiff_t>
eckit::maths::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

template<typename Scalar, typename Index>
eckit::maths::Matrix<Scalar, Index>::Matrix(void)

template<typename Scalar, typename Index> template<typename T0, typename T1>
eckit::maths::Matrix<Scalar, Index>::Matrix(const T0& x, const T1& y)

template<typename Scalar, typename Index>
eckit::maths::Matrix<Scalar, Index>::Matrix(const std::initializer_list<std::initializer_list<scalar>>& list)

template<typename Scalar, typename Index> template<typename OtherDerived>
eckit::maths::Matrix<Scalar, Index>::Matrix(const Eigen::MatrixBase<OtherDerived>& other)

template<typename Scalar, typename Index> template<typename OtherDerived>
Matrix& eckit::maths::Matrix<Scalar, Index>::operator=(const Eigen::MatrixBase<OtherDerived>& other)

This website is beyond its original expiry date and the content may be out of date. The site owner has been notified and may choose to extend the expiry date and remove this banner. If you have any questions about this, please visit our support portal.