Class template Dune::XT::LA::MatrixInterface

Inherits from Dune::XT::LA::ContainerInterface.

template<class Traits, class ScalarImp>
class Dune::XT::LA::MatrixInterface : public ContainerInterface<TraitsImp, ScalarImp>

CRTP base interface for matrix containers, providing common matrix operations and norms.

inline size_t Dune::XT::LA::MatrixInterface::rows() const

\ {

Have to be implemented by a derived class in addition to the ones required by ContainerInterface!

inline size_t Dune::XT::LA::MatrixInterface::cols() const

No documentation provided.

inline void Dune::XT::LA::MatrixInterface::add_to_entry(const size_t ii, const size_t jj, const ScalarType &value)

No documentation provided.

inline void Dune::XT::LA::MatrixInterface::set_entry(const size_t ii, const size_t jj, const ScalarType &value)

No documentation provided.

inline ScalarType Dune::XT::LA::MatrixInterface::get_entry(const size_t ii, const size_t jj) const

No documentation provided.

inline void Dune::XT::LA::MatrixInterface::clear_row(const size_t ii)

No documentation provided.

inline void Dune::XT::LA::MatrixInterface::clear_col(const size_t jj)

No documentation provided.

inline void Dune::XT::LA::MatrixInterface::unit_row(const size_t ii)

No documentation provided.

inline void Dune::XT::LA::MatrixInterface::unit_col(const size_t jj)

No documentation provided.

inline bool Dune::XT::LA::MatrixInterface::valid() const

Checks entries for inf or nan.

:returns: false if any entry is inf or nan, else true

virtual derived_type Dune::XT::LA::MatrixInterface::operator*(const derived_type &other) const

No documentation provided.

virtual derived_type Dune::XT::LA::MatrixInterface::operator+(const derived_type &other) const

No documentation provided.

virtual derived_type Dune::XT::LA::MatrixInterface::operator-(const derived_type &other) const

No documentation provided.

virtual derived_type &Dune::XT::LA::MatrixInterface::operator+=(const derived_type &other)

No documentation provided.

virtual derived_type &Dune::XT::LA::MatrixInterface::operator-=(const derived_type &other)

No documentation provided.

virtual RealType Dune::XT::LA::MatrixInterface::sup_norm() const

No documentation provided.

derived_type Dune::XT::LA::MatrixInterface::transposed() const

No documentation provided.

virtual size_t Dune::XT::LA::MatrixInterface::non_zeros() const

Returns the number of entries in the sparsity pattern of the matrix.

This is mainly useful for sparse matrices and returns rows() times cols() for dense matrices.

Note

Some implementations do not report the correct number here, so use and interpret only if you know what you are doing!

virtual SparsityPatternDefault Dune::XT::LA::MatrixInterface::pattern(const bool prune = false, const int eps = <recovery-expr>()) const

Computes the sparsity pattern of the matrix. This is mainly useful for sparse matrices and returns a full pattern for dense matrices

:param prune: If true, treats all entries smaller than eps as zero and does not include these indices in the returned pattern

virtual derived_type Dune::XT::LA::MatrixInterface::pruned(const int eps = <recovery-expr>()) const

Returns a pruned variant of this matrix. This is mainly useful for sparse matrices and returns a matrix that should be very close to this matrix, except for very small values, which are set to zero and the entries of which are removed from the sparsity pattern.

See also: pattern

:param eps: Is forwarded to pattern(true, eps)

virtual bool Dune::XT::LA::MatrixInterface::almost_equal(const derived_type &other, const ScalarType epsilon = <recovery-expr>()) const

No documentation provided.

template<>
~MatrixInterface<TraitsImp, ScalarImp>() override = default

No documentation provided.

const Backends Dune::XT::LA::MatrixInterface::vector_type

No documentation provided.

const bool Dune::XT::LA::MatrixInterface::sparse

No documentation provided.

type Dune::XT::LA::MatrixInterface::BaseType

No documentation provided.

type Dune::XT::LA::MatrixInterface::ScalarType

No documentation provided.

type Dune::XT::LA::MatrixInterface::RealType

No documentation provided.

type Dune::XT::LA::MatrixInterface::MutexesType

No documentation provided.

template<class XX, class YY>
inline void Dune::XT::LA::MatrixInterface::mv(const VectorInterface<XX, ScalarType> &xx, VectorInterface<YY, ScalarType> &yy) const

No documentation provided.

template<class YY, class XX>
inline void Dune::XT::LA::MatrixInterface::mtv(const VectorInterface<YY, ScalarType> &yy, VectorInterface<XX, ScalarType> &xx) const

No documentation provided.

template<class XX>
typename XX::derived_type Dune::XT::LA::MatrixInterface::mv(const VectorInterface<XX, ScalarType> &xx) const

\ }

Provided by the interface for convenience.

Note

Those marked with vitual should be overriden by any devired class that can do better. \ {

template<class YY>
typename YY::derived_type Dune::XT::LA::MatrixInterface::mtv(const VectorInterface<YY, ScalarType> &yy) const

No documentation provided.

template<class XX>
typename XX::derived_type Dune::XT::LA::MatrixInterface::operator*(const VectorInterface<XX, ScalarType> &xx) const

No documentation provided.

template<class MM>
derived_type Dune::XT::LA::MatrixInterface::operator*(const MatrixInterface<MM, ScalarType> &other) const

No documentation provided.

template<class MM>
derived_type Dune::XT::LA::MatrixInterface::operator+(const MatrixInterface<MM, ScalarType> &other) const

No documentation provided.

template<class MM>
derived_type Dune::XT::LA::MatrixInterface::operator-(const MatrixInterface<MM, ScalarType> &other) const

No documentation provided.

template<class MM>
derived_type &Dune::XT::LA::MatrixInterface::operator+=(const MatrixInterface<MM, ScalarType> &other)

No documentation provided.

template<class MM>
derived_type &Dune::XT::LA::MatrixInterface::operator-=(const MatrixInterface<MM, ScalarType> &other)

No documentation provided.

template<class DuneDenseMatrixImp>
void Dune::XT::LA::MatrixInterface::copy_to_densematrix(DuneDenseMatrixImp &ret) const

\ }

template<int ROWS, int COLS>
explicit operator FieldMatrix<ScalarType, ROWS, COLS>() const

No documentation provided.