gstlearn
1.0.0
Geostatistics & Machine Learning toolbox | https://gstlearn.org
|
#include <PrecisionOpCs.hpp>
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 | computeLogDet (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 |
bool | isCholeskyDecomposed () const |
const cs * | getQ () const |
Triplet | getQToTriplet (bool flag_from_1=false) const |
![]() | |
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) | |
PrecisionOp & | operator= (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) |
ShiftOpCs * | getShiftOp () const |
VectorDouble | getPolyCoeffs (EPowerPT power) |
void | setPolynomialFromPoly (APolynomial *polynomial) |
bool | isCovaDefined () const |
VectorDouble | getCoeffs () |
void | mustShowStats (bool status) const |
const LogStats & | getLogStats () |
Private Member Functions | |
void | _buildQ (bool flagDecompose=false) |
Private Attributes | |
cs * | _Q |
Cholesky | _qChol |
Additional Inherited Members | |
![]() | |
static PrecisionOp * | createFromShiftOp (ShiftOpCs *shiftop=nullptr, const CovAniso *cova=nullptr, bool verbose=false) |
static PrecisionOp * | create (const AMesh *mesh, Model *model, int icov=0, bool verbose=false) |
![]() | |
APolynomial * | getPoly (const EPowerPT &power) |
const ShiftOpCs * | getShiftOpCs () const |
![]() | |
VectorDouble | _work |
VectorDouble | _work2 |
VectorDouble | _work3 |
VectorDouble | _work4 |
VectorDouble | _work5 |
VectorVectorDouble | _workPoly |
This class is just a specialization of PrecisionOp when the shift Operator is built with sparse (cs) matrices and therefore algebra can be performed with Cholesky. It allows to return the precision matrix as a cs.
PrecisionOpCs::PrecisionOpCs | ( | ShiftOpCs * | shiftop = nullptr , |
const CovAniso * | cova = nullptr , |
||
bool | flagDecompose = false , |
||
bool | verbose = false |
||
) |
PrecisionOpCs::PrecisionOpCs | ( | const AMesh * | mesh, |
Model * | model, | ||
int | icov = 0 , |
||
bool | flagDecompose = false , |
||
const CGParam | params = CGParam() , |
||
bool | verbose = false |
||
) |
|
virtual |
|
private |
|
overridevirtual |
Compute the Logarithm of the Determinant
nbsimu | Number of simulations |
seed | Seed for random number generation |
Reimplemented from PrecisionOp.
|
overridevirtual |
Reimplemented from PrecisionOp.
|
overridevirtual |
Reimplemented from PrecisionOp.
|
overridevirtual |
Evaluate with power = ONE
vecin | Input array |
vecout | Output array |
Reimplemented from PrecisionOp.
|
overridevirtual |
Reimplemented from PrecisionOp.
|
overridevirtual |
Reimplemented from PrecisionOp.
|
inline |
Triplet PrecisionOpCs::getQToTriplet | ( | bool | flag_from_1 = false | ) | const |
|
overridevirtual |
Reimplemented from PrecisionOp.
|
overridevirtual |
Reimplemented from PrecisionOp.
|
inline |
|
overridevirtual |
Reimplemented from PrecisionOp.
|
private |
|
private |