1.3.2
CCC
 
PrecisionOpCs Class Reference

#include <PrecisionOpCs.hpp>

Inheritance diagram for PrecisionOpCs:
PrecisionOp

Detailed Description

This class is just a specialization of PrecisionOp when the shift Operator is built with sparse matrices and therefore algebra can be performed with Cholesky. It allows to return the precision matrix as a Sparse Matrix.

Public Member Functions

 PrecisionOpCs (ShiftOpCs *shiftop=nullptr, const CovAniso *cova=nullptr, bool flagDecompose=false, bool verbose=false)
 
 PrecisionOpCs (const AMesh *mesh, Model *model, int icov=0, bool flagDecompose=false, const CGParam params=CGParam(), bool verbose=false)
 
virtual ~PrecisionOpCs ()
 
void evalDirect (const VectorDouble &vecin, VectorDouble &vecout) override
 
void evalSimulate (VectorDouble &whitenoise, VectorDouble &vecout) override
 
void evalInverse (VectorDouble &vecin, VectorDouble &vecout) override
 
void makeReady () override
 
double getLogDeterminant (int nbsimu=1, int seed=0) override
 
void evalDeriv (const VectorDouble &inv, VectorDouble &outv, int iapex, int igparam, const EPowerPT &power) override
 
void evalDerivOptim (VectorDouble &outv, int iapex, int igparam, const EPowerPT &power) override
 
void gradYQX (const VectorDouble &X, const VectorDouble &Y, VectorDouble &result, const EPowerPT &power) override
 
void gradYQXOptim (const VectorDouble &X, const VectorDouble &Y, VectorDouble &result, const EPowerPT &power) override
 
MatrixSparsegetQ () const
 
- Public Member Functions inherited from PrecisionOp
 PrecisionOp ()
 
 PrecisionOp (ShiftOpCs *shiftop, const CovAniso *cova, bool verbose=false)
 
 PrecisionOp (const AMesh *mesh, Model *model, int icov=0, const CGParam params=CGParam(), bool verbose=false)
 
 PrecisionOp (const PrecisionOp &m)
 
PrecisionOpoperator= (const PrecisionOp &m)
 
virtual ~PrecisionOp ()
 
virtual std::pair< double, double > getRangeEigenVal (int ndiscr=100)
 
int reset (const ShiftOpCs *shiftop, const CovAniso *cova=nullptr, bool verbose=false)
 
void evalPower (const VectorDouble &inv, VectorDouble &outv, const EPowerPT &power=EPowerPT::fromKey("ONE"))
 
VectorDouble evalCov (int imesh)
 
VectorVectorDouble simulate (int nbsimu=1)
 
VectorDouble simulateOne ()
 
int getSize () const
 
bool getTraining () const
 
void setTraining (bool tr)
 
ShiftOpCsgetShiftOp () const
 
VectorDouble getPolyCoeffs (EPowerPT power)
 
void setPolynomialFromPoly (APolynomial *polynomial)
 
bool isCovaDefined () const
 
VectorDouble getCoeffs ()
 
void mustShowStats (bool status) const
 
const LogStatsgetLogStats ()
 

Additional Inherited Members

- Static Public Member Functions inherited from PrecisionOp
static PrecisionOpcreateFromShiftOp (ShiftOpCs *shiftop=nullptr, const CovAniso *cova=nullptr, bool verbose=false)
 
static PrecisionOpcreate (const AMesh *mesh, Model *model, int icov=0, bool verbose=false)
 

Constructor & Destructor Documentation

◆ PrecisionOpCs() [1/2]

PrecisionOpCs::PrecisionOpCs ( ShiftOpCs shiftop = nullptr,
const CovAniso cova = nullptr,
bool  flagDecompose = false,
bool  verbose = false 
)

◆ PrecisionOpCs() [2/2]

PrecisionOpCs::PrecisionOpCs ( const AMesh mesh,
Model model,
int  icov = 0,
bool  flagDecompose = false,
const CGParam  params = CGParam(),
bool  verbose = false 
)

◆ ~PrecisionOpCs()

PrecisionOpCs::~PrecisionOpCs ( )
virtual

Member Function Documentation

◆ evalDeriv()

void PrecisionOpCs::evalDeriv ( const VectorDouble inv,
VectorDouble outv,
int  iapex,
int  igparam,
const EPowerPT &  power 
)
overridevirtual

Reimplemented from PrecisionOp.

◆ evalDerivOptim()

void PrecisionOpCs::evalDerivOptim ( VectorDouble outv,
int  iapex,
int  igparam,
const EPowerPT &  power 
)
overridevirtual

Reimplemented from PrecisionOp.

◆ evalDirect()

void PrecisionOpCs::evalDirect ( const VectorDouble vecin,
VectorDouble vecout 
)
overridevirtual

Evaluate with power = ONE

Parameters
vecinInput array
vecoutOutput array

Reimplemented from PrecisionOp.

◆ evalInverse()

void PrecisionOpCs::evalInverse ( VectorDouble vecin,
VectorDouble vecout 
)
overridevirtual

Reimplemented from PrecisionOp.

◆ evalSimulate()

void PrecisionOpCs::evalSimulate ( VectorDouble whitenoise,
VectorDouble vecout 
)
overridevirtual

Reimplemented from PrecisionOp.

◆ getLogDeterminant()

double PrecisionOpCs::getLogDeterminant ( int  nbsimu = 1,
int  seed = 0 
)
overridevirtual

Compute the Logarithm of the Determinant

Parameters
nbsimuNumber of simulations
seedSeed for random number generation
Returns
The computed value or TEST if problem

Reimplemented from PrecisionOp.

◆ getQ()

MatrixSparse* PrecisionOpCs::getQ ( ) const
inline

◆ gradYQX()

void PrecisionOpCs::gradYQX ( const VectorDouble X,
const VectorDouble Y,
VectorDouble result,
const EPowerPT &  power 
)
overridevirtual

Reimplemented from PrecisionOp.

◆ gradYQXOptim()

void PrecisionOpCs::gradYQXOptim ( const VectorDouble X,
const VectorDouble Y,
VectorDouble result,
const EPowerPT &  power 
)
overridevirtual

Reimplemented from PrecisionOp.

◆ makeReady()

void PrecisionOpCs::makeReady ( )
overridevirtual

Reimplemented from PrecisionOp.


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