![]() |
Reference documentation for deal.II version 8.1.0
|
#include <matrix_lib.h>
Public Member Functions | |
InverseMatrixRichardson (SolverControl &control, VectorMemory< VECTOR > &mem) | |
~InverseMatrixRichardson () | |
template<class MATRIX , class PRECONDITION > | |
void | initialize (const MATRIX &, const PRECONDITION &) |
SolverControl & | control () 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 |
![]() | |
Subscriptor () | |
Subscriptor (const Subscriptor &) | |
virtual | ~Subscriptor () |
Subscriptor & | operator= (const Subscriptor &) |
void | subscribe (const char *identifier=0) const |
void | unsubscribe (const char *identifier=0) const |
unsigned int | n_subscriptions () const |
void | list_subscribers () const |
DeclException3 (ExcInUse, int, char *, std::string &,<< "Object of class "<< arg2<< " is still used by "<< arg1<< " other objects.\n"<< "(Additional information: "<< arg3<< ")\n"<< "Note the entry in the Frequently Asked Questions of "<< "deal.II (linked to from http://www.dealii.org/) for "<< "more information on what this error means.") | |
DeclException2 (ExcNoSubscriber, char *, char *,<< "No subscriber with identifier \""<< arg2<< "\" did subscribe to this object of class "<< arg1) | |
template<class Archive > | |
void | serialize (Archive &ar, const unsigned int version) |
Private Attributes | |
VectorMemory< VECTOR > & | mem |
SolverRichardson< VECTOR > | solver |
PointerMatrixBase< VECTOR > * | matrix |
PointerMatrixBase< VECTOR > * | precondition |
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.
<float> and <double>
; others can be generated in application programs (see the section on Template instantiations in the manual).Definition at line 431 of file matrix_lib.h.
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().
Definition at line 129 of file matrix_lib.templates.h.
InverseMatrixRichardson< VECTOR >::~InverseMatrixRichardson | ( | ) |
Since we use two pointers, we must implement a destructor.
Definition at line 141 of file matrix_lib.templates.h.
|
inline |
Initialization function. Provide a solver object, a matrix, and another preconditioner for this.
Definition at line 756 of file matrix_lib.h.
SolverControl& InverseMatrixRichardson< VECTOR >::control | ( | ) | const |
Access to the SolverControl object used by the solver.
void InverseMatrixRichardson< VECTOR >::vmult | ( | VECTOR & | dst, |
const VECTOR & | src | ||
) | const |
Execute solver.
Definition at line 150 of file matrix_lib.templates.h.
void InverseMatrixRichardson< VECTOR >::vmult_add | ( | VECTOR & | dst, |
const VECTOR & | src | ||
) | const |
Execute solver.
Definition at line 167 of file matrix_lib.templates.h.
void InverseMatrixRichardson< VECTOR >::Tvmult | ( | VECTOR & | dst, |
const VECTOR & | src | ||
) | const |
Execute transpose solver.
Definition at line 187 of file matrix_lib.templates.h.
void InverseMatrixRichardson< VECTOR >::Tvmult_add | ( | VECTOR & | dst, |
const VECTOR & | src | ||
) | const |
Execute transpose solver.
Definition at line 204 of file matrix_lib.templates.h.
|
private |
A reference to the provided VectorMemory object.
Definition at line 489 of file matrix_lib.h.
|
mutableprivate |
The solver object.
Definition at line 494 of file matrix_lib.h.
|
private |
The matrix in use.
Definition at line 499 of file matrix_lib.h.
|
private |
The preconditioner to use.
Definition at line 504 of file matrix_lib.h.