gstlearn
1.0.0
CCC
|
#include <PrecisionOpMultiConditional.hpp>
Public Member Functions | |
PrecisionOpMultiConditional () | |
PrecisionOpMultiConditional (const PrecisionOpMultiConditional &m)=delete | |
PrecisionOpMultiConditional & | operator= (const PrecisionOpMultiConditional &m)=delete |
virtual | ~PrecisionOpMultiConditional () |
virtual void | makeReady () |
Interface for PrecisionOpMultiConditional. More... | |
virtual int | push_back (PrecisionOp *pmatElem, IProjMatrix *projDataElem=nullptr) |
virtual double | computeLogDetOp (int nbsimu=1, int seed=123) const |
int | sizes () const override |
Interface for ALinearOpMulti. More... | |
int | size (int i) const override |
VectorDouble | getAllVarianceData () const |
double | getVarianceData (int iech) const |
void | setVarianceData (double nugg) |
void | setVarianceDataVector (const VectorDouble &nugg) |
VectorVectorDouble | computeRhs (const VectorDouble &datVal) const |
void | computeRhsInPlace (const VectorDouble &datVal, VectorVectorDouble &rhs) const |
void | simulateOnMeshings (VectorVectorDouble &result) const |
void | simulateOnMeshing (VectorDouble &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 nbsimu=1, int seed=123) const |
double | computeTotalLogDet (int nbsimu=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 |
const PrecisionOp * | getMultiPrecisionOp (int i=0) const |
void | mustShowStats (bool status) const |
Public Member Functions inherited from ALinearOpMulti | |
ALinearOpMulti (int nitermax=1000, double eps=EPSILON8) | |
ALinearOpMulti (const ALinearOpMulti &m) | |
ALinearOpMulti & | operator= (const ALinearOpMulti &m) |
virtual | ~ALinearOpMulti () |
virtual void | evalInverse (const VectorVectorDouble &vecin, VectorVectorDouble &vecout) 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) |
const LogStats & | getLogStats () const |
void | prepare () const |
Protected Member Functions | |
void | _evalDirect (const VectorVectorDouble &inv, VectorVectorDouble &outv) const override |
void | _allocate (int i) const |
Protected Member Functions inherited from ALinearOpMulti | |
void | _updated () 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 | |
Public Attributes inherited from ALinearOpMulti | |
VectorVectorDouble | _temp |
VectorVectorDouble | _p |
VectorVectorDouble | _z |
Protected Attributes inherited from ALinearOpMulti | |
LogStats | _logStats |
Class to store objects for SPDE
PrecisionOpMultiConditional::PrecisionOpMultiConditional | ( | ) |
|
delete |
|
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 |
Reimplemented in PrecisionOpMultiConditionalCs.
double PrecisionOpMultiConditional::computeLogDetQ | ( | int | nbsimu = 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 | nbsimu = 1 , |
int | seed = 123 |
||
) | const |
void PrecisionOpMultiConditional::evalInvCov | ( | const VectorDouble & | inv, |
VectorDouble & | result | ||
) | const |
|
inline |
double PrecisionOpMultiConditional::getMaxEigenValProj | ( | ) | const |
|
inline |
|
inline |
|
inline |
|
virtual |
Interface for PrecisionOpMultiConditional.
Reimplemented in PrecisionOpMultiConditionalCs.
|
inline |
|
delete |
void PrecisionOpMultiConditional::preparePoly | ( | Chebychev & | logPoly | ) | const |
|
virtual |
Reimplemented in PrecisionOpMultiConditionalCs.
std::pair< double, double > PrecisionOpMultiConditional::rangeEigenValQ | ( | ) | const |
|
inline |
|
inline |
void PrecisionOpMultiConditional::simulateOnDataPointFromMeshings | ( | const VectorVectorDouble & | simus, |
VectorDouble & | result | ||
) | const |
void PrecisionOpMultiConditional::simulateOnMeshing | ( | VectorDouble & | result, |
int | icov = 0 |
||
) | const |
void PrecisionOpMultiConditional::simulateOnMeshings | ( | VectorVectorDouble & | result | ) | const |
|
inlineoverridevirtual |
Implements ALinearOpMulti.
|
inlineoverridevirtual |
Interface for ALinearOpMulti.
Implements ALinearOpMulti.
double PrecisionOpMultiConditional::sumLogVar | ( | ) | const |
|
private |
|
private |
|
private |
|
private |
|
private |
|
mutableprivate |
|
mutableprivate |
|
mutableprivate |
|
mutableprivate |
|
mutableprivate |
|
mutableprivate |