AMDiS  2.10
The Adaptive Multi-Dimensional Simulation Toolbox
EigenSparseMatrix< T, Orientation > Class Template Reference

The basic container that stores a base matrix and a corresponding row/column feSpace. More...

#include <MatrixBackend.hpp>

Public Types

using BaseMatrix = Eigen::SparseMatrix< T, Orientation >
 The matrix type of the underlying base matrix.
 
using value_type = typename BaseMatrix::Scalar
 The type of the elements of the DOFMatrix.
 
using size_type = typename BaseMatrix::Index
 The index/size - type.
 

Public Member Functions

 EigenSparseMatrix (DefaultIndexDistribution const &, DefaultIndexDistribution const &)
 Constructor. Constructs new BaseMatrix.
 
BaseMatrixmatrix ()
 Return a reference to the data-matrix matrix.
 
BaseMatrix const & matrix () const
 Return a reference to the data-matrix matrix.
 
void insert (size_type r, size_type c, value_type const &value)
 Returns an update-proxy of the inserter, to insert/update a value at position (r, c) in the matrix. Need an insertionMode inserter, that can be created by init and must be closed by finish after insertion.
 
template<class Ind , class LocalMat >
void scatter (Ind const &idx, LocalMat const &mat)
 
template<class RowInd , class ColInd , class LocalMat >
void scatter (RowInd const &rows, ColInd const &cols, LocalMat const &mat)
 
template<class RowInd , class ColInd >
void zeroRows (RowInd const &rowInd, ColInd const &colInd, bool diag)
 Set all entries of the specified rows to zero and the diagonal element to diag
 
template<class RowInd >
void zeroRows (RowInd const &rowInd, bool diag)
 
template<class RowInd , class ColInd >
void zeroRowsColumnsImpl (RowInd const &rowInd, ColInd const &colInd, bool diag, EigenVector< T > const *x=nullptr, EigenVector< T > *b=nullptr)
 Set all entries of the specified rows and columns to zero and the diagonal element to diag
 
template<class RowInd >
void zeroRowsColumns (RowInd const &rowInd, bool diag)
 
template<class RowInd >
void zeroRowsColumns (RowInd const &rowInd, bool diag, EigenVector< T > const &x, EigenVector< T > &b)
 
template<class RowInd , class ColInd >
void zeroRowsColumns (RowInd const &rowInd, ColInd const &colInd, bool diag)
 
template<class RowInd , class ColInd >
void zeroRowsColumns (RowInd const &rowInd, ColInd const &colInd, bool diag, EigenVector< T > const &x, EigenVector< T > &b)
 
void init (MatrixSize const &sizes)
 Resize the matrix according to the pattern provided and set all entries to zero.
 
void init ()
 Set all matrix entries to zero while keeping the size unchanged.
 
void finish ()
 Set the matrix entries from the triplet list and compress the matrix afterwards.
 
std::size_t nnz () const
 Return the number of nonzeros in the matrix.
 

Detailed Description

template<class T, int Orientation = Eigen::RowMajor>
class AMDiS::EigenSparseMatrix< T, Orientation >

The basic container that stores a base matrix and a corresponding row/column feSpace.


The documentation for this class was generated from the following file: