1.1.0
CCC
 
ALinearOpMulti Class Referenceabstract

#include <ALinearOpMulti.hpp>

Inheritance diagram for ALinearOpMulti:
PrecisionOpMultiConditional PrecisionOpMultiConditionalCs

Public Member Functions

 ALinearOpMulti (int nitermax=1000, double eps=EPSILON8)
 
 ALinearOpMulti (const ALinearOpMulti &m)
 
ALinearOpMultioperator= (const ALinearOpMulti &m)
 
virtual ~ALinearOpMulti ()
 
virtual void evalInverse (const VectorVectorDouble &vecin, VectorVectorDouble &vecout) 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)
 
const LogStatsgetLogStats () const
 
void prepare () const
 

Public Attributes

VectorVectorDouble _temp
 
VectorVectorDouble _p
 
VectorVectorDouble _z
 

Constructor & Destructor Documentation

ALinearOpMulti::ALinearOpMulti ( int  nitermax = 1000,
double  eps = EPSILON8 
)
ALinearOpMulti::ALinearOpMulti ( const ALinearOpMulti m)
ALinearOpMulti::~ALinearOpMulti ( )
virtual

Member Function Documentation

void ALinearOpMulti::evalDirect ( const VectorVectorDouble inv,
VectorVectorDouble outv 
) const

Evaluate the product: 'outv' = Q * 'inv'

Parameters
[in]invArray of input values
[out]outvArray of output values
void ALinearOpMulti::evalInverse ( const VectorVectorDouble vecin,
VectorVectorDouble vecout 
) const
virtual

Evaluate the product: 'outv' = Q^{-1} * 'inv' by conjugate gradient

Parameters
[in]vecinArray of input values
[out]vecoutArray of output values. Will be used as initial value if _userInitialValue is true.

Reimplemented in PrecisionOpMultiConditionalCs.

const LogStats& ALinearOpMulti::getLogStats ( ) const
inline
void ALinearOpMulti::initLk ( const VectorVectorDouble inv,
VectorVectorDouble 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

void ALinearOpMulti::setEps ( double  eps)
inline
void ALinearOpMulti::setNIterMax ( int  nitermax)
inline
void ALinearOpMulti::setPrecond ( const ALinearOpMulti precond,
int  status 
)

Define the Pre-Conditioner facility

Parameters
[in]precondPointer to a ALinearOp operator
[in]statusStatus of this Pre-conditioner
  • 0 : not defined and therefore not used
  • -1 : Pre-conditioner is the Q_{-1}
  • 1 : Pre-conditioner is the Q
Remarks
When 'precond' argument is not provided, 'status' is forced to 0
virtual int ALinearOpMulti::size ( int  ) const
pure virtual

Implemented in PrecisionOpMultiConditional.

virtual int ALinearOpMulti::sizes ( ) const
pure virtual

Implemented in PrecisionOpMultiConditional.

Member Data Documentation

VectorVectorDouble ALinearOpMulti::_p
mutable
VectorVectorDouble ALinearOpMulti::_temp
mutable
VectorVectorDouble ALinearOpMulti::_z
mutable

The documentation for this class was generated from the following files: