gstlearn  1.0.0
CCC
CovLMCAnamorphosis Class Reference

#include <CovLMCAnamorphosis.hpp>

Inheritance diagram for CovLMCAnamorphosis:
CovLMC ACovAnisoList ACov ICloneable ASpaceObject AStringable

Public Member Functions

 CovLMCAnamorphosis (const AAnam *anam, const VectorInt &strcnt=VectorInt(), const ASpace *space=nullptr)
 
 CovLMCAnamorphosis (const CovLMC &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. More...
 
virtual double eval0 (int ivar=0, int jvar=0, const CovCalcMode *mode=nullptr) const override
 ACov Interface. More...
 
virtual double eval (const SpacePoint &p1, const SpacePoint &p2, int ivar=0, int jvar=0, const CovCalcMode *mode=nullptr) const override
 Calculate the covariance between two variables and two points (general case) More...
 
virtual void eval0MatInPlace (MatrixSquareGeneral &mat, const CovCalcMode *mode=nullptr) const override
 Calculate the matrix of covariances for 0-distance (stationary case) More...
 
virtual void evalMatInPlace (const SpacePoint &p1, const SpacePoint &p2, MatrixSquareGeneral &mat, const CovCalcMode *mode=nullptr) const override
 Calculate the matrix of covariances between two points (general case) More...
 
virtual bool isOptimEnabled () const override
 Tell if the use of Optimization is enabled or not. More...
 
void addCov (const CovAniso *cov) override
 Interface for ACovAnisoList. More...
 
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())
 
const EAnam getAnamType () const
 
void setAnam (const AAnam *&anam)
 
- Public Member Functions inherited from CovLMC
 CovLMC (const ASpace *space=nullptr)
 
 CovLMC (const CovLMC &r)
 
 CovLMC (const ACovAnisoList &r)
 
CovLMCoperator= (const CovLMC &r)
 
virtual ~CovLMC ()
 
- Public Member Functions inherited from ACovAnisoList
 ACovAnisoList (const ASpace *space=nullptr)
 
 ACovAnisoList (const ACovAnisoList &r)
 
ACovAnisoListoperator= (const ACovAnisoList &r)
 
virtual ~ACovAnisoList ()
 
virtual bool isConsistent (const ASpace *space) const override
 ICloneable interface. More...
 
virtual int getNVariables () const override
 Interface for ACov. More...
 
void addCovList (const ACovAnisoList *covs)
 
void delCov (unsigned int i)
 
void delAllCov ()
 
void setFiltered (unsigned int i, bool filtered)
 
int getCovNumber () const
 
bool isFiltered (unsigned int i) const
 
bool hasRange () const
 
bool isStationary () const
 
double getMaximumDistance () const
 
double getTotalSill (int ivar, int jvar) const
 
MatrixSquareGeneral getTotalSill () const
 
void normalize (double sill=1., int ivar=0, int jvar=0)
 
VectorInt getActiveCovList () const
 
VectorInt getAllActiveCovList () const
 
const CovAnisogetCova (int icov) const
 TODO : to be removed (encapsulation) More...
 
CovAnisogetCova (int icov)
 
void setCova (int icov, CovAniso *covs)
 
const ECov & getType (int icov) const
 
String getCovName (int icov) const
 
double getParam (unsigned int icov) const
 
const MatrixSquareSymmetricgetSill (unsigned int icov) const
 
double getSill (unsigned int icov, int ivar, int jvar) const
 
int getGradParamNumber (unsigned int icov) const
 
void setSill (unsigned int icov, int ivar, int jvar, double value)
 
void setType (unsigned int icov, const ECov &type)
 
CovAniso extractCova (int icov) const
 
int getCovaMinIRFOrder () const
 
void optimizationPreProcess (const std::vector< SpacePoint > &vec) const
 
void optimizationPostProcess () const
 
void optimizationSetTarget (const SpacePoint &pt) const
 
void evalOptimInPlace (VectorDouble &res, int ivar=0, int jvar=0, const CovCalcMode *mode=nullptr) const
 
void evalMatOptimInPlace (int iech1, int iech2, MatrixSquareGeneral &mat, const CovCalcMode *mode=nullptr) const
 
VectorVectorDouble evalCovMatrixOptim (const Db *db1, const Db *db2, int ivar, int jvar, const CovCalcMode *mode) const
 
void copyCovContext (const CovContext &ctxt)
 
bool hasNugget () const
 
const ACovAnisoListreduce (const VectorInt &validVars) const
 
const ANoStatgetANoStat () const
 
int addNoStat (const ANoStat *anostat)
 
int isNoStat () const
 
int getNoStatElemNumber () const
 
const EConsElem & getNoStatElemType (int ipar) const
 
int addNoStatElem (int igrf, int icov, const EConsElem &type, int iv1, int iv2)
 
int addNoStatElems (const VectorString &codes)
 
CovParamId getCovParamId (int ipar) const
 
int getNoStatElemIcov (int ipar) const
 
- Public Member Functions inherited from ACov
 ACov (const ASpace *space=nullptr)
 
 ACov (const ACov &r)
 
ACovoperator= (const ACov &r)
 
virtual ~ACov ()
 
virtual double evalCovOnSphere (double, int, bool) const
 
virtual double evalSpectrum (const VectorDouble &, int, int) const
 
void setIsOptimEnabled (bool isOptimEnabled)
 
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
 
MatrixSquareGeneral eval0Mat (const CovCalcMode *mode=nullptr) const
 
MatrixSquareGeneral evalMat (const SpacePoint &p1, const SpacePoint &p2, const CovCalcMode *mode=nullptr) const
 
double evalIvarIpas (double step, const VectorDouble &dir, int ivar=0, int jvar=0, const VectorDouble &center=VectorDouble(), const CovCalcMode *mode=nullptr) const
 
double evalIvarIpasIncr (const VectorDouble &dincr, int ivar=0, int jvar=0, const CovCalcMode *mode=nullptr) const
 
VectorDouble evalIvarNpas (const VectorDouble &vec_step, const VectorDouble &dir=VectorDouble(), int ivar=0, int jvar=0, const VectorDouble &center=VectorDouble(), const CovCalcMode *mode=nullptr) const
 
MatrixSquareGeneral evalNvarIpas (double step, const VectorDouble &dir, const VectorDouble &center=VectorDouble(), const CovCalcMode *mode=nullptr) const
 
MatrixSquareGeneral 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 evalIsoIvarNpas (const VectorDouble &vec_step, int ivar=0, int jvar=0, const CovCalcMode *mode=nullptr) const
 
MatrixSquareGeneral 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
 
MatrixSquareGeneral 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
 
MatrixSquareGeneral evalCxvM (const SpacePoint &p1, const VectorDouble &ext, const VectorInt &ndisc, const VectorDouble &angles=VectorDouble(), const VectorDouble &x0=VectorDouble(), const CovCalcMode *mode=nullptr) const
 
VectorDouble evalPointToDb (const SpacePoint &p1, const Db *db2, int ivar=0, int jvar=0, bool useSel=true, const VectorInt &nbgh2=VectorInt(), const CovCalcMode *mode=nullptr) const
 
VectorDouble evalPointToDbAsSP (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, 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
 
MatrixRectangular evalCovMatrix (const Db *db1, const Db *db2=nullptr, int ivar=0, int jvar=0, const VectorInt &nbgh1=VectorInt(), const VectorInt &nbgh2=VectorInt(), 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
 
- Public Member Functions inherited from ASpaceObject
 ASpaceObject (const ASpace *space=nullptr)
 
 ASpaceObject (const ASpace &space)
 
 ASpaceObject (const ASpaceObject &r)
 
ASpaceObjectoperator= (const ASpaceObject &r)
 
virtual ~ASpaceObject ()
 
const ASpacegetSpace () const
 Accessor to the current object space context. More...
 
bool isConsistent () const
 Indicate if I am consistent with my current space context. More...
 
VectorDouble getUnitaryVector () const
 Return unitary vector for the current space context. More...
 
unsigned int getNDim () const
 Shortcuts to ASpace methods. More...
 
const VectorDoublegetOrigin () const
 Return the current space context origin coordinates. More...
 
double getDistance (const SpacePoint &p1, const SpacePoint &p2) const
 Return the distance between two space points for the current space context. More...
 
double getDistance1D (const SpacePoint &p1, const SpacePoint &p2, int idim) const
 Return the distance along one direction between two space points. More...
 
VectorDouble getIncrement (const SpacePoint &p1, const SpacePoint &p2) const
 Return the increment vector between two space points for the current space context. More...
 
- 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
 

Private Member Functions

double _evalHermite (int ivar, int jvar, double h, const CovCalcMode *mode) const
 
double _evalDiscreteDD (int ivar, int jvar, double h, const CovCalcMode *mode) const
 
double _evalDiscreteIR (int ivar, int jvar, double h, const CovCalcMode *mode) const
 
double _evalHermite (int ivar, int jvar, const SpacePoint &p1, const SpacePoint &p2, const CovCalcMode *mode) const
 
double _evalDiscreteDD (int ivar, int jvar, const SpacePoint &p1, const SpacePoint &p2, const CovCalcMode *mode) const
 
double _evalDiscreteIR (int ivar, int jvar, const SpacePoint &p1, const SpacePoint &p2, const CovCalcMode *mode) const
 
double _evalHermite0 (int ivar, int jvar, const CovCalcMode *mode) const
 
double _evalDiscreteDD0 (int ivar, int jvar, const CovCalcMode *mode) const
 
double _evalDiscreteIR0 (int ivar, int jvar, const CovCalcMode *mode) const
 
void _transformCovCalcModeIR (CovCalcMode *mode, int iclass) const
 

Private Attributes

int _activeFactor
 
VectorInt _anamStrCount
 
const AAnam_anam
 

Additional Inherited Members

- Protected Member Functions inherited from ACovAnisoList
bool _isCovarianceIndexValid (unsigned int i) const
 
- Protected Member Functions inherited from ASpaceObject
void setNDim (int ndim)
 Modify the Space dimension of an already created item (To be used only during creation ... in particular when reading NF) More...
 
- Protected Attributes inherited from ACovAnisoList
std::vector< CovAniso * > _covs
 
VectorBool _filtered
 Vector of elementary covariances. More...
 
ANoStat_noStat
 Vector of filtered flags (size is nb. cova) More...
 
MatrixSquareGeneral _matC
 Description of Non-stationary Model. More...
 
- Protected Attributes inherited from ACov
bool _isOptimEnabled
 
std::vector< SpacePoint_p1As
 
SpacePoint _p2A
 
- Protected Attributes inherited from ASpaceObject
const ASpace_space
 Current space context of the object. More...
 

Constructor & Destructor Documentation

◆ CovLMCAnamorphosis() [1/3]

CovLMCAnamorphosis::CovLMCAnamorphosis ( const AAnam anam,
const VectorInt strcnt = VectorInt(),
const ASpace space = nullptr 
)

◆ CovLMCAnamorphosis() [2/3]

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

◆ CovLMCAnamorphosis() [3/3]

CovLMCAnamorphosis::CovLMCAnamorphosis ( const CovLMCAnamorphosis r)

◆ ~CovLMCAnamorphosis()

CovLMCAnamorphosis::~CovLMCAnamorphosis ( )
virtual

Member Function Documentation

◆ _evalDiscreteDD() [1/2]

double CovLMCAnamorphosis::_evalDiscreteDD ( int  ivar,
int  jvar,
const SpacePoint p1,
const SpacePoint p2,
const CovCalcMode mode 
) const
private

◆ _evalDiscreteDD() [2/2]

double CovLMCAnamorphosis::_evalDiscreteDD ( int  ivar,
int  jvar,
double  h,
const CovCalcMode mode 
) const
private

◆ _evalDiscreteDD0()

double CovLMCAnamorphosis::_evalDiscreteDD0 ( int  ivar,
int  jvar,
const CovCalcMode mode 
) const
private

◆ _evalDiscreteIR() [1/2]

double CovLMCAnamorphosis::_evalDiscreteIR ( int  ivar,
int  jvar,
const SpacePoint p1,
const SpacePoint p2,
const CovCalcMode mode 
) const
private

◆ _evalDiscreteIR() [2/2]

double CovLMCAnamorphosis::_evalDiscreteIR ( int  ivar,
int  jvar,
double  h,
const CovCalcMode mode 
) const
private

◆ _evalDiscreteIR0()

double CovLMCAnamorphosis::_evalDiscreteIR0 ( int  ivar,
int  jvar,
const CovCalcMode mode 
) const
private

◆ _evalHermite() [1/2]

double CovLMCAnamorphosis::_evalHermite ( int  ivar,
int  jvar,
const SpacePoint p1,
const SpacePoint p2,
const CovCalcMode mode 
) const
private

◆ _evalHermite() [2/2]

double CovLMCAnamorphosis::_evalHermite ( int  ivar,
int  jvar,
double  h,
const CovCalcMode mode 
) const
private

◆ _evalHermite0()

double CovLMCAnamorphosis::_evalHermite0 ( int  ivar,
int  jvar,
const CovCalcMode mode 
) const
private

◆ _transformCovCalcModeIR()

void CovLMCAnamorphosis::_transformCovCalcModeIR ( CovCalcMode mode,
int  iclass 
) const
private

◆ addCov()

void CovLMCAnamorphosis::addCov ( const CovAniso cov)
overridevirtual

Interface for ACovAnisoList.

Reimplemented from ACovAnisoList.

◆ eval()

double CovLMCAnamorphosis::eval ( const SpacePoint p1,
const SpacePoint p2,
int  ivar = 0,
int  jvar = 0,
const CovCalcMode mode = nullptr 
) const
overridevirtual

Calculate the covariance between two variables and two points (general case)

Reimplemented from ACovAnisoList.

◆ eval0()

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

ACov Interface.

Reimplemented from ACovAnisoList.

◆ eval0MatInPlace()

void CovLMCAnamorphosis::eval0MatInPlace ( MatrixSquareGeneral mat,
const CovCalcMode mode = nullptr 
) const
overridevirtual

Calculate the matrix of covariances for 0-distance (stationary case)

Reimplemented from ACovAnisoList.

◆ evalMatInPlace()

void CovLMCAnamorphosis::evalMatInPlace ( const SpacePoint p1,
const SpacePoint p2,
MatrixSquareGeneral mat,
const CovCalcMode mode = nullptr 
) const
overridevirtual

Calculate the matrix of covariances between two points (general case)

Reimplemented from ACovAnisoList.

◆ getActiveFactor()

int CovLMCAnamorphosis::getActiveFactor ( ) const
inlineoverridevirtual

Reimplemented from ACovAnisoList.

◆ getAnam()

const AAnam* CovLMCAnamorphosis::getAnam ( ) const
inlineoverridevirtual

Reimplemented from ACovAnisoList.

◆ getAnamNClass()

int CovLMCAnamorphosis::getAnamNClass ( ) const
inlineoverridevirtual

Reimplemented from ACovAnisoList.

◆ getAnamType()

const EAnam CovLMCAnamorphosis::getAnamType ( ) const

◆ hasAnam()

bool CovLMCAnamorphosis::hasAnam ( ) const
inlineoverridevirtual

Reimplemented from ACovAnisoList.

◆ init()

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

◆ isOptimEnabled()

virtual bool CovLMCAnamorphosis::isOptimEnabled ( ) const
inlineoverridevirtual

Tell if the use of Optimization is enabled or not.

Reimplemented from ACov.

◆ operator=()

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

◆ setActiveFactor()

void CovLMCAnamorphosis::setActiveFactor ( int  iclass)
overridevirtual

Reimplemented from ACovAnisoList.

◆ setAnam()

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

◆ toString()

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

ICloneable interface.

AStringable Interface

Reimplemented from ACovAnisoList.

Member Data Documentation

◆ _activeFactor

int CovLMCAnamorphosis::_activeFactor
private

◆ _anam

const AAnam* CovLMCAnamorphosis::_anam
private

◆ _anamStrCount

VectorInt CovLMCAnamorphosis::_anamStrCount
private

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