#include <ALinearOpMulti.hpp>
|
| ALinearOpMulti (int nitermax=1000, double eps=EPSILON8) |
|
| ALinearOpMulti (const ALinearOpMulti &m) |
|
ALinearOpMulti & | operator= (const ALinearOpMulti &m) |
|
virtual | ~ALinearOpMulti () |
|
virtual void | evalInverse (const VectorVectorDouble &inv, VectorVectorDouble &outv) const |
|
void | evalDirect (const VectorVectorDouble &inv, VectorVectorDouble &outv) const |
|
void | initLk (const VectorVectorDouble &inv, VectorVectorDouble &outv) const |
|
virtual int | sizes () const =0 |
|
virtual int | size (int) const =0 |
|
void | setNIterMax (int nitermax) |
|
void | setEps (double eps) |
|
void | setPrecond (const ALinearOpMulti *precond, int status) |
|
void | resetStatCG () const |
|
void | printStatCG () const |
|
void | _linearComb (double val1, const VectorVectorDouble &in1, double val2, const VectorVectorDouble &in2, VectorVectorDouble &outv) const |
|
void | prodScalar (double val, const VectorVectorDouble &inv, VectorVectorDouble &outv) const |
|
void | addProdScalar (double val, const VectorVectorDouble &inv, VectorVectorDouble &outv) const |
|
void | _copyVals (const VectorVectorDouble &inv, VectorVectorDouble &outv) const |
|
void | _updated () const |
|
double | innerProduct (const VectorDouble &x, const VectorDouble &y) const |
|
double | innerProduct (const VectorVectorDouble &x, const VectorVectorDouble &y) const |
|
double | max (const VectorVectorDouble &vect) const |
|
void | fillVal (VectorVectorDouble &vect, double val) const |
|
void | diff (const VectorVectorDouble &, const VectorVectorDouble &, VectorVectorDouble &) const |
|
void | sum (const VectorVectorDouble &, const VectorVectorDouble &, VectorVectorDouble &) const |
|
void | _initPublic () const |
|
◆ ALinearOpMulti() [1/2]
ALinearOpMulti::ALinearOpMulti |
( |
int |
nitermax = 1000 , |
|
|
double |
eps = EPSILON8 |
|
) |
| |
◆ ALinearOpMulti() [2/2]
◆ ~ALinearOpMulti()
ALinearOpMulti::~ALinearOpMulti |
( |
| ) |
|
|
virtual |
◆ _copyVals()
◆ _evalDirect()
◆ _init()
void ALinearOpMulti::_init |
( |
| ) |
const |
|
protected |
This method intends to size the different working arrays.
◆ _initPublic()
void ALinearOpMulti::_initPublic |
( |
| ) |
const |
◆ _linearComb()
outv = val1 * in1 + val2 in2
◆ _updated()
void ALinearOpMulti::_updated |
( |
| ) |
const |
◆ addProdScalar()
◆ diff()
◆ evalDirect()
Evaluate the product: 'outv' = Q * 'inv'
- Parameters
-
[in] | inv | Array of input values |
[out] | outv | Array of output values |
◆ evalInverse()
Evaluate the product: 'outv' = Q^{-1} * 'inv' by conjugate gradient
- Parameters
-
[in] | inv | Array of input values |
[out] | outv | Array of output values. Will be used as initial value if _userInitialValue is true. |
◆ fillVal()
◆ initLk()
◆ innerProduct() [1/2]
Returns the inner product between 'x' and 'y'
- Parameters
-
[in] | x | First array |
[in] | y | Second array |
◆ innerProduct() [2/2]
Returns the inner product between 'x' and 'y'
- Parameters
-
[in] | x | First array |
[in] | y | Second array |
◆ max()
◆ operator=()
◆ printStatCG()
void ALinearOpMulti::printStatCG |
( |
void |
| ) |
const |
Print out the Conjugate Gradient statistics
Trigger the printout of the statistics
◆ prodScalar()
◆ resetStatCG()
void ALinearOpMulti::resetStatCG |
( |
void |
| ) |
const |
Reset the Conjugate Gradient statistics
Reset the statistics
◆ setEps()
void ALinearOpMulti::setEps |
( |
double |
eps | ) |
|
|
inline |
◆ setNIterMax()
void ALinearOpMulti::setNIterMax |
( |
int |
nitermax | ) |
|
|
inline |
◆ setPrecond()
void ALinearOpMulti::setPrecond |
( |
const ALinearOpMulti * |
precond, |
|
|
int |
status |
|
) |
| |
Define the Pre-Conditioner facility
- Parameters
-
[in] | precond | Pointer to a ALinearOp operator |
[in] | status | Status of this Pre-conditioner
- 0 : not defined and therefore not used
- -1 : Pre-conditioner is the Q_{-1}
- 1 : Pre-conditioner is the Q
|
◆ size()
virtual int ALinearOpMulti::size |
( |
int |
| ) |
const |
|
pure virtual |
◆ sizes()
virtual int ALinearOpMulti::sizes |
( |
| ) |
const |
|
pure virtual |
◆ sum()
◆ _eps
double ALinearOpMulti::_eps |
|
private |
◆ _initialized
bool ALinearOpMulti::_initialized |
|
mutableprivate |
◆ _niterCG
int ALinearOpMulti::_niterCG |
|
mutableprivate |
◆ _nIterMax
int ALinearOpMulti::_nIterMax |
|
private |
◆ _numberCG
int ALinearOpMulti::_numberCG |
|
mutableprivate |
◆ _p
◆ _precond
◆ _precondStatus
bool ALinearOpMulti::_precondStatus |
|
private |
◆ _r
◆ _temp
◆ _timeCG
double ALinearOpMulti::_timeCG |
|
mutableprivate |
◆ _userInitialValue
bool ALinearOpMulti::_userInitialValue |
|
private |
◆ _z
The documentation for this class was generated from the following files: