Loading [MathJax]/extensions/tex2jax.js
1.7.4
Geostatistics & Machine Learning toolbox | https://gstlearn.org
 
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
KrigingAlgebra Class Reference

Perform the Algebra for Kriging and CoKriging. More...

#include <KrigingAlgebra.hpp>

Detailed Description

Perform the Algebra for Kriging and CoKriging.

It requires the definition of:

  • the vector of Data values Z (possibly multivariate and heterotopic)
  • the Covariance matrix at data points Sigma
  • the Drift matrix at data points X (UK if defined, SK otherwise)
  • the Covariance matrix at target Sigma00 (only for calculating variance)
  • the Drift coefficients Beta (for SK)

Note: When using SK:

  • the vector Z must be centered by the drift beforehand
  • the vector beta corresponds to the vector of Means.

Public Member Functions

 KrigingAlgebra (bool flagDual=false, const VectorVectorInt *sampleRanks=nullptr, const VectorDouble *Z=nullptr, const MatrixSymmetric *Sigma=nullptr, const MatrixDense *X=nullptr, const MatrixSymmetric *Sigma00=nullptr, const VectorDouble *Means=nullptr)
 
 KrigingAlgebra (const KrigingAlgebra &r)=delete
 
KrigingAlgebraoperator= (const KrigingAlgebra &r)=delete
 
virtual ~KrigingAlgebra ()
 
void setDual (bool status)
 
void resetNewData ()
 Method to be used when the data has changed (e.g. Moving Neighborhood)
 
int setData (const VectorDouble *Z=nullptr, const VectorVectorInt *indices=nullptr, const VectorDouble *Means=nullptr)
 Modify the Data Values (and Means)
 
int setLHS (const MatrixSymmetric *Sigma=nullptr, const MatrixDense *X=nullptr)
 Modify the elements linked to the LHS.
 
int setRHS (const MatrixDense *Sigma0=nullptr, const MatrixDense *X0=nullptr)
 
int setVariance (const MatrixSymmetric *Sigma00=nullptr)
 
int setBayes (const VectorDouble *PriorMean=nullptr, const MatrixSymmetric *PriorCov=nullptr)
 
int setXvalidUnique (const VectorInt *rankXvalidEqs=nullptr, const VectorInt *rankXvalidVars=nullptr)
 Define the elements of the input Db to be cross-validated.
 
int setColCokUnique (const VectorDouble *Zp=nullptr, const VectorInt *rankColCok=nullptr)
 Define the inforlation for Collocated Option.
 
void printStatus () const
 
void dumpLHS (int nbypas=5) const
 
void dumpRHS () const
 
void dumpWGT ()
 
void dumpAux ()
 
VectorDouble getEstimation ()
 
VectorDouble getStdv ()
 
VectorDouble getVarianceZstar ()
 
VectorDouble getPostMean ()
 
const MatrixSymmetricgetStdvMat ()
 
const MatrixSymmetricgetVarianceZstarMat ()
 
const MatrixSymmetricgetPostCov ()
 
const MatrixDensegetLambda ()
 
const MatrixDensegetLambda0 ()
 
const MatrixDensegetMu ()
 
double getLTerm ()
 
bool isDual () const
 

Constructor & Destructor Documentation

◆ KrigingAlgebra() [1/2]

KrigingAlgebra::KrigingAlgebra ( bool  flagDual = false,
const VectorVectorInt sampleRanks = nullptr,
const VectorDouble Z = nullptr,
const MatrixSymmetric Sigma = nullptr,
const MatrixDense X = nullptr,
const MatrixSymmetric Sigma00 = nullptr,
const VectorDouble Means = nullptr 
)

◆ KrigingAlgebra() [2/2]

KrigingAlgebra::KrigingAlgebra ( const KrigingAlgebra r)
delete

◆ ~KrigingAlgebra()

KrigingAlgebra::~KrigingAlgebra ( )
virtual

Member Function Documentation

◆ dumpAux()

void KrigingAlgebra::dumpAux ( )

◆ dumpLHS()

void KrigingAlgebra::dumpLHS ( int  nbypas = 5) const

