Class template Dune::XT::LA::CommonSparseMatrix<ScalarImp, Common::StorageLayout::csc>

Inherits from Dune::XT::LA::MatrixInterface.

template<class ScalarImp>
class Dune::XT::LA::CommonSparseMatrix<ScalarImp, Common::StorageLayout::csc> : public MatrixInterface<internal::CommonSparseMatrixTraits<ScalarImp, Common::StorageLayout::csc>, ScalarImp>

A sparse matrix implementation of the MatrixInterface with column major memory layout.

Method Dune::XT::LA::CommonSparseMatrix::operator=

template<class ScalarImp>
ThisType &Dune::XT::LA::CommonSparseMatrix<ScalarImp, Common::StorageLayout::csc>::operator=(const ThisType &other)

No documentation provided.

Method Dune::XT::LA::CommonSparseMatrix::deep_copy

template<class ScalarImp>
void Dune::XT::LA::CommonSparseMatrix<ScalarImp, Common::StorageLayout::csc>::deep_copy(const ThisType &other)

No documentation provided.

Method Dune::XT::LA::CommonSparseMatrix::clear

template<class ScalarImp>
void Dune::XT::LA::CommonSparseMatrix<ScalarImp, Common::StorageLayout::csc>::clear()

No documentation provided.

Method Dune::XT::LA::CommonSparseMatrix::copy

template<class ScalarImp>
inline ThisType Dune::XT::LA::CommonSparseMatrix<ScalarImp, Common::StorageLayout::csc>::copy() const

\ {

Required by ContainerInterface.

Method Dune::XT::LA::CommonSparseMatrix::scal

template<class ScalarImp>
inline void Dune::XT::LA::CommonSparseMatrix<ScalarImp, Common::StorageLayout::csc>::scal(const ScalarType &alpha)

No documentation provided.

Method Dune::XT::LA::CommonSparseMatrix::axpy

template<class ScalarImp>
inline void Dune::XT::LA::CommonSparseMatrix<ScalarImp, Common::StorageLayout::csc>::axpy(const ScalarType &alpha, const ThisType &xx)

No documentation provided.

Method Dune::XT::LA::CommonSparseMatrix::has_equal_shape

template<class ScalarImp>
inline bool Dune::XT::LA::CommonSparseMatrix<ScalarImp, Common::StorageLayout::csc>::has_equal_shape(const ThisType &other) const

No documentation provided.

Method Dune::XT::LA::CommonSparseMatrix::rows

template<class ScalarImp>
inline size_t Dune::XT::LA::CommonSparseMatrix<ScalarImp, Common::StorageLayout::csc>::rows() const

\ }

Required by MatrixInterface.

