Class containing the Covariance part of the Model. More...
#include <ACov.hpp>
Class containing the Covariance part of the Model.
It is the uppermost class of the Covariance Tree and is conceived as simple as possible on purpose (in order to let the user defined its own version if necessary): it must simply be able to return its value between two end-point (see eval method).
It is mainly implemented in CovAniso.hpp or CovAnisoList.hpp
Public Member Functions | |
ACov (const CovContext &ctxt=CovContext()) | |
ACov (const ACov &r) | |
ACov & | operator= (const ACov &r) |
virtual | ~ACov () |
virtual Id | getNVar () const |
ACov Interface. | |
virtual bool | isIndexable () const |
bool | isNoStat () const |
const CovContext & | getContext () const |
void | setContext (const CovContext &ctxt) |
void | updateFromContext () |
virtual void | copyCovContext (const CovContext &ctxt) |
void | initFromContext () |
CovContext | getContextCopy () const |
virtual double | eval0 (Id ivar=0, Id jvar=0, const CovCalcMode *mode=nullptr) const |
Calculate the covariance between two variables for 0-distance (stationary case) | |
double | evalCov (const SpacePoint &p1, const SpacePoint &p2, Id ivar=0, Id jvar=0, const CovCalcMode *mode=nullptr) const |
Calculate the covariance between two variables and two points (general case) | |
std::vector< double > | evalCovGrad (const SpacePoint &p1, const SpacePoint &p2, Id ivar=0, Id jvar=0, const CovCalcMode *mode=nullptr) |
virtual double | evalCovOnSphere (double alpha, Id degree=50, bool flagScaleDistance=false, const CovCalcMode *mode=nullptr) const |
virtual | evalSpectrumOnSphere (Id n, bool flagNormDistance=false, bool flagCumul=false) const |
virtual double | evalSpectrum (const 1 &freq, Id ivar, Id jvar) const |
virtual void | updateCovByPoints (Id icas1, Id iech1, Id icas2, Id iech2) const |
double | evalZGNumeric (const SpacePoint &p1, const SpacePoint &p2, Id ivar, Id jvar, Id idim, double radius, const CovCalcMode *mode) const |
double | evalGGNumeric (const SpacePoint &p1, const SpacePoint &p2, Id ivar, Id jvar, Id idim, Id jdim, double radius, const CovCalcMode *mode) const |
void | attachNoStatDb (const Db *db) |
ASpaceSharedPtr | getSpace () const |
virtual bool | isConsistent (const ASpace *space) const |
virtual bool | isOptimEnabled () const |
Functions linked to Optimization during Covariance calculations. | |
void | optimizationPreProcess (Id mode, const std::vector< SpacePoint > &ps) const |
SpacePoint & | optimizationLoadInPlace (Id iech, Id mode, Id rank) const |
void | optimizationPostProcess () const |
void | optimizationSetTarget (SpacePoint &pt) const |
eval (const std::vector< SpacePoint > &vec_p1, const std::vector< SpacePoint > &vec_p2, Id ivar=0, Id jvar=0, const CovCalcMode *mode=nullptr) const | |
Functions for evaluating Covariances. | |
MatrixSymmetric | eval0Mat (const CovCalcMode *mode=nullptr) const |
MatrixSymmetric | evalCovMat0 (const Db *db, Id iech, const KrigOpt &krigopt=KrigOpt()) const |
Functions for evaluating Covariance Matrices either in place or not. | |
MatrixDense | evalCovMat (const Db *db1, const Db *db2=nullptr, Id ivar0=-1, Id jvar0=-1, const 1 &nbgh1=1(), const 1 &nbgh2=1(), const CovCalcMode *mode=nullptr, bool cleanOptim=true) const |
MatrixSymmetric | evalCovMatSym (const Db *db1, const 1 &nbgh1=1(), Id ivar0=-1, const CovCalcMode *mode=nullptr, bool cleanOptim=true) const |
MatrixSparse * | evalCovMatSparse (const Db *db1_arg, const Db *db2_arg=nullptr, Id ivar0=-1, Id jvar0=-1, const 1 &nbgh1=1(), const 1 &nbgh2=1(), const CovCalcMode *mode=nullptr, bool cleanOptim=true, double eps=EPSILON3) const |
Id | evalCovMat0InPlace (MatrixSymmetric &mat, const Db *db, Id iech, const KrigOpt &krigopt=KrigOpt()) const |
Id | evalCovMatInPlace (MatrixDense &mat, const Db *db1, const Db *db2=nullptr, Id ivar0=-1, Id jvar0=-1, const 1 &nbgh1=1(), const 1 &nbgh2=1(), const CovCalcMode *mode=nullptr, bool cleanOptim=true) const |
Id | evalCovMatSymInPlace (MatrixSymmetric &mat, const Db *db1, const 1 &nbgh1=1(), Id ivar0=-1, const CovCalcMode *mode=nullptr, bool cleanOptim=true) const |
Id | evalCovMatInPlaceFromIdx (MatrixDense &mat, const Db *db1, const Db *db2, const 1 &index1, const 1 &index2, const 1 &nbgh2=1(), const CovCalcMode *mode=nullptr, bool cleanOptim=true) const |
Id | evalCovMatSymInPlaceFromIdx (MatrixSymmetric &mat, const Db *db1, const 1 &index1, const CovCalcMode *mode=nullptr, bool cleanOptim=true) const |
Id | evalCovMatRHSInPlaceFromIdx (MatrixDense &mat, const Db *db1, const Db *db2, const 1 &index1, const Id iech2=-1, const KrigOpt &krigopt=KrigOpt(), bool cleanOptim=true) const |
Id | evalCovVecRHSInPlace (vect vect, const RankHandler &rank, Id iech2, const KrigOpt &krigopt, SpacePoint &pin, SpacePoint &pout, 1 &tabwork, double lambda=1., const ECalcMember &calcMember=ECalcMember::RHS) const |
Id | evalCovMatOptimInPlace (MatrixDense &mat, const Db *dbin, const RankHandler &rankhandler, const KrigOpt &krigopt, const ECalcMember &calcMember, 1 &tabwork, double lambda=1.) const |
virtual Id | addEvalCovVecRHSInPlace (vect vect, const 1 &index1, const Id iech2, const KrigOpt &krigopt, SpacePoint &pin, SpacePoint &pout, 1 &tabwork, double lambda=1., const ECalcMember &calcMember=ECalcMember::RHS) const |
void | eval0CovMatBiPointInPlace (MatrixSymmetric &mat, const CovCalcMode *mode) const |
double | evalIvarIpas (double step, const 1 &dir=1(), Id ivar=0, Id jvar=0, const CovCalcMode *mode=nullptr) const |
double | evalIvarIpasIncr (const 1 &dincr, Id ivar=0, Id jvar=0, const CovCalcMode *mode=nullptr) const |
evalIvarNlag (const 1 &vec_step, const 1 &dir=1(), Id ivar=0, Id jvar=0, const CovCalcMode *mode=nullptr) const | |
MatrixSquare | evalNvarIpas (double step, const 1 &dir=1(), const CovCalcMode *mode=nullptr) const |
MatrixSquare | evalNvarIpasIncr (const 1 &dincr, const CovCalcMode *mode=nullptr) const |
double | evalIsoIvarIpas (double step, Id ivar=0, Id jvar=0, const CovCalcMode *mode=nullptr) const |
evalIsoIvarNlag (const 1 &vec_step, Id ivar=0, Id jvar=0, const CovCalcMode *mode=nullptr) const | |
MatrixSquare | evalIsoNvarIpas (double step, const CovCalcMode *mode=nullptr) const |
double | evalCvv (const 1 &ext, const 1 &ndisc, const 1 &angles=1(), Id ivar=0, Id jvar=0, const CovCalcMode *mode=nullptr) const |
double | evalCvvShift (const 1 &ext, const 1 &ndisc, const 1 &shift, const 1 &angles=1(), Id ivar=0, Id jvar=0, const CovCalcMode *mode=nullptr) const |
MatrixSquare | evalCvvM (const 1 &ext, const 1 &ndisc, const 1 &angles=1(), const CovCalcMode *mode=nullptr) const |
double | evalCxv (const SpacePoint &p1, const 1 &ext, const 1 &ndisc, const 1 &angles=1(), const 1 &x0=1(), Id ivar=0, Id jvar=0, const CovCalcMode *mode=nullptr) const |
double | evalCxv (const Db *db, const 1 &ext, const 1 &ndisc, const 1 &angles=1(), const 1 &x0=1(), Id ivar=0, Id jvar=0, const CovCalcMode *mode=nullptr) const |
MatrixSquare | evalCxvM (const SpacePoint &p1, const 1 &ext, const 1 &ndisc, const 1 &angles=1(), const 1 &x0=1(), const CovCalcMode *mode=nullptr) const |
void | evalPointToDb (1 &values, const SpacePoint &p1, const Db *db2, Id ivar=0, Id jvar=0, bool useSel=true, const 1 &nbgh2=1(), const CovCalcMode *mode=nullptr) const |
void | evalPointToDbAsSP (1 &values, const std::vector< SpacePoint > &p1s, const SpacePoint &p2, Id ivar=0, Id jvar=0, const CovCalcMode *mode=nullptr) const |
double | evalAverageDbToDb (const Db *db1, const Db *db2, Id ivar=0, Id jvar=0, double eps=0., Id seed=434132, const CovCalcMode *mode=nullptr) const |
double | evalAverageIncrToIncr (const 1 &d1, const 1 &d2, Id ivar=0, Id jvar=0, const CovCalcMode *mode=nullptr) const |
double | evalAveragePointToDb (const SpacePoint &p1, const Db *db2, Id ivar=0, Id jvar=0, const CovCalcMode *mode=nullptr) const |
double | extensionVariance (const Db *db, const 1 &ext, const 1 &ndisc, const 1 &angles=1(), const 1 &x0=1(), Id ivar=0, Id jvar=0) const |
double | samplingDensityVariance (const Db *db, const 1 &ext, const 1 &ndisc, const 1 &angles=1(), const 1 &x0=1(), Id ivar=0, Id jvar=0) const |
double | specificVolume (const Db *db, double mean, const 1 &ext, const 1 &ndisc, const 1 &angles=1(), const 1 &x0=1(), Id ivar=0, Id jvar=0) const |
double | coefficientOfVariation (const Db *db, double volume, double mean, const 1 &ext, const 1 &ndisc, const 1 &angles=1(), const 1 &x0=1(), Id ivar=0, Id jvar=0) const |
double | specificVolumeFromCoV (Db *db, double cov, double mean, const 1 &ext, const 1 &ndisc, const 1 &angles=1(), const 1 &x0=1(), Id ivar=0, Id jvar=0) const |
double | evaluateOneGeneric (const CovInternal *covint, const 1 &d1=1(), double weight=1., const CovCalcMode *mode=nullptr) const |
double | calculateStDev (Db *db1, Id iech1, Db *db2, Id iech2, bool verbose=false, double factor=1., const CovCalcMode *mode=nullptr) const |
void | evaluateMatInPlace (const CovInternal *covint, const 1 &d1, MatrixSquare &covtab, bool flag_init=false, double weight=1., const CovCalcMode *mode=nullptr) const |
evaluateFromDb (Db *db, Id ivar=0, Id jvar=0, const CovCalcMode *mode=nullptr) const | |
double | evaluateOneIncr (double hh, const 1 &codir=1(), Id ivar=0, Id jvar=0, const CovCalcMode *mode=nullptr) const |
sample (const 1 &h, const 1 &codir=1(), Id ivar=0, Id jvar=0, const CovCalcMode *mode=nullptr, const CovInternal *covint=nullptr) const | |
sampleUnitary (const 1 &hh, Id ivar=0, Id jvar=0, 1 codir=1(), const CovCalcMode *mode=nullptr) const | |
envelop (const 1 &hh, Id ivar=0, Id jvar=0, Id isign=1, 1 codir=1(), const CovCalcMode *mode=nullptr) const | |
Id | buildVmapOnDbGrid (DbGrid *dbgrid, const NamingConvention &namconv=NamingConvention("VMAP")) const |
double | gofToVario (const Vario *vario, bool verbose=true) const |
void | manage (const Db *db1, const Db *db2) const |
void | load (const SpacePoint &p, bool case1) const |
virtual void | updateCovByMesh (Id imesh, bool aniso=true) const |
virtual double | getValue (const EConsElem &econs, Id iv1, Id iv2) const |
void | makeStationary () |
virtual Id | makeElemNoStat (const EConsElem &econs, Id iv1, Id iv2, const AFunctional *func=nullptr, const Db *db=nullptr, const String &namecol=String()) |
void | createNoStatTab () |
void | informMeshByMesh (const AMesh *amesh) const |
void | informMeshByApex (const AMesh *amesh) const |
informCoords (const 1 &coords, const EConsElem &econs, Id iv1=0, Id iv2=0) const | |
void | informDbIn (const Db *dbin) const |
void | informDbOut (const Db *dbout) const |
virtual void | updateCovByPoints (Id icas1, Id iech1, Id icas2, Id iech2) |
Id | getNDim (Id ispace=-1) const |
void | optimizationPreProcessForData (const Db *db1=nullptr) const |
virtual void | setOptimEnabled (bool enabled) const |
bool | checkAndManageNoStatDb (const Db *db, const String &namecol) |
std::shared_ptr< const Db > | getDbNoStat () const |
const Db * | getDbNoStatRaw () const |
void | setNoStatDbIfNecessary (const Db *db) |
void | setNoStatDbIfNecessary (std::shared_ptr< const Db > &db) |
virtual void | appendParams (ListParams &listParams, std::vector< covmaptype > *gradFuncs=nullptr) |
virtual void | updateCov () |
virtual void | initParams (const MatrixSymmetric &vars, double href=1.) |
![]() | |
ICloneable () | |
virtual | ~ICloneable () |
virtual ICloneable * | clone () const =0 |
std::shared_ptr< ICloneable > | cloneShared () const |
std::unique_ptr< ICloneable > | cloneUnique () const |
![]() | |
AStringable () | |
AStringable (const AStringable &r) | |
AStringable & | operator= (const AStringable &r) |
virtual | ~AStringable () |
virtual String | toString (const AStringFormat *strfmt=nullptr) const |
virtual void | display (const AStringFormat *strfmt=nullptr) const final |
virtual void | display (Id level) const final |
Static Public Member Functions | |
static void | gofDisplay (double gof, bool byValue=true, const 1 &thresholds={2., 5., 10., 100}) |
gstlrn::ACov::ACov | ( | const CovContext & | ctxt = CovContext() | ) |
gstlrn::ACov::ACov | ( | const ACov & | r | ) |
|
virtual |
|
virtual |
Reimplemented in gstlrn::CovList, gstlrn::CorAniso, and gstlrn::CovBase.
|
inlinevirtual |
Reimplemented in gstlrn::CorAniso, gstlrn::CovAnisoList, gstlrn::CovBase, and gstlrn::CovList.
void gstlrn::ACov::attachNoStatDb | ( | const Db * | db | ) |
Id gstlrn::ACov::buildVmapOnDbGrid | ( | DbGrid * | dbgrid, |
const NamingConvention & | namconv = NamingConvention("VMAP") |
||
) | const |
double gstlrn::ACov::calculateStDev | ( | Db * | db1, |
Id | iech1, | ||
Db * | db2, | ||
Id | iech2, | ||
bool | verbose = false , |
||
double | factor = 1. , |
||
const CovCalcMode * | mode = nullptr |
||
) | const |
Returns the standard deviation at a given increment for a given model between two samples of two Dbs
[in] | db1 | First Db |
[in] | iech1 | Rank in the first Db |
[in] | db2 | Second Db |
[in] | iech2 | Rank in the second Db |
[in] | verbose | Verbose flag |
[in] | factor | Multiplicative factor for standard deviation |
[in] | mode | CovCalcMode structure |
double gstlrn::ACov::coefficientOfVariation | ( | const Db * | db, |
double | volume, | ||
double | mean, | ||
const 1 & | ext, | ||
const 1 & | ndisc, | ||
const 1 & | angles = 1() , |
||
const 1 & | x0 = 1() , |
||
Id | ivar = 0 , |
||
Id | jvar = 0 |
||
) | const |
Calculate the Coefficient of Variation
db | Set of data points |
volume | Specific production volume |
mean | Value of the Mean |
ext | Target Block extension |
ndisc | Vector of discretization |
angles | Optional rotation angle for block |
x0 | Optional origin of the Block |
ivar | Rank of the first variable |
jvar | Rank of the second variable |
|
inlinevirtual |
Reimplemented in gstlrn::CovList.
void gstlrn::ACov::createNoStatTab | ( | ) |
gstlrn::ACov::envelop | ( | const 1 & | hh, |
Id | ivar = 0 , |
||
Id | jvar = 0 , |
||
Id | isign = 1 , |
||
1 | codir = 1() , |
||
const CovCalcMode * | mode = nullptr |
||
) | const |
gstlrn::ACov::eval | ( | const std::vector< SpacePoint > & | vec_p1, |
const std::vector< SpacePoint > & | vec_p2, | ||
Id | ivar = 0 , |
||
Id | jvar = 0 , |
||
const CovCalcMode * | mode = nullptr |
||
) | const |
Functions for evaluating Covariances.
|
virtual |
Calculate the covariance between two variables for 0-distance (stationary case)
Reimplemented in gstlrn::CovAniso, gstlrn::CovAnisoList, gstlrn::CovGradientNumerical, gstlrn::CovList, gstlrn::CovLMCAnamorphosis, gstlrn::CovLMCConvolution, and gstlrn::CovLMCTapering.
void gstlrn::ACov::eval0CovMatBiPointInPlace | ( | MatrixSymmetric & | mat, |
const CovCalcMode * | mode | ||
) | const |
Calculate the Matrix of covariance for zero distance
mat | Covariance matrix (Dimension: nvar * nvar) |
mode | Calculation Options |
MatrixSymmetric gstlrn::ACov::eval0Mat | ( | const CovCalcMode * | mode = nullptr | ) | const |
double gstlrn::ACov::evalAverageDbToDb | ( | const Db * | db1, |
const Db * | db2, | ||
Id | ivar = 0 , |
||
Id | jvar = 0 , |
||
double | eps = 0. , |
||
Id | seed = 434132 , |
||
const CovCalcMode * | mode = nullptr |
||
) | const |
Calculate the (weighted) average Covariance between samples of two Dbs, for a pair of variables
db1 | Pointer to the first Db |
db2 | Pointer to the second Db |
ivar | Rank of the first variables |
jvar | Rank of the second variable |
eps | Epsilon used for randomization in calculation of CVV (optional) |
seed | Seed for the randomization |
mode | CovCalcMode structure |
double gstlrn::ACov::evalAverageIncrToIncr | ( | const 1 & | d1, |
const 1 & | d2, | ||
Id | ivar = 0 , |
||
Id | jvar = 0 , |
||
const CovCalcMode * | mode = nullptr |
||
) | const |
double gstlrn::ACov::evalAveragePointToDb | ( | const SpacePoint & | p1, |
const Db * | db2, | ||
Id | ivar = 0 , |
||
Id | jvar = 0 , |
||
const CovCalcMode * | mode = nullptr |
||
) | const |
Calculate the (weighted) average Covariance between a point and a Db for a pair of variables
p1 | Point location |
db2 | Pointer to the second Db |
ivar | Rank of the first variables |
jvar | Rank of the second variable |
mode | CovCalcMode structure |
double gstlrn::ACov::evalCov | ( | const SpacePoint & | p1, |
const SpacePoint & | p2, | ||
Id | ivar = 0 , |
||
Id | jvar = 0 , |
||
const CovCalcMode * | mode = nullptr |
||
) | const |
Calculate the covariance between two variables and two points (general case)
std::vector< double > gstlrn::ACov::evalCovGrad | ( | const SpacePoint & | p1, |
const SpacePoint & | p2, | ||
Id | ivar = 0 , |
||
Id | jvar = 0 , |
||
const CovCalcMode * | mode = nullptr |
||
) |
MatrixDense gstlrn::ACov::evalCovMat | ( | const Db * | db1, |
const Db * | db2 = nullptr , |
||
Id | ivar0 = -1 , |
||
Id | jvar0 = -1 , |
||
const 1 & | nbgh1 = 1() , |
||
const 1 & | nbgh2 = 1() , |
||
const CovCalcMode * | mode = nullptr , |
||
bool | cleanOptim = true |
||
) | const |
Establish the covariance matrix between two Dbs Takes into account selection and heterotopy
[in] | db1 | First Db |
[in] | db2 | Second Db (= db1 if absent) |
[in] | ivar0 | Rank of the first variable (-1 for all variables) |
[in] | jvar0 | Rank of the second variable (-1 for all variables) |
[in] | nbgh1 | Vector of indices of active samples in db1 (optional) |
[in] | nbgh2 | Vector of indices of active samples in db2 (optional) |
[in] | mode | CovCalcMode structure |
[in] | cleanOptim | When True, clean optimization internal when ended |
MatrixSymmetric gstlrn::ACov::evalCovMat0 | ( | const Db * | db, |
Id | iech, | ||
const KrigOpt & | krigopt = KrigOpt() |
||
) | const |
Functions for evaluating Covariance Matrices either in place or not.
Id gstlrn::ACov::evalCovMat0InPlace | ( | MatrixSymmetric & | mat, |
const Db * | db, | ||
Id | iech, | ||
const KrigOpt & | krigopt = KrigOpt() |
||
) | const |
Id gstlrn::ACov::evalCovMatInPlace | ( | MatrixDense & | mat, |
const Db * | db1, | ||
const Db * | db2 = nullptr , |
||
Id | ivar0 = -1 , |
||
Id | jvar0 = -1 , |
||
const 1 & | nbgh1 = 1() , |
||
const 1 & | nbgh2 = 1() , |
||
const CovCalcMode * | mode = nullptr , |
||
bool | cleanOptim = true |
||
) | const |
Id gstlrn::ACov::evalCovMatInPlaceFromIdx | ( | MatrixDense & | mat, |
const Db * | db1, | ||
const Db * | db2, | ||
const 1 & | index1, | ||
const 1 & | index2, | ||
const 1 & | nbgh2 = 1() , |
||
const CovCalcMode * | mode = nullptr , |
||
bool | cleanOptim = true |
||
) | const |
Id gstlrn::ACov::evalCovMatOptimInPlace | ( | MatrixDense & | mat, |
const Db * | dbin, | ||
const RankHandler & | rankhandler, | ||
const KrigOpt & | krigopt, | ||
const ECalcMember & | calcMember, | ||
1 & | tabwork, | ||
double | lambda = 1. |
||
) | const |
Id gstlrn::ACov::evalCovMatRHSInPlaceFromIdx | ( | MatrixDense & | mat, |
const Db * | db1, | ||
const Db * | db2, | ||
const 1 & | index1, | ||
const Id | iech2 = -1 , |
||
const KrigOpt & | krigopt = KrigOpt() , |
||
bool | cleanOptim = true |
||
) | const |
Establish covariance matrix between one Db and one sample of a Target Db
[in] | mat | Matrix (possibly resized) |
[in] | db1 | First Db |
[in] | db2 | Second Db |
[in] | index1 | Vector of vector indices of active samples in db1 |
[in] | iech2 | Sample rank within db2 |
[in] | krigopt | KrigOpt structure |
[in] | cleanOptim | When True, clean optimization internal when ended |
MatrixSparse * gstlrn::ACov::evalCovMatSparse | ( | const Db * | db1, |
const Db * | db2 = nullptr , |
||
Id | ivar0 = -1 , |
||
Id | jvar0 = -1 , |
||
const 1 & | nbgh1 = 1() , |
||
const 1 & | nbgh2 = 1() , |
||
const CovCalcMode * | mode = nullptr , |
||
bool | cleanOptim = true , |
||
double | eps = EPSILON3 |
||
) | const |
Establish the covariance matrix between two Dbs where samples are selected by ranks The output is stored in a Sparse Matrix
[in] | db1 | First Db |
[in] | db2 | Second Db |
[in] | ivar0 | Rank of the first variable (-1: all variables) |
[in] | jvar0 | Rank of the second variable (-1: all variables) |
[in] | nbgh1 | Array giving ranks of selected samples (optional) |
[in] | nbgh2 | Array giving ranks of selected samples (optional) |
[in] | mode | CovCalcMode structure |
[in] | cleanOptim | When True, clean optimization internal when ended |
[in] | eps | Tolerance for discarding a covariance value |
MatrixSymmetric gstlrn::ACov::evalCovMatSym | ( | const Db * | db1, |
const 1 & | nbgh1 = 1() , |
||
Id | ivar0 = -1 , |
||
const CovCalcMode * | mode = nullptr , |
||
bool | cleanOptim = true |
||
) | const |
Establish the covariance matrix within a Db Takes into account selection and heterotopy This method takes advantage of calculating covariance between a Db and itself
[in] | db1 | First Db |
[in] | ivar0 | Rank of the first variable (-1 for all variables) |
[in] | nbgh1 | Vector of indices of active samples in db1 (optional) |
[in] | mode | CovCalcMode structure |
[in] | cleanOptim | When True, clean optimization internal arrays at end |
Id gstlrn::ACov::evalCovMatSymInPlace | ( | MatrixSymmetric & | mat, |
const Db * | db1, | ||
const 1 & | nbgh1 = 1() , |
||
Id | ivar0 = -1 , |
||
const CovCalcMode * | mode = nullptr , |
||
bool | cleanOptim = true |
||
) | const |
Id gstlrn::ACov::evalCovMatSymInPlaceFromIdx | ( | MatrixSymmetric & | mat, |
const Db * | db1, | ||
const 1 & | index1, | ||
const CovCalcMode * | mode = nullptr , |
||
bool | cleanOptim = true |
||
) | const |
|
inlinevirtual |
Reimplemented in gstlrn::CorAniso, and gstlrn::CovAniso.
Id gstlrn::ACov::evalCovVecRHSInPlace | ( | vect | vect, |
const RankHandler & | rank, | ||
Id | iech2, | ||
const KrigOpt & | krigopt, | ||
SpacePoint & | pin, | ||
SpacePoint & | pout, | ||
1 & | tabwork, | ||
double | lambda = 1. , |
||
const ECalcMember & | calcMember = ECalcMember::RHS |
||
) | const |
double gstlrn::ACov::evalCvv | ( | const 1 & | ext, |
const 1 & | ndisc, | ||
const 1 & | angles = 1() , |
||
Id | ivar = 0 , |
||
Id | jvar = 0 , |
||
const CovCalcMode * | mode = nullptr |
||
) | const |
Average covariance over a block
ext | Vector of Block extensions |
ndisc | Vector of Block discretization |
angles | Vector of rotation angles |
ivar | Rank of the first variable |
jvar | Rank of the second variable |
mode | CovCalcMode structure |
MatrixSquare gstlrn::ACov::evalCvvM | ( | const 1 & | ext, |
const 1 & | ndisc, | ||
const 1 & | angles = 1() , |
||
const CovCalcMode * | mode = nullptr |
||
) | const |
double gstlrn::ACov::evalCvvShift | ( | const 1 & | ext, |
const 1 & | ndisc, | ||
const 1 & | shift, | ||
const 1 & | angles = 1() , |
||
Id | ivar = 0 , |
||
Id | jvar = 0 , |
||
const CovCalcMode * | mode = nullptr |
||
) | const |
Average covariance between a block and the same block shifted
ext | Vector of Block extensions |
ndisc | Vector of Block discretization |
angles | Vector of rotation angles |
shift | Shift between the two blocks |
ivar | Rank of the first variable |
jvar | Rank of the second variable |
mode | CovCalcMode structure |
double gstlrn::ACov::evalCxv | ( | const Db * | db, |
const 1 & | ext, | ||
const 1 & | ndisc, | ||
const 1 & | angles = 1() , |
||
const 1 & | x0 = 1() , |
||
Id | ivar = 0 , |
||
Id | jvar = 0 , |
||
const CovCalcMode * | mode = nullptr |
||
) | const |
double gstlrn::ACov::evalCxv | ( | const SpacePoint & | p1, |
const 1 & | ext, | ||
const 1 & | ndisc, | ||
const 1 & | angles = 1() , |
||
const 1 & | x0 = 1() , |
||
Id | ivar = 0 , |
||
Id | jvar = 0 , |
||
const CovCalcMode * | mode = nullptr |
||
) | const |
Average covariance over a block
p1 | Point location |
ext | Vector of Block extensions |
ndisc | Vector of Block discretization |
angles | Vector of rotation angles |
x0 | Vector for origin of block |
ivar | Rank of the first variable |
jvar | Rank of the second variable |
mode | CovCalcMode structure |
MatrixSquare gstlrn::ACov::evalCxvM | ( | const SpacePoint & | p1, |
const 1 & | ext, | ||
const 1 & | ndisc, | ||
const 1 & | angles = 1() , |
||
const 1 & | x0 = 1() , |
||
const CovCalcMode * | mode = nullptr |
||
) | const |
double gstlrn::ACov::evalGGNumeric | ( | const SpacePoint & | p1, |
const SpacePoint & | p2, | ||
Id | ivar, | ||
Id | jvar, | ||
Id | idim, | ||
Id | jdim, | ||
double | radius, | ||
const CovCalcMode * | mode | ||
) | const |
double gstlrn::ACov::evalIsoIvarIpas | ( | double | step, |
Id | ivar = 0 , |
||
Id | jvar = 0 , |
||
const CovCalcMode * | mode = nullptr |
||
) | const |
Covariance for a given unit global distance (without anisotropy) for a pair of variables and a single step
ivar | Rank of the first variable |
jvar | Rank of the second variable |
step | Step value |
mode | CovCalcMode structure |
TODO : Not true whatever the space
gstlrn::ACov::evalIsoIvarNlag | ( | const 1 & | vec_step, |
Id | ivar = 0 , |
||
Id | jvar = 0 , |
||
const CovCalcMode * | mode = nullptr |
||
) | const |
Covariance for a given unit global distance (without anisotropy) for a pair of variables and a set of steps
ivar | |
jvar | |
vec_step | |
mode |
MatrixSquare gstlrn::ACov::evalIsoNvarIpas | ( | double | step, |
const CovCalcMode * | mode = nullptr |
||
) | const |
Covariance for a given unit global distance (without anisotropy) for a set of variables and a single step
step | Step value |
mode | CovCalcMode structure |
double gstlrn::ACov::evalIvarIpas | ( | double | step, |
const 1 & | dir = 1() , |
||
Id | ivar = 0 , |
||
Id | jvar = 0 , |
||
const CovCalcMode * | mode = nullptr |
||
) | const |
Covariance from a given point (center) in a given direction (dir *step)
ivar | Rank of the first variable |
jvar | Rank of the second variable |
step | Step value |
dir | Direction definition |
mode | CovCalcMode structure |
double gstlrn::ACov::evalIvarIpasIncr | ( | const 1 & | dincr, |
Id | ivar = 0 , |
||
Id | jvar = 0 , |
||
const CovCalcMode * | mode = nullptr |
||
) | const |
gstlrn::ACov::evalIvarNlag | ( | const 1 & | vec_step, |
const 1 & | dir = 1() , |
||
Id | ivar = 0 , |
||
Id | jvar = 0 , |
||
const CovCalcMode * | mode = nullptr |
||
) | const |
Covariance vector from a given point (center) in a given direction (dir * steps) for a pair of variables and a set of steps
ivar | Rank of the first variable |
jvar | Rank of the second variable |
vec_step | Vector of step values |
dir | Direction definition |
mode | CovCalcMode structure |
MatrixSquare gstlrn::ACov::evalNvarIpas | ( | double | step, |
const 1 & | dir = 1() , |
||
const CovCalcMode * | mode = nullptr |
||
) | const |
Covariance Matrix from a given point (center) in a given direction (dir * step) for a set of variables and a given step
step | Step value |
dir | Direction definition |
mode | CovCalcMode structure |
MatrixSquare gstlrn::ACov::evalNvarIpasIncr | ( | const 1 & | dincr, |
const CovCalcMode * | mode = nullptr |
||
) | const |
void gstlrn::ACov::evalPointToDb | ( | 1 & | values, |
const SpacePoint & | p1, | ||
const Db * | db2, | ||
Id | ivar = 0 , |
||
Id | jvar = 0 , |
||
bool | useSel = true , |
||
const 1 & | nbgh2 = 1() , |
||
const CovCalcMode * | mode = nullptr |
||
) | const |
Calculate the Covariance vector between a Point and all the samples of a Db, for a pair of variables
values | Array of returned values (possible resized) |
p1 | Point location |
db2 | Pointer to the second Db |
ivar | Rank of the first variables |
jvar | Rank of the second variable |
useSel | When TRUE, the returned vector is reduced to active samples Otherwise, returns TEST for masked samples |
nbgh2 | Vector of indices of active samples in db2 (optional) |
mode | CovCalcMode structure |
void gstlrn::ACov::evalPointToDbAsSP | ( | 1 & | values, |
const std::vector< SpacePoint > & | p1s, | ||
const SpacePoint & | p2, | ||
Id | ivar = 0 , |
||
Id | jvar = 0 , |
||
const CovCalcMode * | mode = nullptr |
||
) | const |
Reimplemented in gstlrn::CorAniso, and gstlrn::CovAniso.
|
inlinevirtual |
Reimplemented in gstlrn::CorAniso, and gstlrn::CovAniso.
gstlrn::ACov::evaluateFromDb | ( | Db * | db, |
Id | ivar = 0 , |
||
Id | jvar = 0 , |
||
const CovCalcMode * | mode = nullptr |
||
) | const |
Evaluate the model on a Db
[in] | db | Db structure |
[in] | ivar | Rank of the first variable |
[in] | jvar | Rank of the second variable |
[in] | mode | CovCalcMode structure |
void gstlrn::ACov::evaluateMatInPlace | ( | const CovInternal * | covint, |
const 1 & | d1, | ||
MatrixSquare & | covtab, | ||
bool | flag_init = false , |
||
double | weight = 1. , |
||
const CovCalcMode * | mode = nullptr |
||
) | const |
Returns the covariances for an increment This is the generic internal function It can be called for stationary or non-stationary case
[in] | covint | Internal structure for non-stationarityAddress for the next term after the drift or NULL (for stationary case) |
[in] | mode | CovCalcMode structure |
[in] | flag_init | Initialize the array beforehand |
[in] | weight | Multiplicative weight |
[in] | d1 | Distance vector |
[out] | covtab | Covariance array |
double gstlrn::ACov::evaluateOneGeneric | ( | const CovInternal * | covint, |
const 1 & | d1 = 1() , |
||
double | weight = 1. , |
||
const CovCalcMode * | mode = nullptr |
||
) | const |
Returns the covariance for an increment This is the generic internal function It can be called for stationary or non-stationary case
[in] | covint | Internal structure for non-stationarityAddress for the next term after the drift or NULL (for stationary case) |
[in] | mode | CovCalcMode structure |
[in] | weight | Multiplicative weight |
[in] | d1 | Distance vector |
double gstlrn::ACov::evaluateOneIncr | ( | double | hh, |
const 1 & | codir = 1() , |
||
Id | ivar = 0 , |
||
Id | jvar = 0 , |
||
const CovCalcMode * | mode = nullptr |
||
) | const |
Calculate the value of the model for a set of distances
[in] | ivar | Rank of the first variable |
[in] | jvar | Rank of the second variable |
[in] | mode | CovCalcMode structure |
[in] | codir | Array giving the direction coefficients (optional) |
[in] | hh | Vector of increments |
double gstlrn::ACov::evalZGNumeric | ( | const SpacePoint & | p1, |
const SpacePoint & | p2, | ||
Id | ivar, | ||
Id | jvar, | ||
Id | idim, | ||
double | radius, | ||
const CovCalcMode * | mode | ||
) | const |
double gstlrn::ACov::extensionVariance | ( | const Db * | db, |
const 1 & | ext, | ||
const 1 & | ndisc, | ||
const 1 & | angles = 1() , |
||
const 1 & | x0 = 1() , |
||
Id | ivar = 0 , |
||
Id | jvar = 0 |
||
) | const |
Variance of Extension of a set of points and the block
db | Reference Data Base |
ext | Vector giving the extensions of the target block |
ndisc | Vector giving the discretization |
angles | Vector for the rotation angles of the block (optional) |
x0 | Optional origin of the Block |
ivar | Rank of the first variable |
jvar | Rank of the second variable |
|
inline |
|
inline |
std::shared_ptr< const Db > gstlrn::ACov::getDbNoStat | ( | ) | const |
const Db * gstlrn::ACov::getDbNoStatRaw | ( | ) | const |
|
inlinevirtual |
ACov Interface.
Reimplemented in gstlrn::CorAniso, gstlrn::CorGneiting, gstlrn::CorMatern, gstlrn::CovAnisoList, gstlrn::CovBase, gstlrn::CovGradientGeneric, and gstlrn::CovList.
|
inline |
|
inlinevirtual |
Reimplemented in gstlrn::CorAniso, and gstlrn::CovBase.
|
static |
Printout of statement concerning the Quality of the GOF
gof | Value of the Gof |
byValue | true: display GOF value; false: print its quality level |
thresholds | Vector giving the Quality thresholds |
double gstlrn::ACov::gofToVario | ( | const Vario * | vario, |
bool | verbose = true |
||
) | const |
Evaluate the Goodness-of_fit of the Model on the Experimental Variogram It is expressed as the average departure between Model and Variogram scaled to the variance. As this variance may be poorly calculated (< gmax / 5), it may be replaced by the largest value (gmax) divided by 2 (highly non_stationary cases).
vario | Experimental variogram |
verbose | Verbose flag |
gstlrn::ACov::informCoords | ( | const 1 & | coords, |
const EConsElem & | econs, | ||
Id | iv1 = 0 , |
||
Id | iv2 = 0 |
||
) | const |
void gstlrn::ACov::informDbIn | ( | const Db * | dbin | ) | const |
void gstlrn::ACov::informDbOut | ( | const Db * | dbout | ) | const |
void gstlrn::ACov::informMeshByApex | ( | const AMesh * | amesh | ) | const |
void gstlrn::ACov::informMeshByMesh | ( | const AMesh * | amesh | ) | const |
void gstlrn::ACov::initFromContext | ( | ) |
|
inlinevirtual |
Reimplemented in gstlrn::CorAniso, gstlrn::CovBase, and gstlrn::CovList.
|
inlinevirtual |
Reimplemented in gstlrn::CorAniso, gstlrn::CorGneiting, gstlrn::CorMatern, gstlrn::CovAnisoList, gstlrn::CovBase, and gstlrn::CovGradientGeneric.
|
inlinevirtual |
Reimplemented in gstlrn::CovAnisoList, and gstlrn::CovList.
|
inline |
|
inlinevirtual |
Functions linked to Optimization during Covariance calculations.
void gstlrn::ACov::load | ( | const SpacePoint & | p, |
bool | case1 | ||
) | const |
|
virtual |
Reimplemented in gstlrn::CovBase, and gstlrn::CovList.
void gstlrn::ACov::makeStationary | ( | ) |
SpacePoint & gstlrn::ACov::optimizationLoadInPlace | ( | Id | iech, |
Id | mode, | ||
Id | rank | ||
) | const |
void gstlrn::ACov::optimizationPostProcess | ( | ) | const |
void gstlrn::ACov::optimizationPreProcess | ( | Id | mode, |
const std::vector< SpacePoint > & | ps | ||
) | const |
void gstlrn::ACov::optimizationPreProcessForData | ( | const Db * | db1 = nullptr | ) | const |
void gstlrn::ACov::optimizationSetTarget | ( | SpacePoint & | pt | ) | const |
gstlrn::ACov::sample | ( | const 1 & | h, |
const 1 & | codir = 1() , |
||
Id | ivar = 0 , |
||
Id | jvar = 0 , |
||
const CovCalcMode * | mode = nullptr , |
||
const CovInternal * | covint = nullptr |
||
) | const |
Calculate the value of the model for a set of distances
[in] | ivar | Rank of the first variable |
[in] | jvar | Rank of the second variable |
[in] | codir | Array giving the direction coefficients (optional) |
[in] | h | Vector of increments |
[in] | mode | CovCalcMode structure |
[in] | covint | Non-stationary parameters |
gstlrn::ACov::sampleUnitary | ( | const 1 & | hh, |
Id | ivar = 0 , |
||
Id | jvar = 0 , |
||
1 | codir = 1() , |
||
const CovCalcMode * | mode = nullptr |
||
) | const |
Returns the value of the normalized covariance (by the variance/covariance value) for a given pair of variables
hh | Vector of distances |
ivar | Rank of the first variable |
jvar | Rank of the second variable |
codir | Direction coefficients |
mode | CovCalcMode structure |
double gstlrn::ACov::samplingDensityVariance | ( | const Db * | db, |
const 1 & | ext, | ||
const 1 & | ndisc, | ||
const 1 & | angles = 1() , |
||
const 1 & | x0 = 1() , |
||
Id | ivar = 0 , |
||
Id | jvar = 0 |
||
) | const |
Calculate the Sampling Density Variance
db | Set of data points |
ext | Block extension |
ndisc | Discretization |
angles | Optional rotation angles for the Block |
x0 | Optional origin of the block |
ivar | Rank of the first variable |
jvar | Rank of the second variable |
void gstlrn::ACov::setContext | ( | const CovContext & | ctxt | ) |
void gstlrn::ACov::setNoStatDbIfNecessary | ( | const Db * | db | ) |
void gstlrn::ACov::setNoStatDbIfNecessary | ( | std::shared_ptr< const Db > & | db | ) |
|
inlinevirtual |
Reimplemented in gstlrn::CovBase, and gstlrn::CovList.
double gstlrn::ACov::specificVolume | ( | const Db * | db, |
double | mean, | ||
const 1 & | ext, | ||
const 1 & | ndisc, | ||
const 1 & | angles = 1() , |
||
const 1 & | x0 = 1() , |
||
Id | ivar = 0 , |
||
Id | jvar = 0 |
||
) | const |
Calculate the Specific Volume
db | Set of data points |
mean | Value of the Mean |
ext | Target Block extension |
ndisc | Vector of discretization |
angles | Optional rotation angle for block |
x0 | Optional origin of the Block |
ivar | Rank of the first variable |
jvar | Rank of the second variable |
double gstlrn::ACov::specificVolumeFromCoV | ( | Db * | db, |
double | cov, | ||
double | mean, | ||
const 1 & | ext, | ||
const 1 & | ndisc, | ||
const 1 & | angles = 1() , |
||
const 1 & | x0 = 1() , |
||
Id | ivar = 0 , |
||
Id | jvar = 0 |
||
) | const |
Derive the Specific volume for a given CoV
db | Set of data points |
cov | Target Coefficient of Variation |
mean | Value of the Mean |
ext | Target Block extension |
ndisc | Vector of discretization |
angles | Optional rotation angle for block |
x0 | Optional origin of the Block |
ivar | Rank of the first variable |
jvar | Rank of the second variable |
|
inlinevirtual |
Reimplemented in gstlrn::CorAniso, gstlrn::CovBase, and gstlrn::CovList.
|
inlinevirtual |
Reimplemented in gstlrn::CorAniso, and gstlrn::CovBase.
|
inlinevirtual |
Reimplemented in gstlrn::CorAniso.
|
inlinevirtual |
Reimplemented in gstlrn::CovBase, and gstlrn::CovList.
|
inline |