Public Types | |
typedef MATRIX::value_type | number |
Public Member Functions | |
PreconditionBlockSSOR () | |
template<typename number2 > | |
void | vmult (Vector< number2 > &, const Vector< number2 > &) const |
template<typename number2 > | |
void | Tvmult (Vector< number2 > &, const Vector< number2 > &) const |
The functions vmult
and Tvmult
execute a block-SSOR step, based on the implementation in PreconditionBlockSOR. This class requires storage of the diagonal blocks and their inverses.
See PreconditionBlock for requirements on the matrix.
<float> and <double>
; others can be generated in application programs (see the section on Template instantiations in the manual).typedef MATRIX::value_type PreconditionBlockSSOR< MATRIX, inverse_type >::number |
Define number type of matrix.
Reimplemented from PreconditionBlockSOR< MATRIX, inverse_type >.
PreconditionBlockSSOR< MATRIX, inverse_type >::PreconditionBlockSSOR | ( | ) |
Constructor.
void PreconditionBlockSSOR< MATRIX, inverse_type >::vmult | ( | Vector< number2 > & | , | |
const Vector< number2 > & | ||||
) | const [inline] |
Execute block SSOR preconditioning.
This function will automatically use the inverse matrices if they exist, if not then BlockSOR will waste much time inverting the diagonal block matrices in each preconditioning step.
Reimplemented from PreconditionBlockSOR< MATRIX, inverse_type >.
void PreconditionBlockSSOR< MATRIX, inverse_type >::Tvmult | ( | Vector< number2 > & | , | |
const Vector< number2 > & | ||||
) | const [inline] |
Same as vmult()
Reimplemented from PreconditionBlockSOR< MATRIX, inverse_type >.