Class template Dune::XT::LA::CommonSparseOrDenseMatrix<DenseMatrixImp, SparseMatrixImp>

template<class DenseMatrixImp, class SparseMatrixImp>
class Dune::XT::LA::CommonSparseOrDenseMatrix<DenseMatrixImp, SparseMatrixImp>

A matrix implementation checking whether the matrix is sparse enough to use sparse matrix operations.

Method Dune::XT::LA::CommonSparseOrDenseMatrix::operator=

template<class DenseMatrixImp, class SparseMatrixImp>
ThisType &Dune::XT::LA::CommonSparseOrDenseMatrix<DenseMatrixImp, SparseMatrixImp>::operator=(const ThisType &other)

No documentation provided.

Method Dune::XT::LA::CommonSparseOrDenseMatrix::operator=

template<class DenseMatrixImp, class SparseMatrixImp>
ThisType &Dune::XT::LA::CommonSparseOrDenseMatrix<DenseMatrixImp, SparseMatrixImp>::operator=(const DenseMatrixType &other)

No documentation provided.

Method Dune::XT::LA::CommonSparseOrDenseMatrix::copy

template<class DenseMatrixImp, class SparseMatrixImp>
inline ThisType Dune::XT::LA::CommonSparseOrDenseMatrix<DenseMatrixImp, SparseMatrixImp>::copy() const

\ {

Required by ContainerInterface.

Method Dune::XT::LA::CommonSparseOrDenseMatrix::scal

template<class DenseMatrixImp, class SparseMatrixImp>
inline void Dune::XT::LA::CommonSparseOrDenseMatrix<DenseMatrixImp, SparseMatrixImp>::scal(const ScalarType &alpha)

No documentation provided.

Method Dune::XT::LA::CommonSparseOrDenseMatrix::axpy

template<class DenseMatrixImp, class SparseMatrixImp>
inline void Dune::XT::LA::CommonSparseOrDenseMatrix<DenseMatrixImp, SparseMatrixImp>::axpy(const ScalarType &alpha, const ThisType &xx)

No documentation provided.

Method Dune::XT::LA::CommonSparseOrDenseMatrix::has_equal_shape

template<class DenseMatrixImp, class SparseMatrixImp>
inline bool Dune::XT::LA::CommonSparseOrDenseMatrix<DenseMatrixImp, SparseMatrixImp>::has_equal_shape(const ThisType &other) const

No documentation provided.

Method Dune::XT::LA::CommonSparseOrDenseMatrix::rows

template<class DenseMatrixImp, class SparseMatrixImp>
inline size_t Dune::XT::LA::CommonSparseOrDenseMatrix<DenseMatrixImp, SparseMatrixImp>::rows() const

\ }

Required by MatrixInterface.

