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

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

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

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

Method Dune::XT::LA::MatrixInterface::rows

template<class Traits, class ScalarImp>
inline int Dune::XT::LA::MatrixInterface<Traits, ScalarImp>::rows() const

Method Dune::XT::LA::MatrixInterface::cols

template<class Traits, class ScalarImp>
inline int Dune::XT::LA::MatrixInterface<Traits, ScalarImp>::cols() const

No documentation provided.

Method Dune::XT::LA::MatrixInterface::add_to_entry

template<class Traits, class ScalarImp>
inline void Dune::XT::LA::MatrixInterface<Traits, ScalarImp>::add_to_entry(const int ii, const int jj, const ScalarType &value)

No documentation provided.

Method Dune::XT::LA::MatrixInterface::set_entry

template<class Traits, class ScalarImp>
inline void Dune::XT::LA::MatrixInterface<Traits, ScalarImp>::set_entry(const int ii, const int jj, const ScalarType &value)

No documentation provided.

Method Dune::XT::LA::MatrixInterface::get_entry

template<class Traits, class ScalarImp>
inline ScalarType Dune::XT::LA::MatrixInterface<Traits, ScalarImp>::get_entry(const int ii, const int jj) const

No documentation provided.

Method Dune::XT::LA::MatrixInterface::clear_row

template<class Traits, class ScalarImp>
inline void Dune::XT::LA::MatrixInterface<Traits, ScalarImp>::clear_row(const int ii)

No documentation provided.

Method Dune::XT::LA::MatrixInterface::clear_col

template<class Traits, class ScalarImp>
inline void Dune::XT::LA::MatrixInterface<Traits, ScalarImp>::clear_col(const int jj)

No documentation provided.

Method Dune::XT::LA::MatrixInterface::unit_row

template<class Traits, class ScalarImp>
inline void Dune::XT::LA::MatrixInterface<Traits, ScalarImp>::unit_row(const int ii)

No documentation provided.

Method Dune::XT::LA::MatrixInterface::unit_col

template<class Traits, class ScalarImp>
inline void Dune::XT::LA::MatrixInterface<Traits, ScalarImp>::unit_col(const int jj)

No documentation provided.

Method Dune::XT::LA::MatrixInterface::valid

template<class Traits, class ScalarImp>
inline bool Dune::XT::LA::MatrixInterface<Traits, ScalarImp>::valid() const

Checks entries for inf or nan.

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

Method Dune::XT::LA::MatrixInterface::operator*

template<class Traits, class ScalarImp>
virtual derived_type Dune::XT::LA::MatrixInterface<Traits, ScalarImp>::operator*(const derived_type &other) const

No documentation provided.

Method Dune::XT::LA::MatrixInterface::operator+

template<class Traits, class ScalarImp>
virtual derived_type Dune::XT::LA::MatrixInterface<Traits, ScalarImp>::operator+(const derived_type &other) const

No documentation provided.

Method Dune::XT::LA::MatrixInterface::operator-

template<class Traits, class ScalarImp>
virtual derived_type Dune::XT::LA::MatrixInterface<Traits, ScalarImp>::operator-(const derived_type &other) const

No documentation provided.

Method Dune::XT::LA::MatrixInterface::operator+=

template<class Traits, class ScalarImp>
virtual derived_type &Dune::XT::LA::MatrixInterface<Traits, ScalarImp>::operator+=(const derived_type &other)

No documentation provided.

Method Dune::XT::LA::MatrixInterface::operator-=

template<class Traits, class ScalarImp>
virtual derived_type &Dune::XT::LA::MatrixInterface<Traits, ScalarImp>::operator-=(const derived_type &other)

No documentation provided.

Method Dune::XT::LA::MatrixInterface::sup_norm

template<class Traits, class ScalarImp>
virtual RealType Dune::XT::LA::MatrixInterface<Traits, ScalarImp>::sup_norm() const

No documentation provided.

Method Dune::XT::LA::MatrixInterface::transposed

template<class Traits, class ScalarImp>
derived_type Dune::XT::LA::MatrixInterface<Traits, ScalarImp>::transposed() const

No documentation provided.

Method Dune::XT::LA::MatrixInterface::non_zeros

template<class Traits, class ScalarImp>
int Dune::XT::LA::MatrixInterface<Traits, ScalarImp>::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!

Method Dune::XT::LA::MatrixInterface::pattern

template<class Traits, class ScalarImp>
virtual SparsityPatternDefault Dune::XT::LA::MatrixInterface<Traits, ScalarImp>::pattern(const bool prune = false, const int eps) 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

Method Dune::XT::LA::MatrixInterface::pruned

template<class Traits, class ScalarImp>
virtual derived_type Dune::XT::LA::MatrixInterface<Traits, ScalarImp>::pruned(const int eps) 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)

Method Dune::XT::LA::MatrixInterface::almost_equal

template<class Traits, class ScalarImp>
virtual bool Dune::XT::LA::MatrixInterface<Traits, ScalarImp>::almost_equal(const derived_type &other, const ScalarType epsilon) const

No documentation provided.

Destructor Dune::XT::LA::MatrixInterface::~MatrixInterface<Traits, ScalarImp>

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

No documentation provided.

Variable Dune::XT::LA::MatrixInterface::vector_type

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

No documentation provided.

Variable Dune::XT::LA::MatrixInterface::sparse

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

No documentation provided.

Type alias Dune::XT::LA::MatrixInterface::BaseType

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

No documentation provided.

Type alias Dune::XT::LA::MatrixInterface::ScalarType

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

No documentation provided.

Type alias Dune::XT::LA::MatrixInterface::RealType

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

No documentation provided.

Type alias Dune::XT::LA::MatrixInterface::MutexesType

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

No documentation provided.

Function template Dune::XT::LA::MatrixInterface::mv

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

No documentation provided.

Function template Dune::XT::LA::MatrixInterface::mtv

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

No documentation provided.

Function template Dune::XT::LA::MatrixInterface::mv

template<class Traits, class ScalarImp>
template<class XX>
typename XX::derived_type Dune::XT::LA::MatrixInterface<Traits, ScalarImp>::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. \ {

Function template Dune::XT::LA::MatrixInterface::mtv

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

No documentation provided.

Function template Dune::XT::LA::MatrixInterface::operator*

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

No documentation provided.

Function template Dune::XT::LA::MatrixInterface::operator*

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

No documentation provided.

Function template Dune::XT::LA::MatrixInterface::operator+

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

No documentation provided.

Function template Dune::XT::LA::MatrixInterface::operator-

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

No documentation provided.

Function template Dune::XT::LA::MatrixInterface::operator+=

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

No documentation provided.

Function template Dune::XT::LA::MatrixInterface::operator-=

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

No documentation provided.

Function template Dune::XT::LA::MatrixInterface::copy_to_densematrix

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

\ }

Function template Dune::XT::LA::MatrixInterface::operator Dune::FieldMatrix<Dune::XT::LA::MatrixInterface::Traits::ScalarType, value-parameter-1-0, value-parameter-1-1>

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

No documentation provided.