1.6.0
CCC
 
Loading...
Searching...
No Matches
PrecisionOpMatrix Class Reference

#include <PrecisionOpMatrix.hpp>

Inheritance diagram for PrecisionOpMatrix:
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

 PrecisionOpMatrix (ShiftOpMatrix *shiftop=nullptr, const CovAniso *cova=nullptr, bool verbose=false)
 
 PrecisionOpMatrix (const AMesh *mesh, CovAniso *cova, bool verbose=false)
 
virtual ~PrecisionOpMatrix ()
 
void evalInverse (const constvect vecin, std::vector< double > &vecout) override
 
int _addSimulateToDest (const constvect whitenoise, vect outv) const override
 
int _addToDest (const constvect inv, vect outv) const override
 
double getLogDeterminant (int nbsimu=1) override
 
VectorDouble extractDiag () const override
 
void evalDeriv (const constvect inv, vect outv, int iapex, int igparam, const EPowerPT &power) override
 
void evalDerivOptim (vect outv, int iapex, int igparam, const EPowerPT &power) override
 
void gradYQX (const constvect X, const constvect Y, vect result, const EPowerPT &power) override
 
void gradYQXOptim (const constvect X, const constvect Y, vect result, const EPowerPT &power) override
 
const MatrixSparsegetQ () const
 
- Public Member Functions inherited from PrecisionOp
 PrecisionOp ()
 
 PrecisionOp (AShiftOp *shiftop, const CovAniso *cova, bool verbose=false)
 
 PrecisionOp (const AMesh *mesh, CovAniso *cova, bool stencil=false, 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 AShiftOp *shiftop, const CovAniso *cova=nullptr, bool verbose=false)
 
VectorVectorDouble simulate (int nbsimu=1)
 
void evalPower (const constvect inm, vect outm, const EPowerPT &power=EPowerPT::fromKey("ONE"))
 
VectorDouble evalCov (int imesh)
 
VectorDouble simulateOne ()
 
int getSize () const override
 
bool getTraining () const
 
void setTraining (bool tr)
 
AShiftOpgetShiftOp () 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 constvect whitenoise, vect result) const
 
int addSimulateToDest (const constvect whitenoise, vect outv) const
 
- Public Member Functions inherited from ALinearOp
 ALinearOp ()
 
 ALinearOp (const ALinearOp &op)=delete
 
virtual ~ALinearOp ()
 
int evalDirect (const VectorDouble &inv, VectorDouble &outv) const
 
VectorDouble evalDirect (const VectorDouble &in) const
 
virtual void multiplyByValueAndAddDiagonal (double v1=1., double v2=0.)
 
virtual void resetModif ()
 
void setUseFactor (bool usefactor)
 
int evalDirect (constvect inv, vect outv) const
 
int addToDest (const constvect inv, vect outv) const
 
int addToDest (const Eigen::VectorXd &inv, Eigen::VectorXd &outv) const
 

Additional Inherited Members

- Static Public Member Functions inherited from PrecisionOp
static PrecisionOpcreateFromShiftOp (AShiftOp *shiftop=nullptr, const CovAniso *cova=nullptr, bool verbose=false)
 
static PrecisionOpcreate (const AMesh *mesh, CovAniso *cova, bool stencil=false, bool verbose=false)
 

Constructor & Destructor Documentation

◆ PrecisionOpMatrix() [1/2]

PrecisionOpMatrix::PrecisionOpMatrix ( ShiftOpMatrix shiftop = nullptr,
const CovAniso cova = nullptr,
bool  verbose = false 
)

◆ PrecisionOpMatrix() [2/2]

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

◆ ~PrecisionOpMatrix()

PrecisionOpMatrix::~PrecisionOpMatrix ( )
virtual

Member Function Documentation

◆ _addSimulateToDest()

int PrecisionOpMatrix::_addSimulateToDest ( const constvect  whitenoise,
vect  outv 
) const
overridevirtual

Reimplemented from PrecisionOp.

◆ _addToDest()

int PrecisionOpMatrix::_addToDest ( const constvect  inv,
vect  outv 
) const
overridevirtual

Reimplemented from PrecisionOp.

◆ evalDeriv()

void PrecisionOpMatrix::evalDeriv ( const constvect  inv,
vect  outv,
int  iapex,
int  igparam,
const EPowerPT &  power 
)
overridevirtual

Reimplemented from PrecisionOp.

◆ evalDerivOptim()

void PrecisionOpMatrix::evalDerivOptim ( vect  outv,
int  iapex,
int  igparam,
const EPowerPT &  power 
)
overridevirtual

Reimplemented from PrecisionOp.

◆ evalInverse()

void PrecisionOpMatrix::evalInverse ( const constvect  vecin,
std::vector< double > &  vecout 
)
overridevirtual

Reimplemented from PrecisionOp.

◆ extractDiag()

VectorDouble PrecisionOpMatrix::extractDiag ( ) const
overridevirtual

Reimplemented from PrecisionOp.

◆ getLogDeterminant()

double PrecisionOpMatrix::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 * PrecisionOpMatrix::getQ ( ) const
inline

◆ gradYQX()

void PrecisionOpMatrix::gradYQX ( const constvect  X,
const constvect  Y,
vect  result,
const EPowerPT &  power 
)
overridevirtual

Reimplemented from PrecisionOp.

◆ gradYQXOptim()

void PrecisionOpMatrix::gradYQXOptim ( const constvect  X,
const constvect  Y,
vect  result,
const EPowerPT &  power 
)
overridevirtual

Reimplemented from PrecisionOp.


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