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

Classes

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

Functions

template<class VECTOR , class MATRIX >
PointerMatrixBase< VECTOR > * new_pointer_matrix_base (MATRIX &matrix, const VECTOR &, 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<class VECTOR , typename numberm >
PointerMatrixBase< VECTOR > * new_pointer_matrix_base (const BlockSparseMatrix< numberm > &matrix, const VECTOR &, 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<class VECTOR , typename numberm >
PointerMatrixBase< VECTOR > * new_pointer_matrix_base (const BlockSparseMatrixEZ< numberm > &matrix, const VECTOR &, const char *name="PointerMatrix")
 
template<typename numberv , typename numberm >
PointerMatrixBase< BlockVector< numberv > > * new_pointer_matrix_base (const BlockMatrixArray< numberm > &matrix, const BlockVector< numberv > &, 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 in Linear solver classes.

Function Documentation

template<class VECTOR , class MATRIX >
PointerMatrixBase< VECTOR > * new_pointer_matrix_base ( MATRIX matrix,
const VECTOR &  ,
const char *  name = "PointerMatrixAux< MATRIX, VECTOR >" 
)
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 VECTOR argument is a dummy just used to determine the template arguments.

Definition at line 549 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< MATRIX, VECTOR >" 
)
related

Specialized version for IdentityMatrix.

Definition at line 562 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< MATRIX, VECTOR >" 
)
related

Specialized version for FullMatrix.

Definition at line 576 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< MATRIX, VECTOR >" 
)
related

Specialized version for LAPACKFullMatrix.

Definition at line 590 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< MATRIX, VECTOR >" 
)
related

Specialized version for SparseMatrix.

Definition at line 604 of file pointer_matrix.h.

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

Specialized version for BlockSparseMatrix.

Definition at line 618 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< MATRIX, VECTOR >" 
)
related

Specialized version for SparseMatrixEZ.

Definition at line 632 of file pointer_matrix.h.

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

Specialized version for BlockSparseMatrixEZ.

Definition at line 646 of file pointer_matrix.h.

template<typename numberv , typename numberm >
PointerMatrixBase< BlockVector< numberv > > * new_pointer_matrix_base ( const BlockMatrixArray< numberm > &  matrix,
const BlockVector< numberv > &  ,
const char *  name = "PointerMatrix< MATRIX, VECTOR >" 
)
related

Specialized version for BlockMatrixArray.

Definition at line 660 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< MATRIX, VECTOR >" 
)
related

Specialized version for TridiagonalMatrix.

Definition at line 674 of file pointer_matrix.h.