gstlearn
0.3.2
Geostatistics & Machine Learning toolbox
|
#include <PrecisionOpMultiConditional.hpp>
Public Member Functions | |
PrecisionOpMultiConditional () | |
virtual | ~PrecisionOpMultiConditional () |
virtual double | computeLogDetOp (int nsimus=1, int seed=123) const |
virtual void | push_back (PrecisionOp *pmatElem, IProjMatrix *projDataElem=nullptr) |
VectorDouble | getAllVarianceData () const |
double | getVarianceData (int iech) const |
void | setVarianceData (double nugg) |
void | setVarianceDataVector (const VectorDouble &nugg) |
int | sizes () const override |
int | size (int i) const override |
VectorVectorDouble | computeRhs (const VectorDouble &datVal) const |
void | computeRhsInPlace (const VectorDouble &datVal, VectorVectorDouble &rhs) const |
void | simulateOnMeshing (VectorDouble &gauss, VectorVectorDouble &result, int icov=0) const |
void | simulateOnDataPointFromMeshings (const VectorVectorDouble &simus, VectorDouble &result) const |
void | evalInvCov (const VectorDouble &inv, VectorDouble &result) const |
std::pair< double, double > | computeRangeEigenVal () const |
std::pair< double, double > | rangeEigenValQ () const |
double | getMaxEigenValProj () const |
double | sumLogVar () const |
double | computeLogDetQ (int nsimus=1, int seed=123) const |
double | computeTotalLogDet (int nsimus=1, int seed=123) const |
double | computeQuadratic (const VectorDouble &x) const |
void | preparePoly (Chebychev &logPoly) const |
void | AtA (const VectorVectorDouble &inv, VectorVectorDouble &outv) const |
VectorDouble | computeCoeffs (const VectorDouble &Y, const VectorVectorDouble &X) const |
const ProjMatrix * | getProjMatrix (int i=0) const |
![]() | |
ALinearOpMulti (int nitermax=1000, double eps=EPSILON8) | |
ALinearOpMulti (const ALinearOpMulti &m) | |
ALinearOpMulti & | operator= (const ALinearOpMulti &m) |
virtual | ~ALinearOpMulti () |
virtual void | evalInverse (const VectorVectorDouble &inv, VectorVectorDouble &outv) const |
void | evalDirect (const VectorVectorDouble &inv, VectorVectorDouble &outv) const |
void | initLk (const VectorVectorDouble &inv, VectorVectorDouble &outv) const |
void | setNIterMax (int nitermax) |
void | setEps (double eps) |
void | setPrecond (const ALinearOpMulti *precond, int status) |
void | resetStatCG () const |
void | printStatCG () const |
void | _linearComb (double val1, const VectorVectorDouble &in1, double val2, const VectorVectorDouble &in2, VectorVectorDouble &outv) const |
void | prodScalar (double val, const VectorVectorDouble &inv, VectorVectorDouble &outv) const |
void | addProdScalar (double val, const VectorVectorDouble &inv, VectorVectorDouble &outv) const |
void | _copyVals (const VectorVectorDouble &inv, VectorVectorDouble &outv) const |
void | _updated () const |
double | innerProduct (const VectorDouble &x, const VectorDouble &y) const |
double | innerProduct (const VectorVectorDouble &x, const VectorVectorDouble &y) const |
double | max (const VectorVectorDouble &vect) const |
void | fillVal (VectorVectorDouble &vect, double val) const |
void | diff (const VectorVectorDouble &, const VectorVectorDouble &, VectorVectorDouble &) const |
void | sum (const VectorVectorDouble &, const VectorVectorDouble &, VectorVectorDouble &) const |
void | _initPublic () const |
Protected Member Functions | |
void | _evalDirect (const VectorVectorDouble &inv, VectorVectorDouble &outv) const override |
void | _allocate (int i) const |
![]() | |
void | _init () const |
Private Attributes | |
std::vector< PrecisionOp * > | _multiPrecisionOp |
std::vector< IProjMatrix * > | _multiProjData |
VectorDouble | _varianceData |
int | _ndat |
int | _ncova |
VectorDouble | _work1 |
VectorDouble | _work1bis |
VectorDouble | _work1ter |
VectorDouble | _workdata |
VectorVectorDouble | _work2 |
VectorVectorDouble | _work3 |
Additional Inherited Members | |
![]() | |
VectorVectorDouble | _temp |
VectorVectorDouble | _p |
VectorVectorDouble | _z |
Class to store objects for SPDE
PrecisionOpMultiConditional::PrecisionOpMultiConditional | ( | ) |
|
virtual |
|
protected |
|
overrideprotectedvirtual |
Compute diag(Q1,...,Qncova) x + 1/nugget [A1,...,Ancova]^t [A1,...,Ancova] x in a block form where ncova is the number of basic structures excluding the nugget effect. Qi are the precision matrices associated to each structure and Ai are the projection matrices from the meshing vertices to the data locations.
Implements ALinearOpMulti.
void PrecisionOpMultiConditional::AtA | ( | const VectorVectorDouble & | inv, |
VectorVectorDouble & | outv | ||
) | const |
VectorDouble PrecisionOpMultiConditional::computeCoeffs | ( | const VectorDouble & | Y, |
const VectorVectorDouble & | X | ||
) | const |
|
virtual |
double PrecisionOpMultiConditional::computeLogDetQ | ( | int | nsimus = 1 , |
int | seed = 123 |
||
) | const |
double PrecisionOpMultiConditional::computeQuadratic | ( | const VectorDouble & | x | ) | const |
std::pair< double, double > PrecisionOpMultiConditional::computeRangeEigenVal | ( | ) | const |
VectorVectorDouble PrecisionOpMultiConditional::computeRhs | ( | const VectorDouble & | datVal | ) | const |
void PrecisionOpMultiConditional::computeRhsInPlace | ( | const VectorDouble & | datVal, |
VectorVectorDouble & | rhs | ||
) | const |
double PrecisionOpMultiConditional::computeTotalLogDet | ( | int | nsimus = 1 , |
int | seed = 123 |
||
) | const |
void PrecisionOpMultiConditional::evalInvCov | ( | const VectorDouble & | inv, |
VectorDouble & | result | ||
) | const |
|
inline |
double PrecisionOpMultiConditional::getMaxEigenValProj | ( | ) | const |
|
inline |
|
inline |
void PrecisionOpMultiConditional::preparePoly | ( | Chebychev & | logPoly | ) | const |
|
virtual |
std::pair< double, double > PrecisionOpMultiConditional::rangeEigenValQ | ( | ) | const |
|
inline |
|
inline |
void PrecisionOpMultiConditional::simulateOnDataPointFromMeshings | ( | const VectorVectorDouble & | simus, |
VectorDouble & | result | ||
) | const |
void PrecisionOpMultiConditional::simulateOnMeshing | ( | VectorDouble & | gauss, |
VectorVectorDouble & | result, | ||
int | icov = 0 |
||
) | const |
|
inlineoverridevirtual |
Implements ALinearOpMulti.
|
inlineoverridevirtual |
Returns the dimension of the matrix
Implements ALinearOpMulti.
double PrecisionOpMultiConditional::sumLogVar | ( | ) | const |
|
private |
|
private |
|
private |
|
private |
|
private |
|
mutableprivate |
|
mutableprivate |
|
mutableprivate |
|
mutableprivate |
|
mutableprivate |
|
mutableprivate |