1.8.0
CCC
 
Loading...
Searching...
No Matches
gstlrn::PrecisionOpMatrix Class Reference

#include <PrecisionOpMatrix.hpp>

Inheritance diagram for gstlrn::PrecisionOpMatrix:
gstlrn::PrecisionOp gstlrn::ASimulable gstlrn::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
 
Id _addSimulateToDest (const constvect whitenoise, vect outv) const override
 
Id _addToDest (const constvect inv, vect outv) const override
 
double computeLogDet (Id nMC=1) const override
 
 extractDiag () const override
 
void evalDeriv (const constvect inv, vect outv, Id iapex, Id igparam, const EPowerPT &power) override
 
void evalDerivOptim (vect outv, Id iapex, Id 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
 
const MatrixSparsegetS () const
 
- Public Member Functions inherited from gstlrn::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 ()
 
std::vector< double > evalInverse (const 1 &vecin)
 
virtual std::pair< double, double > getRangeEigenVal (Id ndiscr=100)
 
Id reset (const AShiftOp *shiftop, const CovAniso *cova=nullptr, bool verbose=false)
 
 simulate (Id nbsimu=1)
 
void evalPower (const constvect inm, vect outm, const EPowerPT &power=EPowerPT::fromKey("ONE"))
 
void evalPower (const 1 &inv, 1 &outv, const EPowerPT &power=EPowerPT::fromKey("ONE"))
 
 computeCov (Id imesh)
 
 simulateOne ()
 
Id getSize () const override
 
bool getTraining () const
 
void setTraining (bool tr)
 
AShiftOpgetShiftOp () const
 
 getPolyCoeffs (const EPowerPT &power)
 
void setPolynomialFromPoly (APolynomial *polynomial)
 
bool isCovaDefined () const
 
 getCoeffs ()
 
- Public Member Functions inherited from gstlrn::ASimulable
 ASimulable ()
 
virtual ~ASimulable ()
 
Id evalSimulate (const 1 &whitenoise, 1 &outv) const
 
 evalSimulate (const 1 &whitenoise) const
 
 simulate () const
 
Id evalSimulate (const constvect whitenoise, vect result) const
 
Id addSimulateToDest (const constvect whitenoise, vect outv) const
 
- Public Member Functions inherited from gstlrn::ALinearOp
 ALinearOp ()
 
 ALinearOp (const ALinearOp &m)=delete
 
ALinearOpoperator= (const ALinearOp &m)=delete
 
virtual ~ALinearOp ()
 
Id evalDirect (const 1 &inv, 1 &outv) const
 
 evalDirect (const 1 &in) const
 
virtual void multiplyByValueAndAddDiagonal (double v1=1., double v2=0.) const
 
virtual void resetModif () const
 
void setUseFactor (bool usefactor)
 
Id evalDirect (constvect inv, vect outv) const
 
Id addToDest (const constvect inv, vect outv) const
 
Id addToDest (const ::Eigen::VectorXd &inv, ::Eigen::VectorXd &outv) const
 

Additional Inherited Members

- Static Public Member Functions inherited from gstlrn::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]

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

◆ PrecisionOpMatrix() [2/2]

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

◆ ~PrecisionOpMatrix()

gstlrn::PrecisionOpMatrix::~PrecisionOpMatrix ( )
virtual

Member Function Documentation

◆ _addSimulateToDest()

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

Reimplemented from gstlrn::PrecisionOp.

◆ _addToDest()

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

Reimplemented from gstlrn::PrecisionOp.

◆ computeLogDet()

double gstlrn::PrecisionOpMatrix::computeLogDet ( Id  nMC = 1) const
overridevirtual

Compute the Logarithm of the Determinant

Parameters
nMCNumber of Monte-Carlo simulations
Returns
The computed value or TEST if problem

Reimplemented from gstlrn::PrecisionOp.

◆ evalDeriv()

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

Reimplemented from gstlrn::PrecisionOp.

◆ evalDerivOptim()

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

Reimplemented from gstlrn::PrecisionOp.

◆ evalInverse()

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

Reimplemented from gstlrn::PrecisionOp.

◆ extractDiag()

gstlrn::PrecisionOpMatrix::extractDiag ( ) const
overridevirtual

Reimplemented from gstlrn::PrecisionOp.

◆ getQ()

const MatrixSparse * gstlrn::PrecisionOpMatrix::getQ ( ) const
inline

◆ getS()

const MatrixSparse * gstlrn::PrecisionOpMatrix::getS ( ) const

◆ gradYQX()

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

Reimplemented from gstlrn::PrecisionOp.

◆ gradYQXOptim()

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

Reimplemented from gstlrn::PrecisionOp.


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