Class template Dune::XT::LA::IstlRowMajorSparseMatrix<ScalarImp>

template<class ScalarImp>
class Dune::XT::LA::IstlRowMajorSparseMatrix<ScalarImp>

A sparse matrix implementation of the MatrixInterface using the Dune::BCRSMatrix from dune-istl.

To do

Rename to IstlSparseMatrix

Method Dune::XT::LA::IstlRowMajorSparseMatrix::static_id

template<class ScalarImp>
static std::string Dune::XT::LA::IstlRowMajorSparseMatrix<ScalarImp>::static_id()

No documentation provided.

Method Dune::XT::LA::IstlRowMajorSparseMatrix::operator=

template<class ScalarImp>
ThisType &Dune::XT::LA::IstlRowMajorSparseMatrix<ScalarImp>::operator=(const ThisType &other)

No documentation provided.

Method Dune::XT::LA::IstlRowMajorSparseMatrix::operator=

template<class ScalarImp>
ThisType &Dune::XT::LA::IstlRowMajorSparseMatrix<ScalarImp>::operator=(const BackendType &other)

Note

Does a deep copy.

Method Dune::XT::LA::IstlRowMajorSparseMatrix::backend

template<class ScalarImp>
BackendType &Dune::XT::LA::IstlRowMajorSparseMatrix<ScalarImp>::backend()

\ {

Required by the ProvidesBackend interface.

Method Dune::XT::LA::IstlRowMajorSparseMatrix::backend

template<class ScalarImp>
const BackendType &Dune::XT::LA::IstlRowMajorSparseMatrix<ScalarImp>::backend() const

No documentation provided.

Method Dune::XT::LA::IstlRowMajorSparseMatrix::copy

template<class ScalarImp>
ThisType Dune::XT::LA::IstlRowMajorSparseMatrix<ScalarImp>::copy() const

\ }

Required by ContainerInterface.

\ {

Method Dune::XT::LA::IstlRowMajorSparseMatrix::scal

template<class ScalarImp>
void Dune::XT::LA::IstlRowMajorSparseMatrix<ScalarImp>::scal(const ScalarType &alpha)

No documentation provided.

Method Dune::XT::LA::IstlRowMajorSparseMatrix::axpy

template<class ScalarImp>
void Dune::XT::LA::IstlRowMajorSparseMatrix<ScalarImp>::axpy(const ScalarType &alpha, const ThisType &xx)

No documentation provided.

Method Dune::XT::LA::IstlRowMajorSparseMatrix::has_equal_shape

template<class ScalarImp>
bool Dune::XT::LA::IstlRowMajorSparseMatrix<ScalarImp>::has_equal_shape(const ThisType &other) const

No documentation provided.

Method Dune::XT::LA::IstlRowMajorSparseMatrix::rows

template<class ScalarImp>
inline size_t Dune::XT::LA::IstlRowMajorSparseMatrix<ScalarImp>::rows() const

\ }

Required by MatrixInterface.