\ {

Method Dune::XT::LA::CommonSparseOrDenseMatrix::cols

template<class DenseMatrixImp, class SparseMatrixImp>
inline size_t Dune::XT::LA::CommonSparseOrDenseMatrix<DenseMatrixImp, SparseMatrixImp>::cols() const

No documentation provided.

Method Dune::XT::LA::CommonSparseOrDenseMatrix::add_to_entry

template<class DenseMatrixImp, class SparseMatrixImp>
inline void Dune::XT::LA::CommonSparseOrDenseMatrix<DenseMatrixImp, SparseMatrixImp>::add_to_entry(const size_t rr, const size_t cc, const ScalarType &value)

No documentation provided.

Method Dune::XT::LA::CommonSparseOrDenseMatrix::get_entry

template<class DenseMatrixImp, class SparseMatrixImp>
inline ScalarType Dune::XT::LA::CommonSparseOrDenseMatrix<DenseMatrixImp, SparseMatrixImp>::get_entry(const size_t rr, const size_t cc) const

No documentation provided.

Method Dune::XT::LA::CommonSparseOrDenseMatrix::set_entry

template<class DenseMatrixImp, class SparseMatrixImp>
inline void Dune::XT::LA::CommonSparseOrDenseMatrix<DenseMatrixImp, SparseMatrixImp>::set_entry(const size_t rr, const size_t cc, const ScalarType value)

No documentation provided.

Method Dune::XT::LA::CommonSparseOrDenseMatrix::clear_row

template<class DenseMatrixImp, class SparseMatrixImp>
inline void Dune::XT::LA::CommonSparseOrDenseMatrix<DenseMatrixImp, SparseMatrixImp>::clear_row(const size_t rr)

No documentation provided.

Method Dune::XT::LA::CommonSparseOrDenseMatrix::clear_col

template<class DenseMatrixImp, class SparseMatrixImp>
inline void Dune::XT::LA::CommonSparseOrDenseMatrix<DenseMatrixImp, SparseMatrixImp>::clear_col(const size_t cc)

No documentation provided.

Method Dune::XT::LA::CommonSparseOrDenseMatrix::unit_row

template<class DenseMatrixImp, class SparseMatrixImp>
inline void Dune::XT::LA::CommonSparseOrDenseMatrix<DenseMatrixImp, SparseMatrixImp>::unit_row(const size_t rr)

No documentation provided.

Method Dune::XT::LA::CommonSparseOrDenseMatrix::unit_col

template<class DenseMatrixImp, class SparseMatrixImp>
inline void Dune::XT::LA::CommonSparseOrDenseMatrix<DenseMatrixImp, SparseMatrixImp>::unit_col(const size_t cc)

No documentation provided.

Method Dune::XT::LA::CommonSparseOrDenseMatrix::valid

template<class DenseMatrixImp, class SparseMatrixImp>
bool Dune::XT::LA::CommonSparseOrDenseMatrix<DenseMatrixImp, SparseMatrixImp>::valid() const

No documentation provided.

Method Dune::XT::LA::CommonSparseOrDenseMatrix::non_zeros

template<class DenseMatrixImp, class SparseMatrixImp>
size_t Dune::XT::LA::CommonSparseOrDenseMatrix<DenseMatrixImp, SparseMatrixImp>::non_zeros() const final

No documentation provided.

Method Dune::XT::LA::CommonSparseOrDenseMatrix::pattern

template<class DenseMatrixImp, class SparseMatrixImp>
SparsityPatternDefault Dune::XT::LA::CommonSparseOrDenseMatrix<DenseMatrixImp, SparseMatrixImp>::pattern(const bool prune = false, const EpsType eps = Common::FloatCmp::DefaultEpsilon<ScalarType>::value()) const override

No documentation provided.

Method Dune::XT::LA::CommonSparseOrDenseMatrix::sparse

template<class DenseMatrixImp, class SparseMatrixImp>
bool Dune::XT::LA::CommonSparseOrDenseMatrix<DenseMatrixImp, SparseMatrixImp>::sparse() const

No documentation provided.

Method Dune::XT::LA::CommonSparseOrDenseMatrix::sparse_matrix

template<class DenseMatrixImp, class SparseMatrixImp>
SparseMatrixType &Dune::XT::LA::CommonSparseOrDenseMatrix<DenseMatrixImp, SparseMatrixImp>::sparse_matrix()

No documentation provided.

Method Dune::XT::LA::CommonSparseOrDenseMatrix::sparse_matrix

template<class DenseMatrixImp, class SparseMatrixImp>
const SparseMatrixType &Dune::XT::LA::CommonSparseOrDenseMatrix<DenseMatrixImp, SparseMatrixImp>::sparse_matrix() const

No documentation provided.

Method Dune::XT::LA::CommonSparseOrDenseMatrix::dense_matrix

template<class DenseMatrixImp, class SparseMatrixImp>
DenseMatrixType &Dune::XT::LA::CommonSparseOrDenseMatrix<DenseMatrixImp, SparseMatrixImp>::dense_matrix()

No documentation provided.

Method Dune::XT::LA::CommonSparseOrDenseMatrix::dense_matrix

template<class DenseMatrixImp, class SparseMatrixImp>
const DenseMatrixType &Dune::XT::LA::CommonSparseOrDenseMatrix<DenseMatrixImp, SparseMatrixImp>::dense_matrix() const

No documentation provided.

Method Dune::XT::LA::CommonSparseOrDenseMatrix::rightmultiply

template<class DenseMatrixImp, class SparseMatrixImp>
void Dune::XT::LA::CommonSparseOrDenseMatrix<DenseMatrixImp, SparseMatrixImp>::rightmultiply(const ThisType &other)

No documentation provided.

Method Dune::XT::LA::CommonSparseOrDenseMatrix::operator Dune::DynamicMatrix<Dune::XT::LA::CommonSparseOrDenseMatrix::ScalarType>

explicit operator DynamicMatrix<ScalarType>() const

No documentation provided.

Method Dune::XT::LA::CommonSparseOrDenseMatrix::is_zero

template<class DenseMatrixImp, class SparseMatrixImp>
bool Dune::XT::LA::CommonSparseOrDenseMatrix<DenseMatrixImp, SparseMatrixImp>::is_zero(const ScalarType val, const ScalarType eps) const

No documentation provided.

Constructor Dune::XT::LA::CommonSparseOrDenseMatrix::CommonSparseOrDenseMatrix

template<class DenseMatrixImp, class SparseMatrixImp>
Dune::XT::LA::CommonSparseOrDenseMatrix<DenseMatrixImp, SparseMatrixImp>::CommonSparseOrDenseMatrix(const size_t rr, const size_t cc, const SparsityPatternDefault &patt, const size_t num_mutexes = 1, EpsType eps = Common::FloatCmp::DefaultEpsilon<ScalarType>::value() / 1000.)

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

Constructor Dune::XT::LA::CommonSparseOrDenseMatrix::CommonSparseOrDenseMatrix

template<class DenseMatrixImp, class SparseMatrixImp>
explicit Dune::XT::LA::CommonSparseOrDenseMatrix<DenseMatrixImp, SparseMatrixImp>::CommonSparseOrDenseMatrix(const size_t rr = 0, const size_t cc = 0, const ScalarType &value = ScalarType(0), const size_t num_mutexes = 1, bool use_sparse_if_zero = true, const EpsType eps = Common::FloatCmp::DefaultEpsilon<ScalarType>::value() / 1000.)

No documentation provided.

Constructor Dune::XT::LA::CommonSparseOrDenseMatrix::CommonSparseOrDenseMatrix

template<class DenseMatrixImp, class SparseMatrixImp>
Dune::XT::LA::CommonSparseOrDenseMatrix<DenseMatrixImp, SparseMatrixImp>::CommonSparseOrDenseMatrix(const size_t rr, const size_t cc, const size_t num_mutexes, bool use_sparse = true)

No documentation provided.

Constructor Dune::XT::LA::CommonSparseOrDenseMatrix::CommonSparseOrDenseMatrix

template<class DenseMatrixImp, class SparseMatrixImp>
Dune::XT::LA::CommonSparseOrDenseMatrix<DenseMatrixImp, SparseMatrixImp>::CommonSparseOrDenseMatrix(const ThisType &other)

No documentation provided.

Field Dune::XT::LA::CommonSparseOrDenseMatrix::num_cols_

template<class DenseMatrixImp, class SparseMatrixImp>
size_t Dune::XT::LA::CommonSparseOrDenseMatrix<DenseMatrixImp, SparseMatrixImp>::num_cols_

No documentation provided.

Field Dune::XT::LA::CommonSparseOrDenseMatrix::num_rows_

template<class DenseMatrixImp, class SparseMatrixImp>
size_t Dune::XT::LA::CommonSparseOrDenseMatrix<DenseMatrixImp, SparseMatrixImp>::num_rows_

No documentation provided.

Field Dune::XT::LA::CommonSparseOrDenseMatrix::sparse_

template<class DenseMatrixImp, class SparseMatrixImp>
bool Dune::XT::LA::CommonSparseOrDenseMatrix<DenseMatrixImp, SparseMatrixImp>::sparse_

No documentation provided.

Field Dune::XT::LA::CommonSparseOrDenseMatrix::sparse_matrix_

template<class DenseMatrixImp, class SparseMatrixImp>
SparseMatrixType Dune::XT::LA::CommonSparseOrDenseMatrix<DenseMatrixImp, SparseMatrixImp>::sparse_matrix_

No documentation provided.

Field Dune::XT::LA::CommonSparseOrDenseMatrix::dense_matrix_

template<class DenseMatrixImp, class SparseMatrixImp>
DenseMatrixType Dune::XT::LA::CommonSparseOrDenseMatrix<DenseMatrixImp, SparseMatrixImp>::dense_matrix_

No documentation provided.

Variable Dune::XT::LA::CommonSparseOrDenseMatrix::sparse_limit

template<class DenseMatrixImp, class SparseMatrixImp>
const double Dune::XT::LA::CommonSparseOrDenseMatrix<DenseMatrixImp, SparseMatrixImp>::sparse_limit

No documentation provided.

Type alias Dune::XT::LA::CommonSparseOrDenseMatrix::ThisType

template<class DenseMatrixImp, class SparseMatrixImp>
using Dune::XT::LA::CommonSparseOrDenseMatrix<DenseMatrixImp, SparseMatrixImp>::ThisType = CommonSparseOrDenseMatrix<DenseMatrixImp, SparseMatrixImp>

No documentation provided.

Type alias Dune::XT::LA::CommonSparseOrDenseMatrix::InterfaceType

template<class DenseMatrixImp, class SparseMatrixImp>
using Dune::XT::LA::CommonSparseOrDenseMatrix<DenseMatrixImp, SparseMatrixImp>::InterfaceType = MatrixInterface<internal::CommonSparseOrDenseMatrixTraits<DenseMatrixImp, SparseMatrixImp>, typename SparseMatrixImp::ScalarType>

No documentation provided.

Type alias Dune::XT::LA::CommonSparseOrDenseMatrix::EpsType

template<class DenseMatrixImp, class SparseMatrixImp>
using Dune::XT::LA::CommonSparseOrDenseMatrix<DenseMatrixImp, SparseMatrixImp>::EpsType = typename Traits::EpsType

No documentation provided.

Type alias Dune::XT::LA::CommonSparseOrDenseMatrix::DenseMatrixType

template<class DenseMatrixImp, class SparseMatrixImp>
using Dune::XT::LA::CommonSparseOrDenseMatrix<DenseMatrixImp, SparseMatrixImp>::DenseMatrixType = typename Traits::DenseMatrixType

No documentation provided.

Type alias Dune::XT::LA::CommonSparseOrDenseMatrix::SparseMatrixType

template<class DenseMatrixImp, class SparseMatrixImp>
using Dune::XT::LA::CommonSparseOrDenseMatrix<DenseMatrixImp, SparseMatrixImp>::SparseMatrixType = typename Traits::SparseMatrixType

No documentation provided.

Function template Dune::XT::LA::CommonSparseOrDenseMatrix::CommonSparseOrDenseMatrix

template<class DenseMatrixImp, class SparseMatrixImp>
template<class OtherMatrixType>
explicit Dune::XT::LA::CommonSparseOrDenseMatrix<DenseMatrixImp, SparseMatrixImp>::CommonSparseOrDenseMatrix(const OtherMatrixType &mat, const typename std::enable_if<Common::MatrixAbstraction<OtherMatrixType>::is_matrix, bool>::type prune = true, const EpsType eps_in = Common::FloatCmp::DefaultEpsilon<ScalarType>::value() / 1000., const size_t num_mutexes = 1)

No documentation provided.

Function template Dune::XT::LA::CommonSparseOrDenseMatrix::CommonSparseOrDenseMatrix

template<class DenseMatrixImp, class SparseMatrixImp>
template<class OtherMatrixType>
explicit Dune::XT::LA::CommonSparseOrDenseMatrix<DenseMatrixImp, SparseMatrixImp>::CommonSparseOrDenseMatrix(const OtherMatrixType &mat, const typename std::enable_if<Common::MatrixAbstraction<OtherMatrixType>::is_matrix, bool>::type prune, const size_t num_mutexes)

No documentation provided.

Function template Dune::XT::LA::CommonSparseOrDenseMatrix::mv

template<class DenseMatrixImp, class SparseMatrixImp>
template<class XX, class YY>
inline std::enable_if_t<XT::Common::VectorAbstraction<XX>::is_vector && XT::Common::VectorAbstraction<YY>::is_vector, void> Dune::XT::LA::CommonSparseOrDenseMatrix<DenseMatrixImp, SparseMatrixImp>::mv(const XX &xx, YY &yy) const

Matrix-Vector multiplication for arbitrary vectors that support operator[]

Function template Dune::XT::LA::CommonSparseOrDenseMatrix::mtv

template<class DenseMatrixImp, class SparseMatrixImp>
template<class XX, class YY>
inline std::enable_if_t<XT::Common::VectorAbstraction<XX>::is_vector && XT::Common::VectorAbstraction<YY>::is_vector, void> Dune::XT::LA::CommonSparseOrDenseMatrix<DenseMatrixImp, SparseMatrixImp>::mtv(const XX &xx, YY &yy) const

TransposedMatrix-Vector multiplication for arbitrary vectors that support operator[]

Function template Dune::XT::LA::CommonSparseOrDenseMatrix::copy_to_densematrix

template<class DenseMatrixImp, class SparseMatrixImp>
template<class DuneDenseMatrixImp>
void Dune::XT::LA::CommonSparseOrDenseMatrix<DenseMatrixImp, SparseMatrixImp>::copy_to_densematrix(DuneDenseMatrixImp &ret) const

\ }

