#include <ALinearOpMulti.hpp>
Public Member Functions | |
| ALinearOpMulti (int nitermax=1000, double eps=EPSILON8) | |
| ALinearOpMulti (const ALinearOpMulti &m) | |
| ALinearOpMulti & | operator= (const ALinearOpMulti &m) |
| virtual | ~ALinearOpMulti () |
| void | initLk (const std::vector< std::vector< double > > &inv, std::vector< std::vector< double > > &outv) const |
| virtual int | sizes () const =0 |
| virtual int | size (int) const =0 |
| void | setNIterMax (int nitermax) |
| void | setNIterRestart (int niterrestart) |
| void | setEps (double eps) |
| void | setPrecond (const ALinearOpMulti *precond, int status) |
| const LogStats & | getLogStats () const |
| void | prepare () const |
| void | setUserInitialValue (bool b) |
| void | evalDirect (const std::vector< std::vector< double > > &inv, std::vector< std::vector< double > > &outv) const |
| virtual void | evalInverse (const std::vector< std::vector< double > > &vecin, std::vector< std::vector< double > > &vecout) const |
Public Attributes | |
| std::vector< std::vector< double > > | _temp |
| std::vector< std::vector< double > > | _p |
| std::vector< std::vector< double > > | _z |
| double | _nb |
| ALinearOpMulti::ALinearOpMulti | ( | int | nitermax = 1000, |
| double | eps = EPSILON8 |
||
| ) |
| ALinearOpMulti::ALinearOpMulti | ( | const ALinearOpMulti & | m | ) |
|
virtual |
| void ALinearOpMulti::evalDirect | ( | const std::vector< std::vector< double > > & | inv, |
| std::vector< std::vector< double > > & | outv | ||
| ) | const |
|
virtual |
Evaluate the product: 'outv' = Q^{-1} * 'inv' by conjugate gradient
| [in] | vecin | Array of input values |
| [out] | vecout | Array of output values. Will be used as initial value if _userInitialValue is true. |
Reimplemented in PrecisionOpMultiConditionalCs.
|
inline |
| void ALinearOpMulti::initLk | ( | const std::vector< std::vector< double > > & | inv, |
| std::vector< std::vector< double > > & | outv | ||
| ) | const |
| ALinearOpMulti & ALinearOpMulti::operator= | ( | const ALinearOpMulti & | m | ) |
| void ALinearOpMulti::prepare | ( | ) | const |
This method intends to resize the different working arrays. It is considered as const in order to avoid breaking constness of calling function
|
inline |
|
inline |
|
inline |
| void ALinearOpMulti::setPrecond | ( | const ALinearOpMulti * | precond, |
| int | status | ||
| ) |
Define the Pre-Conditioner facility
| [in] | precond | Pointer to a ALinearOp operator |
| [in] | status | Status of this Pre-conditioner
|
|
inline |
|
pure virtual |
Implemented in PrecisionOpMultiConditional.
|
pure virtual |
Implemented in PrecisionOpMultiConditional.
|
mutable |
|
mutable |
|
mutable |
|
mutable |