Classes | |
class | const_iterator |
Public Member Functions | |
template<typename number2 > | |
void | vmult (Vector< number2 > &, const Vector< number2 > &) const |
template<typename number2 > | |
void | Tvmult (Vector< number2 > &, const Vector< number2 > &) const |
template<typename number2 > | |
void | vmult_add (Vector< number2 > &, const Vector< number2 > &) const |
template<typename number2 > | |
void | Tvmult_add (Vector< number2 > &, const Vector< number2 > &) const |
const_iterator | begin () const |
const_iterator | end () const |
const_iterator | begin (const unsigned int r) const |
const_iterator | end (const unsigned int r) const |
Private Types | |
typedef MATRIX::value_type | number |
Private Member Functions | |
template<typename number2 > | |
void | do_vmult (Vector< number2 > &, const Vector< number2 > &, bool adding) const |
Friends | |
class | Accessor |
class | const_iterator |
<float> and <double>
; others can be generated in application programs (see the section on Template instantiations in the manual).typedef MATRIX::value_type PreconditionBlockJacobi< MATRIX, inverse_type >::number [private] |
Define number type of matrix.
Reimplemented from PreconditionBlock< MATRIX, inverse_type >.
void PreconditionBlockJacobi< MATRIX, inverse_type >::vmult | ( | Vector< number2 > & | , | |
const Vector< number2 > & | ||||
) | const [inline] |
Execute block Jacobi preconditioning.
This function will automatically use the inverse matrices if they exist, if not then BlockJacobi will need much time inverting the diagonal block matrices in each preconditioning step.
void PreconditionBlockJacobi< MATRIX, inverse_type >::Tvmult | ( | Vector< number2 > & | , | |
const Vector< number2 > & | ||||
) | const [inline] |
Same as vmult
, since Jacobi is symmetric.
void PreconditionBlockJacobi< MATRIX, inverse_type >::vmult_add | ( | Vector< number2 > & | , | |
const Vector< number2 > & | ||||
) | const [inline] |
Execute block Jacobi preconditioning, adding to dst
.
This function will automatically use the inverse matrices if they exist, if not then BlockJacobi will need much time inverting the diagonal block matrices in each preconditioning step.
void PreconditionBlockJacobi< MATRIX, inverse_type >::Tvmult_add | ( | Vector< number2 > & | , | |
const Vector< number2 > & | ||||
) | const [inline] |
Same as vmult_add
, since Jacobi is symmetric.
const_iterator PreconditionBlockJacobi< MATRIX, inverse_type >::begin | ( | ) | const |
STL-like iterator with the first entry.
const_iterator PreconditionBlockJacobi< MATRIX, inverse_type >::end | ( | ) | const |
Final iterator.
const_iterator PreconditionBlockJacobi< MATRIX, inverse_type >::begin | ( | const unsigned int | r | ) | const |
STL-like iterator with the first entry of row r
.
const_iterator PreconditionBlockJacobi< MATRIX, inverse_type >::end | ( | const unsigned int | r | ) | const |
Final iterator of row r
.
void PreconditionBlockJacobi< MATRIX, inverse_type >::do_vmult | ( | Vector< number2 > & | , | |
const Vector< number2 > & | , | |||
bool | adding | |||
) | const [inline, private] |
Actual implementation of the preconditioner.
Depending on adding
, the result of preconditioning is added to the destination vector.
friend class Accessor [friend] |
friend class const_iterator [friend] |