1.8.0
CCC
 
Loading...
Searching...
No Matches
gstlrn::ALinearOpMulti Class Referenceabstract

#include <ALinearOpMulti.hpp>

Inheritance diagram for gstlrn::ALinearOpMulti:
gstlrn::PrecisionOpMultiConditional

Public Member Functions

 ALinearOpMulti (Id nitermax=1000, double eps=EPSILON8)
 
 ALinearOpMulti (const ALinearOpMulti &m)
 
ALinearOpMultioperator= (const ALinearOpMulti &m)
 
virtual ~ALinearOpMulti ()
 
void initLk (const std::vector< std::vector< double > > &inv, std::vector< std::vector< double > > &outv) const
 
virtual Id sizes () const =0
 
virtual Id size (Id) const =0
 
void setNIterMax (Id nitermax)
 
void setNIterRestart (Id niterrestart)
 
void setEps (double eps)
 
void setPrecond (const ALinearOpMulti *precond, Id status)
 
const LogStatsgetLogStats () 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
 

Constructor & Destructor Documentation

◆ ALinearOpMulti() [1/2]

gstlrn::ALinearOpMulti::ALinearOpMulti ( Id  nitermax = 1000,
double  eps = EPSILON8 
)

◆ ALinearOpMulti() [2/2]

gstlrn::ALinearOpMulti::ALinearOpMulti ( const ALinearOpMulti m)

◆ ~ALinearOpMulti()

gstlrn::ALinearOpMulti::~ALinearOpMulti ( )
virtual

Member Function Documentation

◆ evalDirect()

void gstlrn::ALinearOpMulti::evalDirect ( const std::vector< std::vector< double > > &  inv,
std::vector< std::vector< double > > &  outv 
) const

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

Parameters
[in]invArray of input values
[out]outvArray of output values

◆ evalInverse()

void gstlrn::ALinearOpMulti::evalInverse ( const std::vector< std::vector< double > > &  vecin,
std::vector< std::vector< double > > &  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.

◆ getLogStats()

const LogStats & gstlrn::ALinearOpMulti::getLogStats ( ) const
inline

◆ initLk()

void gstlrn::ALinearOpMulti::initLk ( const std::vector< std::vector< double > > &  inv,
std::vector< std::vector< double > > &  outv 
) const

◆ operator=()

ALinearOpMulti & gstlrn::ALinearOpMulti::operator= ( const ALinearOpMulti m)

◆ prepare()

void gstlrn::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

◆ setEps()

void gstlrn::ALinearOpMulti::setEps ( double  eps)
inline

◆ setNIterMax()

void gstlrn::ALinearOpMulti::setNIterMax ( Id  nitermax)
inline

◆ setNIterRestart()

void gstlrn::ALinearOpMulti::setNIterRestart ( Id  niterrestart)
inline

◆ setPrecond()

void gstlrn::ALinearOpMulti::setPrecond ( const ALinearOpMulti precond,
Id  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

◆ setUserInitialValue()

void gstlrn::ALinearOpMulti::setUserInitialValue ( bool  b)
inline

◆ size()

virtual Id gstlrn::ALinearOpMulti::size ( Id  ) const
pure virtual

◆ sizes()

virtual Id gstlrn::ALinearOpMulti::sizes ( ) const
pure virtual

Member Data Documentation

◆ _nb

double gstlrn::ALinearOpMulti::_nb
mutable

◆ _p

std::vector<std::vector<double> > gstlrn::ALinearOpMulti::_p
mutable

◆ _temp

std::vector<std::vector<double> > gstlrn::ALinearOpMulti::_temp
mutable

◆ _z

std::vector<std::vector<double> > gstlrn::ALinearOpMulti::_z
mutable

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