1.4.0
CCC
 
PrecisionOpCs Class Reference

#include <PrecisionOpCs.hpp>

Inheritance diagram for PrecisionOpCs:
PrecisionOp ASimulable ALinearOp

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 verbose=false)
 
 PrecisionOpCs (const AMesh *mesh, CovAniso *cova, bool verbose=false)
 
virtual ~PrecisionOpCs ()
 
void evalInverse (const Eigen::VectorXd &vecin, Eigen::VectorXd &vecout) override
 
int _addSimulateToDest (const Eigen::VectorXd &whitenoise, Eigen::VectorXd &outv) const override
 
int _addToDest (const Eigen::VectorXd &inv, Eigen::VectorXd &outv) const override
 
double getLogDeterminant (int nbsimu=1) override
 
void evalDeriv (const Eigen::VectorXd &inv, Eigen::VectorXd &outv, int iapex, int igparam, const EPowerPT &power) override
 
void evalDerivOptim (Eigen::VectorXd &outv, int iapex, int igparam, const EPowerPT &power) override
 
void gradYQX (const Eigen::VectorXd &X, const Eigen::VectorXd &Y, Eigen::VectorXd &result, const EPowerPT &power) override
 
void gradYQXOptim (const Eigen::VectorXd &X, const Eigen::VectorXd &Y, Eigen::VectorXd &result, const EPowerPT &power) override
 
const MatrixSparsegetQ () const
 
- Public Member Functions inherited from PrecisionOp
 PrecisionOp ()
 
 PrecisionOp (ShiftOpCs *shiftop, const CovAniso *cova, bool verbose=false)
 
 PrecisionOp (const AMesh *mesh, CovAniso *cova, bool verbose=false)
 
 PrecisionOp (const PrecisionOp &pmat)
 
PrecisionOpoperator= (const PrecisionOp &pmat)
 
virtual ~PrecisionOp ()
 
virtual std::pair< double, double > getRangeEigenVal (int ndiscr=100)
 
int reset (const ShiftOpCs *shiftop, const CovAniso *cova=nullptr, bool verbose=false)
 
std::vector< Eigen::VectorXd > simulate (int nbsimu=1)
 
void evalPower (const Eigen::VectorXd &inm, Eigen::VectorXd &outm, const EPowerPT &power=EPowerPT::fromKey("ONE"))
 
VectorDouble evalCov (int imesh)
 
VectorDouble simulateOne ()
 
int getSize () const override
 
bool getTraining () const
 
void setTraining (bool tr)
 
ShiftOpCsgetShiftOp () const
 
VectorDouble getPolyCoeffs (const EPowerPT &power)
 
void setPolynomialFromPoly (APolynomial *polynomial)
 
bool isCovaDefined () const
 
VectorDouble getCoeffs ()
 
void evalPower (const VectorDouble &inv, VectorDouble &outv, const EPowerPT &power=EPowerPT::fromKey("ONE"))
 
- Public Member Functions inherited from ASimulable
 ASimulable ()
 
virtual ~ASimulable ()
 
int evalSimulate (const VectorDouble &whitenoise, VectorDouble &outv) const
 
VectorDouble evalSimulate (const VectorDouble &whitenoise) const
 
int evalSimulate (const VectorEigen &whitenoise, VectorEigen &outv) const
 
int addSimulateToDest (const VectorDouble &whitenoise, VectorDouble &outv) const
 
int addSimulateToDest (const VectorEigen &whitenoise, VectorEigen &outv) const
 
int evalSimulate (const Eigen::VectorXd &whitenoise, Eigen::VectorXd &outv) const
 
int addSimulateToDest (const Eigen::VectorXd &whitenoise, Eigen::VectorXd &outv) const
 
- Public Member Functions inherited from ALinearOp
virtual ~ALinearOp ()
 
int evalDirect (const VectorDouble &inv, VectorDouble &outv) const
 
VectorDouble evalDirect (const VectorDouble &in) const
 
int evalDirect (const VectorEigen &inv, VectorEigen &outv) const
 
int addToDest (const VectorDouble &inv, VectorDouble &outv) const
 
int addToDest (const VectorEigen &inv, VectorEigen &outv) const
 
int evalDirect (const Eigen::VectorXd &inv, Eigen::VectorXd &outv) const
 
int addToDest (const Eigen::VectorXd &inv, Eigen::VectorXd &outv) const
 

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, CovAniso *cova, bool verbose=false)
 

Constructor & Destructor Documentation

◆ PrecisionOpCs() [1/2]

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

◆ PrecisionOpCs() [2/2]

PrecisionOpCs::PrecisionOpCs ( const AMesh mesh,
CovAniso cova,
bool  verbose = false 
)

◆ ~PrecisionOpCs()

PrecisionOpCs::~PrecisionOpCs ( )
virtual

Member Function Documentation

◆ _addSimulateToDest()

int PrecisionOpCs::_addSimulateToDest ( const Eigen::VectorXd &  whitenoise,
Eigen::VectorXd &  outv 
) const
overridevirtual

Reimplemented from PrecisionOp.

◆ _addToDest()

int PrecisionOpCs::_addToDest ( const Eigen::VectorXd &  inv,
Eigen::VectorXd &  outv 
) const
overridevirtual

Reimplemented from PrecisionOp.

◆ evalDeriv()

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

Reimplemented from PrecisionOp.

◆ evalDerivOptim()

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

Reimplemented from PrecisionOp.

◆ evalInverse()

void PrecisionOpCs::evalInverse ( const Eigen::VectorXd &  vecin,
Eigen::VectorXd &  vecout 
)
overridevirtual

Reimplemented from PrecisionOp.

◆ getLogDeterminant()

double PrecisionOpCs::getLogDeterminant ( int  nbsimu = 1)
overridevirtual

Compute the Logarithm of the Determinant

Parameters
nbsimuNumber of simulations
Returns
The computed value or TEST if problem

Reimplemented from PrecisionOp.

◆ getQ()

const MatrixSparse* PrecisionOpCs::getQ ( ) const
inline

◆ gradYQX()

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

Reimplemented from PrecisionOp.

◆ gradYQXOptim()

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

Reimplemented from PrecisionOp.


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