Reference documentation for deal.II version 8.5.0
Classes | Functions
Collaboration diagram for Derived matrices:

Classes

class  BlockDiagonalMatrix< MatrixType >
 
class  BlockMatrixArray< number, BlockVectorType >
 
class  BlockMatrixArray< number, BlockVectorType >::Entry
 
class  FilteredMatrix< VectorType >
 
struct  FilteredMatrix< VectorType >::PairComparison
 
class  FilteredMatrix< VectorType >::const_iterator
 
class  FilteredMatrix< VectorType >::Accessor
 
class  Householder< number >
 
class  IterativeInverse< VectorType >
 
class  MatrixBlock< MatrixType >
 
class  ProductMatrix< VectorType >
 
class  ScaledMatrix< VectorType >
 
class  ProductSparseMatrix< number, vector_number >
 
class  MeanValueFilter
 
class  InverseMatrixRichardson< VectorType >
 
class  PointerMatrixBase< VectorType >
 
class  PointerMatrix< MatrixType, VectorType >
 
class  PointerMatrixAux< MatrixType, VectorType >
 
class  PointerMatrixVector< number >
 
class  SchurMatrix< MA_inverse, MB, MDt, MC >
 
class  ShiftedMatrix< MatrixType >
 
class  ShiftedMatrixGeneralized< MatrixType, MatrixType2, VectorType >
 
class  TransposeMatrix< MatrixType, VectorType >
 

Functions

template<typename VectorType , typename MatrixType >
PointerMatrixBase< VectorType > * new_pointer_matrix_base (MatrixType &matrix, const VectorType &, const char *name="PointerMatrixAux")
 
template<typename numberv >
PointerMatrixBase< Vector< numberv > > * new_pointer_matrix_base (const IdentityMatrix &matrix, const Vector< numberv > &, const char *name="PointerMatrix")
 
template<typename numberv , typename numberm >
PointerMatrixBase< Vector< numberv > > * new_pointer_matrix_base (const FullMatrix< numberm > &matrix, const Vector< numberv > &, const char *name="PointerMatrix")
 
template<typename numberv , typename numberm >
PointerMatrixBase< Vector< numberv > > * new_pointer_matrix_base (const LAPACKFullMatrix< numberm > &matrix, const Vector< numberv > &, const char *name="PointerMatrix")
 
template<typename numberv , typename numberm >
PointerMatrixBase< Vector< numberv > > * new_pointer_matrix_base (const SparseMatrix< numberm > &matrix, const Vector< numberv > &, const char *name="PointerMatrix")
 
template<typename VectorType , typename numberm >
PointerMatrixBase< VectorType > * new_pointer_matrix_base (const BlockSparseMatrix< numberm > &matrix, const VectorType &, const char *name="PointerMatrix")
 
template<typename numberv , typename numberm >
PointerMatrixBase< Vector< numberv > > * new_pointer_matrix_base (const SparseMatrixEZ< numberm > &matrix, const Vector< numberv > &, const char *name="PointerMatrix")
 
template<typename VectorType , typename numberm >
PointerMatrixBase< VectorType > * new_pointer_matrix_base (const BlockSparseMatrixEZ< numberm > &matrix, const VectorType &, const char *name="PointerMatrix")
 
template<typename numberv , typename numberm , typename BLOCK_VectorType >
PointerMatrixBase< BLOCK_VectorType > * new_pointer_matrix_base (const BlockMatrixArray< numberm, BLOCK_VectorType > &matrix, const BLOCK_VectorType &, const char *name="PointerMatrix")
 
template<typename numberv , typename numberm >
PointerMatrixBase< Vector< numberv > > * new_pointer_matrix_base (const TridiagonalMatrix< numberm > &matrix, const Vector< numberv > &, const char *name="PointerMatrix")
 

Detailed Description

These matrices are built on top of the basic matrices. They perform special operations using the interface defined by the MatrixType concept.

Function Documentation

template<typename VectorType , typename MatrixType >
PointerMatrixBase< VectorType > * new_pointer_matrix_base ( MatrixType &  matrix,
const VectorType &  ,
const char *  name = "PointerMatrixAux< MatrixType, VectorType >" 
)
related