\ {

Method Dune::XT::LA::IstlRowMajorSparseMatrix::cols

template<class ScalarImp>
inline size_t Dune::XT::LA::IstlRowMajorSparseMatrix<ScalarImp>::cols() const

No documentation provided.

Method Dune::XT::LA::IstlRowMajorSparseMatrix::mv

template<class ScalarImp>
inline void Dune::XT::LA::IstlRowMajorSparseMatrix<ScalarImp>::mv(const IstlDenseVector<ScalarType> &xx, IstlDenseVector<ScalarType> &yy) const

No documentation provided.

Method Dune::XT::LA::IstlRowMajorSparseMatrix::mtv

template<class ScalarImp>
inline void Dune::XT::LA::IstlRowMajorSparseMatrix<ScalarImp>::mtv(const IstlDenseVector<ScalarType> &xx, IstlDenseVector<ScalarType> &yy) const

No documentation provided.

Method Dune::XT::LA::IstlRowMajorSparseMatrix::add_to_entry

template<class ScalarImp>
void Dune::XT::LA::IstlRowMajorSparseMatrix<ScalarImp>::add_to_entry(const size_t ii, const size_t jj, const ScalarType &value)

No documentation provided.

Method Dune::XT::LA::IstlRowMajorSparseMatrix::set_entry

template<class ScalarImp>
void Dune::XT::LA::IstlRowMajorSparseMatrix<ScalarImp>::set_entry(const size_t ii, const size_t jj, const ScalarType &value)

No documentation provided.

Method Dune::XT::LA::IstlRowMajorSparseMatrix::get_entry

template<class ScalarImp>
ScalarType Dune::XT::LA::IstlRowMajorSparseMatrix<ScalarImp>::get_entry(const size_t ii, const size_t jj) const

No documentation provided.

Method Dune::XT::LA::IstlRowMajorSparseMatrix::clear_row

template<class ScalarImp>
void Dune::XT::LA::IstlRowMajorSparseMatrix<ScalarImp>::clear_row(const size_t ii)

No documentation provided.

Method Dune::XT::LA::IstlRowMajorSparseMatrix::clear_col

template<class ScalarImp>
void Dune::XT::LA::IstlRowMajorSparseMatrix<ScalarImp>::clear_col(const size_t jj)

No documentation provided.

Method Dune::XT::LA::IstlRowMajorSparseMatrix::unit_row

template<class ScalarImp>
void Dune::XT::LA::IstlRowMajorSparseMatrix<ScalarImp>::unit_row(const size_t ii)

No documentation provided.

Method Dune::XT::LA::IstlRowMajorSparseMatrix::unit_col

template<class ScalarImp>
void Dune::XT::LA::IstlRowMajorSparseMatrix<ScalarImp>::unit_col(const size_t jj)

No documentation provided.

Method Dune::XT::LA::IstlRowMajorSparseMatrix::valid

template<class ScalarImp>
bool Dune::XT::LA::IstlRowMajorSparseMatrix<ScalarImp>::valid() const

No documentation provided.

Method Dune::XT::LA::IstlRowMajorSparseMatrix::non_zeros

template<class ScalarImp>
size_t Dune::XT::LA::IstlRowMajorSparseMatrix<ScalarImp>::non_zeros() const final

Warning

Use and interprete with care, since the Dune::BCRSMatrix is known to report strange things here, depending on its state!

Method Dune::XT::LA::IstlRowMajorSparseMatrix::pattern

template<class ScalarImp>
SparsityPatternDefault Dune::XT::LA::IstlRowMajorSparseMatrix<ScalarImp>::pattern(const bool prune = false, const typename Common::FloatCmp::DefaultEpsilon<ScalarType>::Type eps = Common::FloatCmp::DefaultEpsilon<ScalarType>::value()) const final

No documentation provided.

Method Dune::XT::LA::IstlRowMajorSparseMatrix::pruned

template<class ScalarImp>
ThisType Dune::XT::LA::IstlRowMajorSparseMatrix<ScalarImp>::pruned(const typename Common::FloatCmp::DefaultEpsilon<ScalarType>::Type eps = Common::FloatCmp::DefaultEpsilon<ScalarType>::value()) const final

No documentation provided.

Method Dune::XT::LA::IstlRowMajorSparseMatrix::build_sparse_matrix

template<class ScalarImp>
void Dune::XT::LA::IstlRowMajorSparseMatrix<ScalarImp>::build_sparse_matrix(const size_t rr, const size_t cc, const SparsityPatternDefault &patt)

No documentation provided.

Method Dune::XT::LA::IstlRowMajorSparseMatrix::pruned_pattern_from_backend

template<class ScalarImp>
SparsityPatternDefault Dune::XT::LA::IstlRowMajorSparseMatrix<ScalarImp>::pruned_pattern_from_backend(const BackendType &mat, const typename Common::FloatCmp::DefaultEpsilon<ScalarType>::Type eps = Common::FloatCmp::DefaultEpsilon<ScalarType>::value()) const

No documentation provided.

Method Dune::XT::LA::IstlRowMajorSparseMatrix::these_are_valid_indices

template<class ScalarImp>
bool Dune::XT::LA::IstlRowMajorSparseMatrix<ScalarImp>::these_are_valid_indices(const size_t ii, const size_t jj) const

No documentation provided.

Constructor Dune::XT::LA::IstlRowMajorSparseMatrix::IstlRowMajorSparseMatrix

template<class ScalarImp>
Dune::XT::LA::IstlRowMajorSparseMatrix<ScalarImp>::IstlRowMajorSparseMatrix(const size_t rr, const size_t cc, const SparsityPatternDefault &patt, const size_t num_mutexes = 1)

This is the constructor of interest which creates a sparse matrix.

Constructor Dune::XT::LA::IstlRowMajorSparseMatrix::IstlRowMajorSparseMatrix

template<class ScalarImp>
explicit Dune::XT::LA::IstlRowMajorSparseMatrix<ScalarImp>::IstlRowMajorSparseMatrix(const size_t rr = 0, const size_t cc = 0, const size_t num_mutexes = 1)

No documentation provided.

Constructor Dune::XT::LA::IstlRowMajorSparseMatrix::IstlRowMajorSparseMatrix

template<class ScalarImp>
Dune::XT::LA::IstlRowMajorSparseMatrix<ScalarImp>::IstlRowMajorSparseMatrix(const ThisType &other)

No documentation provided.

Constructor Dune::XT::LA::IstlRowMajorSparseMatrix::IstlRowMajorSparseMatrix

template<class ScalarImp>
explicit Dune::XT::LA::IstlRowMajorSparseMatrix<ScalarImp>::IstlRowMajorSparseMatrix(const BackendType &mat, const bool prune = false, const typename Common::FloatCmp::DefaultEpsilon<ScalarType>::Type eps = Common::FloatCmp::DefaultEpsilon<ScalarType>::value(), const size_t num_mutexes = 1)

No documentation provided.

Constructor Dune::XT::LA::IstlRowMajorSparseMatrix::IstlRowMajorSparseMatrix

template<class ScalarImp>
explicit Dune::XT::LA::IstlRowMajorSparseMatrix<ScalarImp>::IstlRowMajorSparseMatrix(BackendType *backend_ptr, const size_t num_mutexes = 1)

Note

Takes ownership of backend_ptr in the sense that you must not delete it afterwards!

Constructor Dune::XT::LA::IstlRowMajorSparseMatrix::IstlRowMajorSparseMatrix

template<class ScalarImp>
explicit Dune::XT::LA::IstlRowMajorSparseMatrix<ScalarImp>::IstlRowMajorSparseMatrix(std::shared_ptr<BackendType> backend_ptr, const size_t num_mutexes = 1)

No documentation provided.

Field Dune::XT::LA::IstlRowMajorSparseMatrix::backend_

template<class ScalarImp>
std::shared_ptr<BackendType> Dune::XT::LA::IstlRowMajorSparseMatrix<ScalarImp>::backend_

No documentation provided.

Field Dune::XT::LA::IstlRowMajorSparseMatrix::mutexes_

template<class ScalarImp>
std::unique_ptr<MutexesType> Dune::XT::LA::IstlRowMajorSparseMatrix<ScalarImp>::mutexes_

No documentation provided.

Type alias Dune::XT::LA::IstlRowMajorSparseMatrix::ThisType

template<class ScalarImp>
using Dune::XT::LA::IstlRowMajorSparseMatrix<ScalarImp>::ThisType = IstlRowMajorSparseMatrix<ScalarImp>

No documentation provided.

Type alias Dune::XT::LA::IstlRowMajorSparseMatrix::InterfaceType

template<class ScalarImp>
using Dune::XT::LA::IstlRowMajorSparseMatrix<ScalarImp>::InterfaceType = MatrixInterface<internal::IstlRowMajorSparseMatrixTraits<ScalarImp>, ScalarImp>

No documentation provided.

Type alias Dune::XT::LA::IstlRowMajorSparseMatrix::Traits

template<class ScalarImp>
using Dune::XT::LA::IstlRowMajorSparseMatrix<ScalarImp>::Traits = typename InterfaceType::Traits

No documentation provided.

Type alias Dune::XT::LA::IstlRowMajorSparseMatrix::MutexesType

template<class ScalarImp>
using Dune::XT::LA::IstlRowMajorSparseMatrix<ScalarImp>::MutexesType = typename Traits::MutexesType

No documentation provided.

Function template Dune::XT::LA::IstlRowMajorSparseMatrix::IstlRowMajorSparseMatrix

template<class ScalarImp>
template<class OtherMatrixType>
explicit Dune::XT::LA::IstlRowMajorSparseMatrix<ScalarImp>::IstlRowMajorSparseMatrix(const OtherMatrixType &mat, const std::enable_if_t<Common::is_matrix<OtherMatrixType>::value, bool> prune = false, const typename Common::FloatCmp::DefaultEpsilon<ScalarType>::Type eps = Common::FloatCmp::DefaultEpsilon<ScalarType>::value(), const size_t num_mutexes = 1)

No documentation provided.

Function template Dune::XT::LA::IstlRowMajorSparseMatrix::mv

template<class ScalarImp>
template<class V1, class V2>
inline std::enable_if_t<XT::Common::is_vector<V1>::value && XT::Common::is_vector<V2>::value && (!is_istl_dense_vector<V1>::value || !is_istl_dense_vector<V2>::value), void> Dune::XT::LA::IstlRowMajorSparseMatrix<ScalarImp>::mv(const V1 &xx, V2 &yy) const

No documentation provided.

Function template Dune::XT::LA::IstlRowMajorSparseMatrix::mtv

template<class ScalarImp>
template<class V1, class V2>
inline std::enable_if_t<XT::Common::is_vector<V1>::value && XT::Common::is_vector<V2>::value && !is_istl_dense_vector<V1>::value, void> Dune::XT::LA::IstlRowMajorSparseMatrix<ScalarImp>::mtv(const V1 &xx, V2 &yy) const

No documentation provided.

Function template Dune::XT::LA::IstlRowMajorSparseMatrix::pruned_pattern

template<class ScalarImp>
template<class OtherMatrixType>
std::enable_if_t<Common::is_matrix<OtherMatrixType>::value, SparsityPatternDefault> Dune::XT::LA::IstlRowMajorSparseMatrix<ScalarImp>::pruned_pattern(const OtherMatrixType &mat, const typename Common::FloatCmp::DefaultEpsilon<ScalarType>::Type eps = Common::FloatCmp::DefaultEpsilon<ScalarType>::value()) const

No documentation provided.