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

#include <CovLMCAnamorphosis.hpp>

Inheritance diagram for CovLMCAnamorphosis:
CovAnisoList CovList ACov ASpaceObject ICloneable AStringable

Public Member Functions

 CovLMCAnamorphosis (const AAnam *anam, const VectorInt &strcnt=VectorInt(), const CovContext &ctxt=CovContext())
 
 CovLMCAnamorphosis (const CovAnisoList &lmc, const AAnam *anam, const VectorInt &strcnt)
 
 CovLMCAnamorphosis (const CovLMCAnamorphosis &r)
 
CovLMCAnamorphosisoperator= (const CovLMCAnamorphosis &r)
 
virtual ~CovLMCAnamorphosis ()
 
virtual String toString (const AStringFormat *strfmt=nullptr) const override
 ICloneable interface.
 
virtual double eval0 (int ivar=0, int jvar=0, const CovCalcMode *mode=nullptr) const override
 ACov Interface.
 
void addCov (const CovBase *cov) override
 CovAnisoList Interface.
 
bool hasAnam () const override
 
const AAnamgetAnam () const override
 
void setActiveFactor (int iclass) override
 
int getActiveFactor () const override
 
int getAnamNClass () const override
 
int init (const VectorInt &strcnt=VectorInt())
 
EAnam getAnamType () const
 
void setAnam (const AAnam *&anam)
 
- Public Member Functions inherited from CovAnisoList
 CovAnisoList (const CovContext &ctxt=CovContext())
 
 CovAnisoList (const CovAnisoList &r)
 
CovAnisoListoperator= (const CovAnisoList &r)
 
virtual ~CovAnisoList ()
 
virtual bool isConsistent (const ASpace *space) const override
 ICloneable interface.
 
virtual int getNVar () const override
 Interface for ACov.
 
virtual bool isIndexable () const override
 
const AnamHermitegetAnamHermite () const
 
const EModelProperty & getCovMode () const
 
void addCovList (const CovAnisoList *covs)
 
int getNCov (bool skipNugget=false) const
 
bool hasRange () const
 
bool isStationary () const
 
double getMaximumDistance () const
 
double getTotalSill (int ivar=0, int jvar=0) const override
 
const CovAnisogetCovAniso (int icov) const
 TODO : to be removed (encapsulation)
 
CovAnisogetCovAniso (int icov)
 
void setCov (int icov, const CovBase *cov) override
 
const ECov & getCovType (int icov) const override
 
String getCovName (int icov) const override
 
void setRangeIsotropic (int icov, double range)
 
void setType (int icov, const ECov &type)
 
void setParam (int icov, double value)
 
void setMarkovCoeffs (int icov, const VectorDouble &coeffs)
 
double getParam (int icov) const
 
double getRange (int icov) const
 
VectorDouble getRanges (int icov) const
 
VectorDouble getAngles (int icov) const
 
int getNGradParam (int icov) const
 
CovAniso extractCova (int icov) const
 
int getCovMinIRFOrder () const
 
double getBallRadius () const
 
int hasExternalCov () const
 
bool isChangeSupportDefined () const
 
bool hasNugget () const
 
int getRankNugget () const
 
const CovAnisoListcreateReduce (const VectorInt &validVars) const
 
void makeRangeNoStatDb (int icov, const String &namecol, int idim=0)
 
void makeScaleNoStatDb (int icov, const String &namecol, int idim=0)
 
void makeAngleNoStatDb (int icov, const String &namecol, int idim=0)
 
void makeTensorNoStatDb (int icov, const String &namecol, int idim=0, int jdim=0)
 
void makeParamNoStatDb (int icov, const String &namecol)
 
void makeRangeNoStatFunctional (int icov, const AFunctional *func, int idim=0)
 
void makeScaleNoStatFunctional (int icov, const AFunctional *func, int idim=0)
 
void makeAngleNoStatFunctional (int icov, const AFunctional *func, int idim=0)
 
