Public Member Functions | Private Attributes

InverseMatrixRichardson< VECTOR > Class Template Reference
[Derived matrices]

Inheritance diagram for InverseMatrixRichardson< VECTOR >:
Inheritance graph
[legend]

List of all members.

Public Member Functions

 InverseMatrixRichardson (SolverControl &control, VectorMemory< VECTOR > &mem)
 ~InverseMatrixRichardson ()
template<class MATRIX , class PRECONDITION >
void initialize (const MATRIX &, const PRECONDITION &)
SolverControlcontrol () const
void vmult (VECTOR &, const VECTOR &) const
void vmult_add (VECTOR &, const VECTOR &) const
void Tvmult (VECTOR &, const VECTOR &) const
void Tvmult_add (VECTOR &, const VECTOR &) const

Private Attributes

VectorMemory< VECTOR > & mem
SolverRichardson< VECTOR > solver
PointerMatrixBase< VECTOR > * matrix
PointerMatrixBase< VECTOR > * precondition

Detailed Description

template<class VECTOR>
class InverseMatrixRichardson< VECTOR >

Inverse matrix computed approximately by using the SolverRichardson iterative solver. In particular, the function SolverRichardson::Tsolve() allows for the implementation of transpose matrix vector products.

The functions vmult() and Tvmult() appoximate the inverse iteratively starting with the vector dst. Functions vmult_add() and Tvmult_add() start the iteration with a zero vector.

Note:
Instantiations for this template are provided for <float> and <double>; others can be generated in application programs (see the section on Template instantiations in the manual).
Author:
Guido Kanschat, 2005

Definition at line 421 of file matrix_lib.h.


Constructor & Destructor Documentation

template<class VECTOR >
InverseMatrixRichardson< VECTOR >::InverseMatrixRichardson ( SolverControl control,
VectorMemory< VECTOR > &  mem 
)

Constructor, initializing the solver with a control and memory object. The inverted matrix and the preconditioner are added in initialize().

template<class VECTOR >
InverseMatrixRichardson< VECTOR >::~InverseMatrixRichardson (  )

Since we use two pointers, we must implement a destructor.


Member Function Documentation

template<class VECTOR >
template<class MATRIX , class PRECONDITION >
void InverseMatrixRichardson< VECTOR >::initialize ( const MATRIX m,
const PRECONDITION &  p 
) [inline]

Initialization function. Provide a solver object, a matrix, and another preconditioner for this.

Definition at line 746 of file matrix_lib.h.

References LAPACKSupport::matrix.

template<class VECTOR >
SolverControl& InverseMatrixRichardson< VECTOR >::control (  ) const

Access to the SolverControl object used by the solver.

template<class VECTOR >
void InverseMatrixRichardson< VECTOR >::vmult ( VECTOR &  ,
const VECTOR &   
) const

Execute solver.

template<class VECTOR >
void InverseMatrixRichardson< VECTOR >::vmult_add ( VECTOR &  ,
const VECTOR &   
) const

Execute solver.

template<class VECTOR >
void InverseMatrixRichardson< VECTOR >::Tvmult ( VECTOR &  ,
const VECTOR &   
) const

Execute transpose solver.

template<class VECTOR >
void InverseMatrixRichardson< VECTOR >::Tvmult_add ( VECTOR &  ,
const VECTOR &   
) const

Execute transpose solver.


Member Data Documentation

template<class VECTOR >
VectorMemory<VECTOR>& InverseMatrixRichardson< VECTOR >::mem [private]

A reference to the provided VectorMemory object.

Definition at line 479 of file matrix_lib.h.

template<class VECTOR >
SolverRichardson<VECTOR> InverseMatrixRichardson< VECTOR >::solver [mutable, private]

The solver object.

Definition at line 484 of file matrix_lib.h.

template<class VECTOR >
PointerMatrixBase<VECTOR>* InverseMatrixRichardson< VECTOR >::matrix [private]

The matrix in use.

Definition at line 489 of file matrix_lib.h.

template<class VECTOR >
PointerMatrixBase<VECTOR>* InverseMatrixRichardson< VECTOR >::precondition [private]

The preconditioner to use.

Definition at line 494 of file matrix_lib.h.


The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines

deal.II documentation generated on Fri Feb 3 2012 06:04:09 by doxygen 1.7.2