#include <Ifpack_Jacobi.h>
Inheritance diagram for Ifpack_Jacobi:
Public Member Functions | |
Constructors/Destructor | |
| Ifpack_Jacobi (const Ifpack_OverlapGraph *OverlapGraph, bool UseReciprocal=true, int NumSteps=1) | |
| Constructor using Ifpack_OverlapGraph. | |
| Ifpack_Jacobi (const Epetra_RowMatrix *UserMatrix, bool UseReciprocal=true, int NumSteps=1) | |
| Constructor using Epetra_RowMatrix. | |
| Ifpack_Jacobi (const Ifpack_Jacobi &Source) | |
| Copy constructor. | |
| virtual | ~Ifpack_Jacobi () |
| Ifpack_Jacobi Destructor. | |
Attribute access methods. | |
| bool | UseReciprocal () const |
| Returns current value of UseReciprocal. | |
| int | NumSteps () const |
| Returns current value of NumSteps. | |
| const Epetra_Vector & | DiagValues () const |
| Returns current vector of diagonal values. | |
Protected Member Functions | |
Methods needed to implement OverlapFactorObject. | |
| int | ProcessOverlapMatrix (const Epetra_RowMatrix &A) |
| Processes the overlapped user matrix for computing the ILUT preconditioner: WARNING: THIS ROUTINE IS NOT USER CALLABLE, CALL InitValues(). | |
| int | DerivedFactor () |
| Compute ILUT factors L and U: WARNING: THIS ROUTINE IS NOT USER CALLABLE, CALL Factor(). | |
This class supports the construction and use of Jacobi's basic iterative method as a preconditioner for a Krylov iterative method. It is also possible to use this class to solve a problem using Jacobi's method only. Formally Jacobi's method is an iteration of the form:
where
,
and
are the strictly lower triangle, diagonal, and upper triangular parts, resp. of the user matrix
. (See Saad {Iterative Methods for Sparse Linear Systems}, Ch. 4). To start the Jacobi iteration, we use an initial guess of
, so a single step is equivalent to scaling the input vector by the inverse of the diagonal of
.
Use of more than one step is often not beneficial.
There are two parameters for this class:
|
||||||||||||||||
|
Constructor using Ifpack_OverlapGraph. Creates an object from the overlap graph.
|
|
||||||||||||||||
|
Constructor using Epetra_RowMatrix. Creates an Ifpack_Graph object from the user graph implicitly defined by the Epetra_RowMatrix interface.
|
1.3.9.1