This function helps you creating a PointerMatrixBase object if you do not want to provide the full template arguments of PointerMatrix or PointerMatrixAux.

Note that this function by default creates a PointerMatrixAux, emulating the functions vmult_add and Tvmult_add, using an auxiliary vector. It is overloaded for the library matrix classes implementing these functions themselves. If you have such a class, you should overload the function in order to save memory and time.

The result is a PointerMatrixBase* pointing to matrix. The VectorType argument is a dummy just used to determine the template arguments.

Definition at line 450 of file pointer_matrix.h.

template<typename numberv >
PointerMatrixBase< Vector< numberv > > * new_pointer_matrix_base ( const IdentityMatrix matrix,
const Vector< numberv > &  ,
const char *  name = "PointerMatrix< MatrixType, VectorType >" 
)
related

Specialized version for IdentityMatrix.

Definition at line 462 of file pointer_matrix.h.

template<typename numberv , typename numberm >
PointerMatrixBase< Vector< numberv > > * new_pointer_matrix_base ( const FullMatrix< numberm > &  matrix,
const Vector< numberv > &  ,
const char *  name = "PointerMatrix< MatrixType, VectorType >" 
)
related

Specialized version for FullMatrix.

Definition at line 475 of file pointer_matrix.h.

template<typename numberv , typename numberm >
PointerMatrixBase< Vector< numberv > > * new_pointer_matrix_base ( const LAPACKFullMatrix< numberm > &  matrix,
const Vector< numberv > &  ,
const char *  name = "PointerMatrix< MatrixType, VectorType >" 
)
related

Specialized version for LAPACKFullMatrix.

Definition at line 488 of file pointer_matrix.h.

template<typename numberv , typename numberm >
PointerMatrixBase< Vector< numberv > > * new_pointer_matrix_base ( const SparseMatrix< numberm > &  matrix,
const Vector< numberv > &  ,
const char *  name = "PointerMatrix< MatrixType, VectorType >" 
)
related

Specialized version for SparseMatrix.

Definition at line 501 of file pointer_matrix.h.

template<typename VectorType , typename numberm >
PointerMatrixBase< VectorType > * new_pointer_matrix_base ( const BlockSparseMatrix< numberm > &  matrix,
const VectorType &  ,
const char *  name = "PointerMatrix< MatrixType, VectorType >" 
)
related

Specialized version for BlockSparseMatrix.

Definition at line 514 of file pointer_matrix.h.

template<typename numberv , typename numberm >
PointerMatrixBase< Vector< numberv > > * new_pointer_matrix_base ( const SparseMatrixEZ< numberm > &  matrix,
const Vector< numberv > &  ,
const char *  name = "PointerMatrix< MatrixType, VectorType >" 
)
related

Specialized version for SparseMatrixEZ.

Definition at line 527 of file pointer_matrix.h.

template<typename VectorType , typename numberm >
PointerMatrixBase< VectorType > * new_pointer_matrix_base ( const BlockSparseMatrixEZ< numberm > &  matrix,
const VectorType &  ,
const char *  name = "PointerMatrix< MatrixType, VectorType >" 
)
related

Specialized version for BlockSparseMatrixEZ.

Definition at line 540 of file pointer_matrix.h.

template<typename numberv , typename numberm , typename BLOCK_VectorType >
PointerMatrixBase< BLOCK_VectorType > * new_pointer_matrix_base ( const BlockMatrixArray< numberm, BLOCK_VectorType > &  matrix,
const BLOCK_VectorType &  ,
const char *  name = "PointerMatrix< MatrixType, VectorType >" 
)
related

Specialized version for BlockMatrixArray.

Definition at line 553 of file pointer_matrix.h.

template<typename numberv , typename numberm >
PointerMatrixBase< Vector< numberv > > * new_pointer_matrix_base ( const TridiagonalMatrix< numberm > &  matrix,
const Vector< numberv > &  ,
const char *  name = "PointerMatrix< MatrixType, VectorType >" 
)
related

Specialized version for TridiagonalMatrix.

Definition at line 566 of file pointer_matrix.h.