void makeTensorNoStatFunctional (int icov, const AFunctional *func, int idim=0, int jdim=0)
 
void makeParamNoStatFunctional (int icov, const AFunctional *func)
 
void makeRangeStationary (int icov, int idim=0)
 
void makeScaleStationary (int icov, int idim=0)
 
void makeAngleStationary (int icov, int idim=0)
 
void makeTensorStationary (int icov, int idim, int jdim)
 
void makeParamStationary (int icov)
 
- Public Member Functions inherited from CovList
 CovList (const CovContext &ctxt=CovContext())
 
 CovList (const CovList &r)
 
CovListoperator= (const CovList &r)
 
virtual ~CovList ()
 
virtual void updateCovByPoints (int icas1, int iech1, int icas2, int iech2) const override
 
void addCovList (const CovList *covs)
 
void delCov (int icov)
 
void delAllCov ()
 
int addEvalCovVecRHSInPlace (vect vect, const VectorInt &index1, int iech2, const KrigOpt &krigopt, SpacePoint &pin, SpacePoint &pout, VectorDouble &tabwork, double lambda=1) const override
 
void setCovFiltered (int icov, bool filtered)
 
int getNCov () const
 
bool isFiltered (int icov) const
 
MatrixSymmetric getTotalSills () const
 
bool isAllActiveCovList () const
 
void setOptimEnabled (bool flag) const override
 
const CovBasegetCov (int icov) const
 TODO : to be removed (encapsulation)
 
CovBasegetCovModify (int icov)
 
void setSill (int icov, int ivar, int jvar, double value)
 
void setSills (int icov, const MatrixSymmetric &sills)
 
const MatrixSymmetricgetSills (int icov) const
 
double getSill (int icov, int ivar, int jvar) const
 
void _optimizationPreProcess (int mode, const std::vector< SpacePoint > &ps) const override
 Preprocess the input Data. By default, this method only copies the SpacePoints In the Anisoptric version, the samples are projected along with the Covariance.
 
void _optimizationPostProcess () const override
 
SpacePoint_optimizationLoadInPlace (int iech, int mode, int rank) const override
 Returns the references in 'pt' and set the local pointer '_pw2'.
 
void _optimizationSetTarget (SpacePoint &pt) const override
 
void setActiveCovListFromOne (int keepOnlyCovIdx) const
 
void setActiveCovListFromInterval (int inddeb, int indto) const
 
void setActiveCovList (const VectorInt &activeCovList, bool allActiveCov) const
 
void copyCovContext (const CovContext &ctxt) override
 
void normalize (double sill=1., int ivar=0, int jvar=0)
 
int makeElemNoStat (const EConsElem &econs, int iv1, int iv2, const AFunctional *func=nullptr, const Db *db=nullptr, const String &namecol=String()) override
 
void makeSillNoStatDb (int icov, const String &namecol, int ivar=0, int jvar=0)
 
void makeSillStationary (int icov, int ivar=0, int jvar=0)
 
void makeSillsStationary (int icov, bool silent=false)
 
void makeSillNoStatFunctional (int icov, const AFunctional *func, int ivar=0, int jvar=0)
 
- Public Member Functions inherited from ACov
 ACov (const CovContext &ctxt=CovContext())
 
 ACov (const ACov &r)
 
ACovoperator= (const ACov &r)
 
virtual ~ACov ()
 
bool isNoStat () const
 
virtual void loadInfoValues ()
 
const CovContextgetContext () const
 
void setContext (const CovContext &ctxt)
 
void updateFromContext ()
 
void initFromContext ()
 
CovContext getContextCopy () const
 
double evalCov (const SpacePoint &p1, const SpacePoint &p2, int ivar=0, int jvar=0, const CovCalcMode *mode=nullptr) const
 Calculate the covariance between two variables and two points (general case)
 
virtual double evalCovOnSphere (double alpha, int degree=50, bool flagScaleDistance=false, const CovCalcMode *mode=nullptr) const
 
virtual VectorDouble evalSpectrumOnSphere (int n, bool flagNormDistance=false, bool flagCumul=false) const
 
virtual double evalSpectrum (const VectorDouble &freq, int ivar, int jvar) const
 
void attachNoStatDb (const Db *db)
 
virtual bool isOptimEnabled () const
 Functions linked to Optimization during Covariance calculations.
 
void optimizationPreProcess (int mode, const std::vector< SpacePoint > &ps) const
 
SpacePointoptimizationLoadInPlace (int iech, int mode, int rank) const
 
void optimizationPostProcess () const
 
void optimizationSetTarget (SpacePoint &pt) const
 
VectorDouble eval (const std::vector< SpacePoint > &vec_p1, const std::vector< SpacePoint > &vec_p2, int ivar=0, int jvar=0, const CovCalcMode *mode=nullptr) const
 Functions for evaluating Covariances.
 
MatrixSymmetric eval0Mat (const CovCalcMode *mode=nullptr) const
 
MatrixSymmetric evalCovMat0 (const Db *db, int 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, int ivar0=-1, int jvar0=-1, const VectorInt &nbgh1=VectorInt(), const VectorInt &nbgh2=VectorInt(), const CovCalcMode *mode=nullptr, bool cleanOptim=true) const
 
MatrixSymmetric evalCovMatSym (const Db *db1, const VectorInt &nbgh1=VectorInt(), int ivar0=-1, const CovCalcMode *mode=nullptr, bool cleanOptim=true) const
 
MatrixSparseevalCovMatSparse (const Db *db1_arg, const Db *db2_arg=nullptr, int ivar0=-1, int jvar0=-1, const VectorInt &nbgh1=VectorInt(), const VectorInt &nbgh2=VectorInt(), const CovCalcMode *mode=nullptr, bool cleanOptim=true, double eps=EPSILON3) const
 
int evalCovMat0InPlace (MatrixSymmetric &mat, const Db *db, int iech, const KrigOpt &krigopt=KrigOpt()) const
 
int evalCovMatInPlace (MatrixDense &mat, const Db *db1, const Db *db2=nullptr, int ivar0=-1, int jvar0=-1, const VectorInt &nbgh1=VectorInt(), const VectorInt &nbgh2=VectorInt(), const CovCalcMode *mode=nullptr, bool cleanOptim=true) const
 
int evalCovMatSymInPlace (MatrixSymmetric &mat, const Db *db1, const VectorInt &nbgh1=VectorInt(), int ivar0=-1, const CovCalcMode *mode=nullptr, bool cleanOptim=true) const
 
int evalCovMatInPlaceFromIdx (MatrixDense &mat, const Db *db1, const Db *db2, const VectorVectorInt &index1, const VectorVectorInt &index2, const VectorInt &nbgh2=VectorInt(), const CovCalcMode *mode=nullptr, bool cleanOptim=true) const
 
int evalCovMatSymInPlaceFromIdx (MatrixSymmetric &mat, const Db *db1, const VectorVectorInt &index1, const CovCalcMode *mode=nullptr, bool cleanOptim=true) const
 
int evalCovMatRHSInPlaceFromIdx (MatrixDense &mat, const Db *db1, const Db *db2, const VectorVectorInt &index1, const int iech2=-1, const KrigOpt &krigopt=KrigOpt(), bool cleanOptim=true) const
 
int evalCovVecRHSInPlace (vect vect, const Db *db2, const VectorInt &index1, int iech2, const KrigOpt &krigopt, SpacePoint &pin, SpacePoint &pout, VectorDouble &tabwork, double lambda=1.) const
 
void eval0CovMatBiPointInPlace (MatrixSymmetric &mat, const CovCalcMode *mode) const
 
double evalIvarIpas (double step, const VectorDouble &dir=VectorDouble(), int ivar=0, int jvar=0, const CovCalcMode *mode=nullptr) const
 
double evalIvarIpasIncr (const VectorDouble &dincr, int ivar=0, int jvar=0, const CovCalcMode *mode=nullptr) const
 
VectorDouble evalIvarNlag (const VectorDouble &vec_step, const VectorDouble &dir=VectorDouble(), int ivar=0, int jvar=0, const CovCalcMode *mode=nullptr) const
 
MatrixSquare evalNvarIpas (double step, const VectorDouble &dir=VectorDouble(), const CovCalcMode *mode=nullptr) const
 
MatrixSquare evalNvarIpasIncr (const VectorDouble &dincr, const CovCalcMode *mode=nullptr) const
 
double evalIsoIvarIpas (double step, int ivar=0, int jvar=0, const CovCalcMode *mode=nullptr) const
 
VectorDouble evalIsoIvarNlag (const VectorDouble &vec_step, int ivar=0, int jvar=0, const CovCalcMode *mode=nullptr) const
 
MatrixSquare evalIsoNvarIpas (double step, const CovCalcMode *mode=nullptr) const
 
double evalCvv (const VectorDouble &ext, const VectorInt &ndisc, const VectorDouble &angles=VectorDouble(), int ivar=0, int jvar=0, const CovCalcMode *mode=nullptr) const
 
double evalCvvShift (const VectorDouble &ext, const VectorInt &ndisc, const VectorDouble &shift, const VectorDouble &angles=VectorDouble(), int ivar=0, int jvar=0, const CovCalcMode *mode=nullptr) const
 
MatrixSquare evalCvvM (const VectorDouble &ext, const VectorInt &ndisc, const VectorDouble &angles=VectorDouble(), const CovCalcMode *mode=nullptr) const
 
double evalCxv (const SpacePoint &p1, const VectorDouble &ext, const VectorInt &ndisc, const VectorDouble &angles=VectorDouble(), const VectorDouble &x0=VectorDouble(), int ivar=0, int jvar=0, const CovCalcMode *mode=nullptr) const
 
double evalCxv (const Db *db, const VectorDouble &ext, const VectorInt &ndisc, const VectorDouble &angles=VectorDouble(), const VectorDouble &x0=VectorDouble(), int ivar=0, int jvar=0, const CovCalcMode *mode=nullptr) const
 
MatrixSquare evalCxvM (const SpacePoint &p1, const VectorDouble &ext, const VectorInt &ndisc, const VectorDouble &angles=VectorDouble(), const VectorDouble &x0=VectorDouble(), const CovCalcMode *mode=nullptr) const
 
void evalPointToDb (VectorDouble &values, const SpacePoint &p1, const Db *db2, int ivar=0, int jvar=0, bool useSel=true, const VectorInt &nbgh2=VectorInt(), const CovCalcMode *mode=nullptr) const
 
void evalPointToDbAsSP (VectorDouble &values, const std::vector< SpacePoint > &p1s, const SpacePoint &p2, int ivar=0, int jvar=0, const CovCalcMode *mode=nullptr) const
 
double evalAverageDbToDb (const Db *db1, const Db *db2, int ivar=0, int jvar=0, double eps=0., int seed=434132, const CovCalcMode *mode=nullptr) const
 
double evalAverageIncrToIncr (const VectorVectorDouble &d1, const VectorVectorDouble &d2, int ivar=0, int jvar=0, const CovCalcMode *mode=nullptr) const
 
double evalAveragePointToDb (const SpacePoint &p1, const Db *db2, int ivar=0, int jvar=0, const CovCalcMode *mode=nullptr) const
 
double extensionVariance (const Db *db, const VectorDouble &ext, const VectorInt &ndisc, const VectorDouble &angles=VectorDouble(), const VectorDouble &x0=VectorDouble(), int ivar=0, int jvar=0) const
 
double samplingDensityVariance (const Db *db, const VectorDouble &ext, const VectorInt &ndisc, const VectorDouble &angles=VectorDouble(), const VectorDouble &x0=VectorDouble(), int ivar=0, int jvar=0) const
 
double specificVolume (const Db *db, double mean, const VectorDouble &ext, const VectorInt &ndisc, const VectorDouble &angles=VectorDouble(), const VectorDouble &x0=VectorDouble(), int ivar=0, int jvar=0) const
 
double coefficientOfVariation (const Db *db, double volume, double mean, const VectorDouble &ext, const VectorInt &ndisc, const VectorDouble &angles=VectorDouble(), const VectorDouble &x0=VectorDouble(), int ivar=0, int jvar=0) const
 
double specificVolumeFromCoV (Db *db, double cov, double mean, const VectorDouble &ext, const VectorInt &ndisc, const VectorDouble &angles=VectorDouble(), const VectorDouble &x0=VectorDouble(), int ivar=0, int jvar=0) const
 
double evaluateOneGeneric (const CovInternal *covint, const VectorDouble &d1=VectorDouble(), double weight=1., const CovCalcMode *mode=nullptr) const
 
double calculateStDev (Db *db1, int iech1, Db *db2, int iech2, bool verbose=false, double factor=1., const CovCalcMode *mode=nullptr) const
 
void evaluateMatInPlace (const CovInternal *covint, const VectorDouble &d1, MatrixSquare &covtab, bool flag_init=false, double weight=1., const CovCalcMode *mode=nullptr) const
 
VectorDouble evaluateFromDb (Db *db, int ivar=0, int jvar=0, const CovCalcMode *mode=nullptr) const
 
double evaluateOneIncr (double hh, const VectorDouble &codir=VectorDouble(), int ivar=0, int jvar=0, const CovCalcMode *mode=nullptr) const
 
VectorDouble sample (const VectorDouble &h, const VectorDouble &codir=VectorDouble(), int ivar=0, int jvar=0, const CovCalcMode *mode=nullptr, const CovInternal *covint=nullptr) const
 
VectorDouble sampleUnitary (const VectorDouble &hh, int ivar=0, int jvar=0, VectorDouble codir=VectorDouble(), const CovCalcMode *mode=nullptr) const
 
VectorDouble envelop (const VectorDouble &hh, int ivar=0, int jvar=0, int isign=1, VectorDouble codir=VectorDouble(), const CovCalcMode *mode=nullptr) const
 
int 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 (int imesh, bool aniso=true) const
 
virtual double getValue (const EConsElem &econs, int iv1, int iv2) const
 
void makeStationary ()
 
void createNoStatTab ()
 
void informMeshByMesh (const AMesh *amesh) const
 
void informMeshByApex (const AMesh *amesh) const
 
VectorDouble informCoords (const VectorVectorDouble &coords, const EConsElem &econs, int iv1=0, int iv2=0) const
 
void informDbIn (const Db *dbin) const
 
void informDbOut (const Db *dbout) const
 
virtual void updateCovByPoints (int icas1, int iech1, int icas2, int iech2)
 
int getNDim (int ispace=-1) const
 
void optimizationPreProcessForData (const Db *db1=nullptr) const
 
bool checkAndManageNoStatDb (const Db *db, const String &namecol)
 
std::shared_ptr< const DbgetDbNoStat () const
 
const DbgetDbNoStatRaw () const
 
void setNoStatDbIfNecessary (const Db *db)
 
void setNoStatDbIfNecessary (std::shared_ptr< const Db > &db)
 
- Public Member Functions inherited from ASpaceObject
 ASpaceObject (const ASpaceSharedPtr &space=ASpaceSharedPtr())
 
 ASpaceObject (const ASpaceObject &r)
 
ASpaceObjectoperator= (const ASpaceObject &r)
 
virtual ~ASpaceObject ()
 
ASpaceSharedPtr getSpace () const
 Accessor to the current object space context.
 
bool isConsistent () const
 Indicate if I am consistent with my current space context.
 
VectorDouble getUnitaryVector () const
 Return unitary vector for the current space context.
 
bool isConsistent (const ASpaceSharedPtr &space) const
 Indicate if I am consistent with the provided space.
 
unsigned int getNDim (int ispace=-1) const
 Shortcuts to ASpace methods.
 