◆ dumpRHS()

void KrigingAlgebra::dumpRHS ( ) const

◆ dumpWGT()

void KrigingAlgebra::dumpWGT ( )

◆ getEstimation()

VectorDouble KrigingAlgebra::getEstimation ( )

◆ getLambda()

const MatrixDense * KrigingAlgebra::getLambda ( )

◆ getLambda0()

const MatrixDense * KrigingAlgebra::getLambda0 ( )

◆ getLTerm()

double KrigingAlgebra::getLTerm ( )

◆ getMu()

const MatrixDense * KrigingAlgebra::getMu ( )

◆ getPostCov()

const MatrixSymmetric * KrigingAlgebra::getPostCov ( )

◆ getPostMean()

VectorDouble KrigingAlgebra::getPostMean ( )

◆ getStdv()

VectorDouble KrigingAlgebra::getStdv ( )

◆ getStdvMat()

const MatrixSymmetric * KrigingAlgebra::getStdvMat ( )

◆ getVarianceZstar()

VectorDouble KrigingAlgebra::getVarianceZstar ( )

◆ getVarianceZstarMat()

const MatrixSymmetric * KrigingAlgebra::getVarianceZstarMat ( )

◆ isDual()

bool KrigingAlgebra::isDual ( ) const
inline

◆ operator=()

KrigingAlgebra & KrigingAlgebra::operator= ( const KrigingAlgebra r)
delete

◆ printStatus()

void KrigingAlgebra::printStatus ( ) const

◆ resetNewData()

void KrigingAlgebra::resetNewData ( )

Method to be used when the data has changed (e.g. Moving Neighborhood)

◆ setBayes()

int KrigingAlgebra::setBayes ( const VectorDouble PriorMean = nullptr,
const MatrixSymmetric PriorCov = nullptr 
)

◆ setColCokUnique()

int KrigingAlgebra::setColCokUnique ( const VectorDouble Zp = nullptr,
const VectorInt rankColCok = nullptr 
)

Define the inforlation for Collocated Option.

Parameters
ZpVector of the Collocated variables (see note)
rankColCokVector of ranks of Collocated variables (dim: _nvar)
Returns
int Error return code
Note
Argument 'rankColCok' gives the variable rank in Target File or -1
The argument 'Zp' must be corrected by the mean of the variables for the use of Collocated Option in Simple Kriging

◆ setData()

int KrigingAlgebra::setData ( const VectorDouble Z = nullptr,
const VectorVectorInt indices = nullptr,
const VectorDouble Means = nullptr 
)

Modify the Data Values (and Means)

Parameters
ZData flattened vector (possibly multivariate)
indicesVector Of Vector of sample ranks
MeansVector of known Drift coefficients (optional)
Returns
int
Note
If one element is not provided, its address (if already defined) is
kept unchanged (even if its contents may have been updated)

◆ setDual()

void KrigingAlgebra::setDual ( bool  status)

◆ setLHS()

int KrigingAlgebra::setLHS ( const MatrixSymmetric Sigma = nullptr,
const MatrixDense X = nullptr 
)

Modify the elements linked to the LHS.

Parameters
SigmaData-Data Covariance matrix
XData Drift Matrix
Returns
int
Note
If one element is not provided, its address (if already defined) is
kept unchanged (even if its contents may have been updated)

◆ setRHS()

int KrigingAlgebra::setRHS ( const MatrixDense Sigma0 = nullptr,
const MatrixDense X0 = nullptr 
)

◆ setVariance()

int KrigingAlgebra::setVariance ( const MatrixSymmetric Sigma00 = nullptr)

◆ setXvalidUnique()

int KrigingAlgebra::setXvalidUnique ( const VectorInt rankXvalidEqs = nullptr,
const VectorInt rankXvalidVars = nullptr 
)

Define the elements of the input Db to be cross-validated.

Parameters
rankXvalidEqsVector of equation ranks to be cross-validated
rankXvalidVarsVector of variable ranks to be cross-validated
Returns
int Error return code
Remarks
The argument 'rankXvalidVars' only serves in assigning the mean of the correct cross-validated variable (SK only). It is optional in OK

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