Function template Dune::XT::LA::CommonSparseOrDenseMatrix::rightmultiply

template<class DenseMatrixImp, class SparseMatrixImp>
template<class MatrixType>
void Dune::XT::LA::CommonSparseOrDenseMatrix<DenseMatrixImp, SparseMatrixImp>::rightmultiply(const MatrixType &other)

No documentation provided.

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

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

No documentation provided.

Function template Dune::XT::LA::CommonSparseOrDenseMatrix::operator std::unique_ptr<Dune::FieldMatrix<Dune::XT::LA::CommonSparseOrDenseMatrix::ScalarType, value-parameter-1-0, value-parameter-1-1>, std::default_delete<Dune::FieldMatrix<Dune::XT::LA::CommonSparseOrDenseMatrix::ScalarType, value-parameter-1-0, value-parameter-1-1>>>

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

No documentation provided.

Function template Dune::XT::LA::CommonSparseOrDenseMatrix::operator std::unique_ptr<Dune::XT::Common::FieldMatrix<Dune::XT::LA::CommonSparseOrDenseMatrix::ScalarType, value-parameter-1-0, value-parameter-1-1>, std::default_delete<Dune::XT::Common::FieldMatrix<Dune::XT::LA::CommonSparseOrDenseMatrix::ScalarType, value-parameter-1-0, value-parameter-1-1>>>

template<int ROWS, int COLS>
explicit operator unique_ptr<XT::Common::FieldMatrix<ScalarType, ROWS, COLS>>() const

No documentation provided.