Derived matrices
[Matrix classes]

Collaboration diagram for Derived matrices:

Classes

class  BlockDiagonalMatrix< MATRIX >
class  BlockMatrixArray< number >
class  FilteredMatrix< VECTOR >
class  Householder< number >
class  ProductMatrix< VECTOR >
class  ScaledMatrix< VECTOR >
class  ProductSparseMatrix< number, vector_number >
class  MeanValueFilter
class  InverseMatrixRichardson< VECTOR >
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  TransposeMatrix< MATRIX, VECTOR >

Functions

template<class VECTOR , class MATRIX >
PointerMatrixBase< VECTOR > * PointerMatrixAux::new_pointer_matrix_base (MATRIX &matrix, const VECTOR &, const char *name="PointerMatrixAux")
template<typename numberv >
PointerMatrixBase< Vector
< numberv > > * 
PointerMatrix::new_pointer_matrix_base (const IdentityMatrix &matrix, const Vector< numberv > &, const char *name="PointerMatrix")
template<typename numberv , typename numberm >
PointerMatrixBase< Vector
< numberv > > * 
PointerMatrix::new_pointer_matrix_base (const FullMatrix< numberm > &matrix, const Vector< numberv > &, const char *name="PointerMatrix")
template<typename numberv , typename numberm >
PointerMatrixBase< Vector
< numberv > > * 
PointerMatrix::new_pointer_matrix_base (const LAPACKFullMatrix< numberm > &matrix, const Vector< numberv > &, const char *name="PointerMatrix")
template<typename numberv , typename numberm >
PointerMatrixBase< Vector
< numberv > > * 
PointerMatrix::new_pointer_matrix_base (const SparseMatrix< numberm > &matrix, const Vector< numberv > &, const char *name="PointerMatrix")
template<class VECTOR , typename numberm >
PointerMatrixBase< VECTOR > * PointerMatrix::new_pointer_matrix_base (const BlockSparseMatrix< numberm > &matrix, const VECTOR &, const char *name="PointerMatrix")
template<typename numberv , typename numberm >
PointerMatrixBase< Vector
< numberv > > * 
PointerMatrix::new_pointer_matrix_base (const SparseMatrixEZ< numberm > &matrix, const Vector< numberv > &, const char *name="PointerMatrix")
template<class VECTOR , typename numberm >
PointerMatrixBase< VECTOR > * PointerMatrix::new_pointer_matrix_base (const BlockSparseMatrixEZ< numberm > &matrix, const VECTOR &, const char *name="PointerMatrix")
template<typename numberv , typename numberm >
PointerMatrixBase< BlockVector
< numberv > > * 
PointerMatrix::new_pointer_matrix_base (const BlockMatrixArray< numberm > &matrix, const BlockVector< numberv > &, const char *name="PointerMatrix")
template<typename numberv , typename numberm >
PointerMatrixBase< Vector
< numberv > > * 
PointerMatrix::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, inherited]

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.

template<typename numberv >
PointerMatrixBase< Vector< numberv > > * new_pointer_matrix_base ( const IdentityMatrix matrix,
const Vector< numberv > &  ,
const char *  name = "PointerMatrix< MATRIX, VECTOR >" 
) [related, inherited]

Specialized version for IdentityMatrix.

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, inherited]

Specialized version for FullMatrix.

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, inherited]

Specialized version for LAPACKFullMatrix.

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, inherited]

Specialized version for SparseMatrix.

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

Specialized version for BlockSparseMatrix.

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, inherited]

Specialized version for SparseMatrixEZ.

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

Specialized version for BlockSparseMatrixEZ.

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, inherited]

Specialized version for BlockMatrixArray.

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, inherited]

Specialized version for TridiagonalMatrix.


deal.II documentation generated on Mon Nov 23 22:57:26 2009 by doxygen 1.6.1