\ {

Method Dune::XT::LA::CommonSparseMatrix::cols

template<class ScalarImp>
inline size_t Dune::XT::LA::CommonSparseMatrix<ScalarImp, Common::StorageLayout::csc>::cols() const

No documentation provided.

Method Dune::XT::LA::CommonSparseMatrix::mv

template<class ScalarImp>
void Dune::XT::LA::CommonSparseMatrix<ScalarImp, Common::StorageLayout::csc>::mv(const CommonSparseVector<ScalarType> &xx, CommonSparseVector<ScalarType> &yy) const

No documentation provided.

Method Dune::XT::LA::CommonSparseMatrix::mtv

template<class ScalarImp>
void Dune::XT::LA::CommonSparseMatrix<ScalarImp, Common::StorageLayout::csc>::mtv(const CommonSparseVector<ScalarType> &xx, CommonSparseVector<ScalarType> &yy) const

No documentation provided.

Method Dune::XT::LA::CommonSparseMatrix::add_to_entry

template<class ScalarImp>
inline void Dune::XT::LA::CommonSparseMatrix<ScalarImp, Common::StorageLayout::csc>::add_to_entry(const size_t rr, const size_t cc, const ScalarType &value)

No documentation provided.

Method Dune::XT::LA::CommonSparseMatrix::get_entry

template<class ScalarImp>
inline ScalarType Dune::XT::LA::CommonSparseMatrix<ScalarImp, Common::StorageLayout::csc>::get_entry(const size_t rr, const size_t cc) const

No documentation provided.

Method Dune::XT::LA::CommonSparseMatrix::set_entry

template<class ScalarImp>
inline void Dune::XT::LA::CommonSparseMatrix<ScalarImp, Common::StorageLayout::csc>::set_entry(const size_t rr, const size_t cc, const ScalarType value)

No documentation provided.

Method Dune::XT::LA::CommonSparseMatrix::start_column

template<class ScalarImp>
inline void Dune::XT::LA::CommonSparseMatrix<ScalarImp, Common::StorageLayout::csc>::start_column()

No documentation provided.

Method Dune::XT::LA::CommonSparseMatrix::end_column

template<class ScalarImp>
inline void Dune::XT::LA::CommonSparseMatrix<ScalarImp, Common::StorageLayout::csc>::end_column()

No documentation provided.

Method Dune::XT::LA::CommonSparseMatrix::push_entry

template<class ScalarImp>
inline void Dune::XT::LA::CommonSparseMatrix<ScalarImp, Common::StorageLayout::csc>::push_entry(const size_t cc, const ScalarType value)

No documentation provided.

Method Dune::XT::LA::CommonSparseMatrix::clear_row

template<class ScalarImp>
inline void Dune::XT::LA::CommonSparseMatrix<ScalarImp, Common::StorageLayout::csc>::clear_row(const size_t rr)

No documentation provided.

Method Dune::XT::LA::CommonSparseMatrix::clear_col

template<class ScalarImp>
inline void Dune::XT::LA::CommonSparseMatrix<ScalarImp, Common::StorageLayout::csc>::clear_col(const size_t cc)

No documentation provided.

Method Dune::XT::LA::CommonSparseMatrix::unit_row

template<class ScalarImp>
inline void Dune::XT::LA::CommonSparseMatrix<ScalarImp, Common::StorageLayout::csc>::unit_row(const size_t rr)

No documentation provided.

Method Dune::XT::LA::CommonSparseMatrix::unit_col

template<class ScalarImp>
inline void Dune::XT::LA::CommonSparseMatrix<ScalarImp, Common::StorageLayout::csc>::unit_col(const size_t cc)

No documentation provided.

Method Dune::XT::LA::CommonSparseMatrix::valid

template<class ScalarImp>
bool Dune::XT::LA::CommonSparseMatrix<ScalarImp, Common::StorageLayout::csc>::valid() const

No documentation provided.

Method Dune::XT::LA::CommonSparseMatrix::non_zeros

template<class ScalarImp>
size_t Dune::XT::LA::CommonSparseMatrix<ScalarImp, Common::StorageLayout::csc>::non_zeros() const final

No documentation provided.

Method Dune::XT::LA::CommonSparseMatrix::pattern

template<class ScalarImp>
SparsityPatternDefault Dune::XT::LA::CommonSparseMatrix<ScalarImp, Common::StorageLayout::csc>::pattern(const bool prune = false, const EpsType eps = Common::FloatCmp::DefaultEpsilon<ScalarType>::value() / 1000.) const override

No documentation provided.

Method Dune::XT::LA::CommonSparseMatrix::rightmultiply

template<class ScalarImp>
void Dune::XT::LA::CommonSparseMatrix<ScalarImp, Common::StorageLayout::csc>::rightmultiply(const ThisType &other)

No documentation provided.

Method Dune::XT::LA::CommonSparseMatrix::entries

template<class ScalarImp>
ScalarType *Dune::XT::LA::CommonSparseMatrix<ScalarImp, Common::StorageLayout::csc>::entries()

No documentation provided.

Method Dune::XT::LA::CommonSparseMatrix::entries

template<class ScalarImp>
const ScalarType *Dune::XT::LA::CommonSparseMatrix<ScalarImp, Common::StorageLayout::csc>::entries() const

No documentation provided.

Method Dune::XT::LA::CommonSparseMatrix::outer_index_ptr

template<class ScalarImp>
size_t *Dune::XT::LA::CommonSparseMatrix<ScalarImp, Common::StorageLayout::csc>::outer_index_ptr()

No documentation provided.

Method Dune::XT::LA::CommonSparseMatrix::outer_index_ptr

template<class ScalarImp>
const size_t *Dune::XT::LA::CommonSparseMatrix<ScalarImp, Common::StorageLayout::csc>::outer_index_ptr() const

No documentation provided.

Method Dune::XT::LA::CommonSparseMatrix::inner_index_ptr

template<class ScalarImp>
size_t *Dune::XT::LA::CommonSparseMatrix<ScalarImp, Common::StorageLayout::csc>::inner_index_ptr()

No documentation provided.

Method Dune::XT::LA::CommonSparseMatrix::inner_index_ptr

template<class ScalarImp>
const size_t *Dune::XT::LA::CommonSparseMatrix<ScalarImp, Common::StorageLayout::csc>::inner_index_ptr() const

No documentation provided.

Method Dune::XT::LA::CommonSparseMatrix::eps

template<class ScalarImp>
const EpsType &Dune::XT::LA::CommonSparseMatrix<ScalarImp, Common::StorageLayout::csc>::eps()

No documentation provided.

Method Dune::XT::LA::CommonSparseMatrix::get_entry_index

template<class ScalarImp>
size_t Dune::XT::LA::CommonSparseMatrix<ScalarImp, Common::StorageLayout::csc>::get_entry_index(const size_t rr, const size_t cc, const bool throw_if_not_in_pattern = true) const

No documentation provided.

Method Dune::XT::LA::CommonSparseMatrix::is_zero

template<class ScalarImp>
bool Dune::XT::LA::CommonSparseMatrix<ScalarImp, Common::StorageLayout::csc>::is_zero(const ScalarType val, const ScalarType eps) const

No documentation provided.

Constructor Dune::XT::LA::CommonSparseMatrix::CommonSparseMatrix

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

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

Constructor Dune::XT::LA::CommonSparseMatrix::CommonSparseMatrix

template<class ScalarImp>
explicit Dune::XT::LA::CommonSparseMatrix<ScalarImp, Common::StorageLayout::csc>::CommonSparseMatrix(const size_t rr = 0, const size_t cc = 0, const ScalarType &value = ScalarType(0), const size_t num_mutexes = 1, const EpsType eps = Common::FloatCmp::DefaultEpsilon<ScalarType>::value() / 1000.)

No documentation provided.

Constructor Dune::XT::LA::CommonSparseMatrix::CommonSparseMatrix

template<class ScalarImp>
Dune::XT::LA::CommonSparseMatrix<ScalarImp, Common::StorageLayout::csc>::CommonSparseMatrix(const size_t rr, const size_t cc, const size_t num_mutexes)

No documentation provided.

Constructor Dune::XT::LA::CommonSparseMatrix::CommonSparseMatrix

template<class ScalarImp>
Dune::XT::LA::CommonSparseMatrix<ScalarImp, Common::StorageLayout::csc>::CommonSparseMatrix(const ThisType &other)

No documentation provided.

Field Dune::XT::LA::CommonSparseMatrix::num_cols_

template<class ScalarImp>
size_t Dune::XT::LA::CommonSparseMatrix<ScalarImp, Common::StorageLayout::csc>::num_cols_

No documentation provided.

Field Dune::XT::LA::CommonSparseMatrix::num_rows_

template<class ScalarImp>
size_t Dune::XT::LA::CommonSparseMatrix<ScalarImp, Common::StorageLayout::csc>::num_rows_

No documentation provided.

Field Dune::XT::LA::CommonSparseMatrix::entries_

template<class ScalarImp>
std::shared_ptr<EntriesVectorType> Dune::XT::LA::CommonSparseMatrix<ScalarImp, Common::StorageLayout::csc>::entries_

No documentation provided.

Field Dune::XT::LA::CommonSparseMatrix::column_pointers_

template<class ScalarImp>
std::shared_ptr<IndexVectorType> Dune::XT::LA::CommonSparseMatrix<ScalarImp, Common::StorageLayout::csc>::column_pointers_

No documentation provided.

Field Dune::XT::LA::CommonSparseMatrix::row_indices_

template<class ScalarImp>
std::shared_ptr<IndexVectorType> Dune::XT::LA::CommonSparseMatrix<ScalarImp, Common::StorageLayout::csc>::row_indices_

No documentation provided.

Field Dune::XT::LA::CommonSparseMatrix::mutexes_

template<class ScalarImp>
std::unique_ptr<MutexesType> Dune::XT::LA::CommonSparseMatrix<ScalarImp, Common::StorageLayout::csc>::mutexes_

No documentation provided.

Field Dune::XT::LA::CommonSparseMatrix::eps_

template<class ScalarImp>
EpsType Dune::XT::LA::CommonSparseMatrix<ScalarImp, Common::StorageLayout::csc>::eps_

No documentation provided.

Type alias Dune::XT::LA::CommonSparseMatrix::ThisType

template<class ScalarImp>
using Dune::XT::LA::CommonSparseMatrix<ScalarImp, Common::StorageLayout::csc>::ThisType = CommonSparseMatrix<ScalarImp, Common::StorageLayout::csc>

No documentation provided.

Type alias Dune::XT::LA::CommonSparseMatrix::InterfaceType

template<class ScalarImp>
using Dune::XT::LA::CommonSparseMatrix<ScalarImp, Common::StorageLayout::csc>::InterfaceType = MatrixInterface<internal::CommonSparseMatrixTraits<ScalarImp, Common::StorageLayout::csc>, ScalarImp>

No documentation provided.

Type alias Dune::XT::LA::CommonSparseMatrix::EntriesVectorType

template<class ScalarImp>
using Dune::XT::LA::CommonSparseMatrix<ScalarImp, Common::StorageLayout::csc>::EntriesVectorType = typename Traits::EntriesVectorType

No documentation provided.

Type alias Dune::XT::LA::CommonSparseMatrix::EpsType

template<class ScalarImp>
using Dune::XT::LA::CommonSparseMatrix<ScalarImp, Common::StorageLayout::csc>::EpsType = typename Traits::EpsType

No documentation provided.

Type alias Dune::XT::LA::CommonSparseMatrix::IndexVectorType

template<class ScalarImp>
using Dune::XT::LA::CommonSparseMatrix<ScalarImp, Common::StorageLayout::csc>::IndexVectorType = typename Traits::IndexVectorType

No documentation provided.

Type alias Dune::XT::LA::CommonSparseMatrix::MutexesType

template<class ScalarImp>
using Dune::XT::LA::CommonSparseMatrix<ScalarImp, Common::StorageLayout::csc>::MutexesType = typename Traits::MutexesType

No documentation provided.

Function template Dune::XT::LA::CommonSparseMatrix::CommonSparseMatrix

template<class ScalarImp>
template<class OtherMatrixType>
explicit Dune::XT::LA::CommonSparseMatrix<ScalarImp, Common::StorageLayout::csc>::CommonSparseMatrix(const OtherMatrixType &mat, const typename std::enable_if<Common::MatrixAbstraction<OtherMatrixType>::is_matrix, bool>::type prune = false, const EpsType eps = Common::FloatCmp::DefaultEpsilon<ScalarType>::value() / 1000., const size_t num_mutexes = 1)

No documentation provided.

Function template Dune::XT::LA::CommonSparseMatrix::CommonSparseMatrix

template<class ScalarImp>
template<class OtherMatrixType>
explicit Dune::XT::LA::CommonSparseMatrix<ScalarImp, Common::StorageLayout::csc>::CommonSparseMatrix(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::CommonSparseMatrix::assign

template<class ScalarImp>
template<class OtherMatrixImp>
typename std::enable_if_t<XT::Common::MatrixAbstraction<OtherMatrixImp>::is_matrix, ThisType> &Dune::XT::LA::CommonSparseMatrix<ScalarImp, Common::StorageLayout::csc>::assign(const OtherMatrixImp &other, const SparsityPatternDefault &pattern)

No documentation provided.

Function template Dune::XT::LA::CommonSparseMatrix::operator=

template<class ScalarImp>
template<class OtherMatrixImp>
typename std::enable_if_t<XT::Common::MatrixAbstraction<OtherMatrixImp>::is_matrix, ThisType> &Dune::XT::LA::CommonSparseMatrix<ScalarImp, Common::StorageLayout::csc>::operator=(const OtherMatrixImp &other)

No documentation provided.

Function template Dune::XT::LA::CommonSparseMatrix::mv

template<class ScalarImp>
template<class XX, class YY>
inline std::enable_if_t<!std::is_base_of<CommonSparseVector<ScalarType>, XX>::value && !std::is_base_of<CommonSparseVector<ScalarType>, YY>::value && XT::Common::VectorAbstraction<XX>::is_vector && XT::Common::VectorAbstraction<YY>::is_vector, void> Dune::XT::LA::CommonSparseMatrix<ScalarImp, Common::StorageLayout::csc>::mv(const XX &xx, YY &yy) const

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

Function template Dune::XT::LA::CommonSparseMatrix::mtv

template<class ScalarImp>
template<class XX, class YY>
inline std::enable_if_t<!std::is_base_of<CommonSparseVector<ScalarType>, XX>::value && !std::is_base_of<CommonSparseVector<ScalarType>, YY>::value && XT::Common::VectorAbstraction<XX>::is_vector && XT::Common::VectorAbstraction<YY>::is_vector, void> Dune::XT::LA::CommonSparseMatrix<ScalarImp, Common::StorageLayout::csc>::mtv(const XX &xx, YY &yy) const

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

Function template Dune::XT::LA::CommonSparseMatrix::rightmultiply_entry

template<class ScalarImp>
template<class OtherMatrixImp>
ScalarType Dune::XT::LA::CommonSparseMatrix<ScalarImp, Common::StorageLayout::csc>::rightmultiply_entry(const OtherMatrixImp &other, const size_t rr, const size_t cc) const

\ }

Function template Dune::XT::LA::CommonSparseMatrix::rightmultiply

template<class ScalarImp>
template<class OtherMatrixImp>
typename std::enable_if_t<XT::Common::MatrixAbstraction<OtherMatrixImp>::is_matrix && !(std::is_base_of<ThisType, OtherMatrixImp>::value), void> Dune::XT::LA::CommonSparseMatrix<ScalarImp, Common::StorageLayout::csc>::rightmultiply(const OtherMatrixImp &other)

No documentation provided.