To set a preconditioner. More...
Public Member Functions | |
| Prec () | |
| Default constructor. | |
| Prec (int type) | |
| Constructor that chooses preconditioner. More... | |
| Prec (const SpMatrix< T_ > &A, int type=DIAG_PREC) | |
| Constructor using matrix of the linear system to precondition. More... | |
| Prec (const Matrix< T_ > *A, int type=DIAG_PREC) | |
| Constructor using matrix of the linear system to precondition. More... | |
| ~Prec () | |
| Destructor. | |
| void | setType (int type) |
| Define preconditioner type. More... | |
| void | setMatrix (const Matrix< T_ > *A) |
| Define pointer to matrix for preconditioning (if this one is abstract) More... | |
| void | setMatrix (const SpMatrix< T_ > &A) |
| Define the matrix for preconditioning. More... | |
| void | solve (Vect< T_ > &x) const |
| Solve a linear system with preconditioning matrix. More... | |
| void | solve (const Vect< T_ > &b, Vect< T_ > &x) const |
| Solve a linear system with preconditioning matrix. More... | |
| void | TransSolve (Vect< T_ > &x) const |
| Solve a linear system with transposed preconditioning matrix. More... | |
| void | TransSolve (const Vect< T_ > &b, Vect< T_ > &x) const |
| Solve a linear system with transposed preconditioning matrix. More... | |
| T_ & | getPivot (size_t i) const |
| Return i-th pivot of preconditioning matrix. | |
Detailed Description
template<class T_>
class OFELI::Prec< T_ >
To set a preconditioner.
The preconditioner type is chosen in the constructor
- Template Parameters
-
<T_> Data type (real_t, float, complex<real_t>, ...)
- Author
- Rachid Touzani
- Copyright
- GNU Lesser Public License
Constructor & Destructor Documentation
| Prec | ( | int | type | ) |
Constructor that chooses preconditioner.
- Parameters
-
[in] type Preconditioner type: -
IDENT_PREC: Identity preconditioner (No preconditioning) -
DIAG_PREC: Diagonal preconditioner -
DILU_PREC: Diagonal Incomplete factorization preconditioner -
ILU_PREC: Incomplete factorization preconditioner -
SSOR_PREC: SSOR (Symmetric Successive Over Relaxation) preconditioner
-
Constructor using matrix of the linear system to precondition.
- Parameters
-
[in] A Matrix to precondition [in] type Preconditioner type: -
IDENT_PREC: Identity preconditioner (No preconditioning) -
DIAG_PREC: Diagonal preconditioner -
DILU_PREC: Diagonal Incomplete factorization preconditioner -
ILU_PREC: Incomplete factorization preconditioner -
SSOR_PREC: SSOR (Symmetric Successive Over Relaxation) preconditioner
-
Constructor using matrix of the linear system to precondition.
- Parameters
-
[in] A Pointer to abstract Matrix class to precondition [in] type Preconditioner type: -
IDENT_PREC: Identity preconditioner (No preconditioning) -
DIAG_PREC: Diagonal preconditioner -
DILU_PREC: Diagonal Incomplete factorization preconditioner -
ILU_PREC: Incomplete factorization preconditioner -
SSOR_PREC: SSOR (Symmetric Successive Over Relaxation) preconditioner
-
Member Function Documentation
| void setType | ( | int | type | ) |
Define preconditioner type.
- Parameters
-
[in] type Preconditioner type: -
IDENT_PREC: Identity preconditioner (No preconditioning) -
DIAG_PREC: Diagonal preconditioner -
DILU_PREC: Diagonal Incomplete factorization preconditioner -
ILU_PREC: Incomplete factorization preconditioner -
SSOR_PREC: SSOR (Symmetric Successive Over Relaxation) preconditioner
-
| void setMatrix | ( | const Matrix< T_ > * | A | ) |
Define pointer to matrix for preconditioning (if this one is abstract)
- Parameters
-
[in] A Matrix to precondition
| void setMatrix | ( | const SpMatrix< T_ > & | A | ) |
Define the matrix for preconditioning.
- Parameters
-
[in] A Matrix to precondition (instance of class SpMatrix)
| void solve | ( | Vect< T_ > & | x | ) | const |
Solve a linear system with preconditioning matrix.
- Parameters
-
[in,out] x Right-hand side on input and solution on output.
Solve a linear system with preconditioning matrix.
- Parameters
-
[in] b Right-hand side [out] x Solution vector
| void TransSolve | ( | Vect< T_ > & | x | ) | const |
Solve a linear system with transposed preconditioning matrix.
- Parameters
-
[in,out] x Right-hand side in input and solution in output.