const VectorDoublegetOrigin (int ispace=-1) const
 Return the current space context origin coordinates.
 
double getDistance (const SpacePoint &p1, const SpacePoint &p2, int ispace=0) const
 Return the distance between two space points for the current space context.
 
VectorDouble getDistances (const SpacePoint &p1, const SpacePoint &p2) const
 Return all the distances (space composits) between two space points for the current space context.
 
VectorDouble getIncrement (const SpacePoint &p1, const SpacePoint &p2, int ispace=0) const
 Return the increment vector between two space points for the current space context.
 
- Public Member Functions inherited from AStringable
 AStringable ()
 
 AStringable (const AStringable &r)
 
AStringableoperator= (const AStringable &r)
 
virtual ~AStringable ()
 
virtual void display (const AStringFormat *strfmt=nullptr) const final
 
virtual void display (int level) const final
 
- Public Member Functions inherited from ICloneable
 ICloneable ()
 
virtual ~ICloneable ()
 
virtual ICloneableclone () const =0
 

Additional Inherited Members

- Static Public Member Functions inherited from ACov
static void gofDisplay (double gof, bool byValue=true, const VectorDouble &thresholds={2., 5., 10., 100})
 

Constructor & Destructor Documentation

◆ CovLMCAnamorphosis() [1/3]

CovLMCAnamorphosis::CovLMCAnamorphosis ( const AAnam anam,
const VectorInt strcnt = VectorInt(),
const CovContext ctxt = CovContext() 
)

◆ CovLMCAnamorphosis() [2/3]

CovLMCAnamorphosis::CovLMCAnamorphosis ( const CovAnisoList lmc,
const AAnam anam,
const VectorInt strcnt 
)

◆ CovLMCAnamorphosis() [3/3]

CovLMCAnamorphosis::CovLMCAnamorphosis ( const CovLMCAnamorphosis r)

◆ ~CovLMCAnamorphosis()

CovLMCAnamorphosis::~CovLMCAnamorphosis ( )
virtual

Member Function Documentation

◆ addCov()

void CovLMCAnamorphosis::addCov ( const CovBase cov)
overridevirtual

CovAnisoList Interface.

Reimplemented from CovAnisoList.

◆ eval0()

double CovLMCAnamorphosis::eval0 ( int  ivar = 0,
int  jvar = 0,
const CovCalcMode mode = nullptr 
) const
overridevirtual

ACov Interface.

Reimplemented from CovAnisoList.

◆ getActiveFactor()

int CovLMCAnamorphosis::getActiveFactor ( ) const
inlineoverridevirtual

Reimplemented from CovAnisoList.

◆ getAnam()

const AAnam * CovLMCAnamorphosis::getAnam ( ) const
inlineoverridevirtual

Reimplemented from CovAnisoList.

◆ getAnamNClass()

int CovLMCAnamorphosis::getAnamNClass ( ) const
inlineoverridevirtual

Reimplemented from CovAnisoList.

◆ getAnamType()

EAnam CovLMCAnamorphosis::getAnamType ( ) const

◆ hasAnam()

bool CovLMCAnamorphosis::hasAnam ( ) const
inlineoverridevirtual

Reimplemented from CovAnisoList.

◆ init()

int CovLMCAnamorphosis::init ( const VectorInt strcnt = VectorInt())

◆ operator=()

CovLMCAnamorphosis & CovLMCAnamorphosis::operator= ( const CovLMCAnamorphosis r)

◆ setActiveFactor()

void CovLMCAnamorphosis::setActiveFactor ( int  iclass)
overridevirtual

Reimplemented from CovAnisoList.

◆ setAnam()

void CovLMCAnamorphosis::setAnam ( const AAnam *&  anam)
inline

◆ toString()

String CovLMCAnamorphosis::toString ( const AStringFormat strfmt = nullptr) const
overridevirtual

ICloneable interface.

AStringable Interface

Reimplemented from CovAnisoList.


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