gstlearn  1.0.0
CCC
ACovAnisoList Class Reference

#include <ACovAnisoList.hpp>

Inheritance diagram for ACovAnisoList:
ACov ICloneable ASpaceObject AStringable CovLMC CovLMGradient CovLMCAnamorphosis CovLMCConvolution CovLMCTapering

Public Member Functions

 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...
 
virtual double eval0 (int ivar=0, int jvar=0, const CovCalcMode *mode=nullptr) const override
 Calculate the covariance between two variables for 0-distance (stationary 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 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 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 String toString (const AStringFormat *strfmt=nullptr) const override
 Interface for AStringable Interface. More...
 
virtual void addCov (const CovAniso *cov)
 ACovAnisoList Interface. More...
 
virtual bool hasAnam () const
 
virtual const AAnamgetAnam () const
 
virtual void setActiveFactor (int)
 
virtual int getActiveFactor () const
 
virtual int getAnamNClass () const
 
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 bool isOptimEnabled () const
 Tell if the use of Optimization is enabled or not. More...
 
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
 

Protected Member Functions

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

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...
 

Private Member Functions

bool _considerAllCovariances (const CovCalcMode *mode) const
 

Constructor & Destructor Documentation

◆ ACovAnisoList() [1/2]

ACovAnisoList::ACovAnisoList ( const ASpace space = nullptr)

◆ ACovAnisoList() [2/2]

ACovAnisoList::ACovAnisoList ( const ACovAnisoList r)

◆ ~ACovAnisoList()

ACovAnisoList::~ACovAnisoList ( )
virtual

Member Function Documentation

◆ _considerAllCovariances()

bool ACovAnisoList::_considerAllCovariances ( const CovCalcMode mode) const
private

◆ _isCovarianceIndexValid()

bool ACovAnisoList::_isCovarianceIndexValid ( unsigned int  i) const
protected

◆ addCov()

void ACovAnisoList::addCov ( const CovAniso cov)
virtual

ACovAnisoList Interface.

Reimplemented in CovLMGradient, and CovLMCAnamorphosis.

◆ addCovList()

void ACovAnisoList::addCovList ( const ACovAnisoList covs)

◆ addNoStat()

int ACovAnisoList::addNoStat ( const ANoStat anostat)

Define Non-stationary parameters

Parameters
anostatANoStat pointer will be duplicated
Returns
Error return code

◆ addNoStatElem()

int ACovAnisoList::addNoStatElem ( int  igrf,
int  icov,
const EConsElem &  type,
int  iv1,
int  iv2 
)

◆ addNoStatElems()

int ACovAnisoList::addNoStatElems ( const VectorString codes)

◆ copyCovContext()

void ACovAnisoList::copyCovContext ( const CovContext ctxt)

◆ delAllCov()

void ACovAnisoList::delAllCov ( )

◆ delCov()

void ACovAnisoList::delCov ( unsigned int  i)

◆ eval()

double ACovAnisoList::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)

Implements ACov.

Reimplemented in CovLMCConvolution, CovLMCAnamorphosis, and CovLMCTapering.

◆ eval0()

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

Calculate the covariance between two variables for 0-distance (stationary case)

Implements ACov.

Reimplemented in CovLMCTapering, CovLMCConvolution, and CovLMCAnamorphosis.

◆ eval0MatInPlace()

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

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

Reimplemented from ACov.

Reimplemented in CovLMGradient, CovLMCTapering, CovLMCConvolution, and CovLMCAnamorphosis.

◆ evalCovMatrixOptim()

VectorVectorDouble ACovAnisoList::evalCovMatrixOptim ( const Db db1,
const Db db2,
int  ivar,
int  jvar,
const CovCalcMode mode 
) const

Evaluate the set of covariance vectors between samples of input 'db1' and samples of output 'db2'

Parameters
db1Input Db
db2Output db
ivarRank of the first variable
jvarRank of the second variable
modeCovCalcMode structure
Returns

◆ evalMatInPlace()

void ACovAnisoList::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 ACov.

Reimplemented in CovLMGradient, CovLMCTapering, CovLMCConvolution, and CovLMCAnamorphosis.

◆ evalMatOptimInPlace()

void ACovAnisoList::evalMatOptimInPlace ( int  iech1,
int  iech2,
MatrixSquareGeneral mat,
const CovCalcMode mode = nullptr 
) const

◆ evalOptimInPlace()

void ACovAnisoList::evalOptimInPlace ( VectorDouble res,
int  ivar = 0,
int  jvar = 0,
const CovCalcMode mode = nullptr 
) const

◆ extractCova()

CovAniso ACovAnisoList::extractCova ( int  icov) const

◆ getActiveCovList()

VectorInt ACovAnisoList::getActiveCovList ( ) const

◆ getActiveFactor()

virtual int ACovAnisoList::getActiveFactor ( ) const
inlinevirtual

Reimplemented in CovLMCAnamorphosis.

◆ getAllActiveCovList()

VectorInt ACovAnisoList::getAllActiveCovList ( ) const

◆ getAnam()

virtual const AAnam* ACovAnisoList::getAnam ( ) const
inlinevirtual

Reimplemented in CovLMCAnamorphosis.

◆ getAnamNClass()

virtual int ACovAnisoList::getAnamNClass ( ) const
inlinevirtual

Reimplemented in CovLMCAnamorphosis.

◆ getANoStat()

const ANoStat* ACovAnisoList::getANoStat ( ) const
inline

◆ getCova() [1/2]

CovAniso * ACovAnisoList::getCova ( int  icov)

◆ getCova() [2/2]

const CovAniso * ACovAnisoList::getCova ( int  icov) const

TODO : to be removed (encapsulation)

◆ getCovaMinIRFOrder()

int ACovAnisoList::getCovaMinIRFOrder ( ) const
Returns
The Minimum IRF-order induced by the covariances

◆ getCovName()

String ACovAnisoList::getCovName ( int  icov) const

◆ getCovNumber()

int ACovAnisoList::getCovNumber ( ) const
inline

◆ getCovParamId()

CovParamId ACovAnisoList::getCovParamId ( int  ipar) const

◆ getGradParamNumber()

int ACovAnisoList::getGradParamNumber ( unsigned int  icov) const

◆ getMaximumDistance()

double ACovAnisoList::getMaximumDistance ( ) const

Returns the largest range (in any direction in the heterotopic case)

Returns

◆ getNoStatElemIcov()

int ACovAnisoList::getNoStatElemIcov ( int  ipar) const

◆ getNoStatElemNumber()

int ACovAnisoList::getNoStatElemNumber ( ) const

◆ getNoStatElemType()

const EConsElem & ACovAnisoList::getNoStatElemType ( int  ipar) const

◆ getNVariables()

int ACovAnisoList::getNVariables ( ) const
overridevirtual

Interface for ACov.

Implements ACov.

◆ getParam()

double ACovAnisoList::getParam ( unsigned int  icov) const

◆ getSill() [1/2]

const MatrixSquareSymmetric & ACovAnisoList::getSill ( unsigned int  icov) const

◆ getSill() [2/2]

double ACovAnisoList::getSill ( unsigned int  icov,
int  ivar,
int  jvar 
) const

◆ getTotalSill() [1/2]

MatrixSquareGeneral ACovAnisoList::getTotalSill ( ) const

◆ getTotalSill() [2/2]

double ACovAnisoList::getTotalSill ( int  ivar,
int  jvar 
) const

Calculate the total sill of the model for given pair of variables Returns TEST as soon as one structure has no sill

Parameters
ivarRank of the first variable
jvarRank of the second variable

◆ getType()

const ECov & ACovAnisoList::getType ( int  icov) const

◆ hasAnam()

virtual bool ACovAnisoList::hasAnam ( ) const
inlinevirtual

Reimplemented in CovLMCAnamorphosis.

◆ hasNugget()

bool ACovAnisoList::hasNugget ( ) const

◆ hasRange()

bool ACovAnisoList::hasRange ( ) const

◆ isConsistent()

bool ACovAnisoList::isConsistent ( const ASpace space) const
overridevirtual

ICloneable interface.

Interface for ASpaceObject

TODO : ACovAnisoList::isConsistent

Implements ASpaceObject.

◆ isFiltered()

bool ACovAnisoList::isFiltered ( unsigned int  i) const

◆ isNoStat()

int ACovAnisoList::isNoStat ( ) const

◆ isStationary()

bool ACovAnisoList::isStationary ( ) const

◆ normalize()

void ACovAnisoList::normalize ( double  sill = 1.,
int  ivar = 0,
int  jvar = 0 
)

◆ operator=()

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

◆ optimizationPostProcess()

void ACovAnisoList::optimizationPostProcess ( ) const

◆ optimizationPreProcess()

void ACovAnisoList::optimizationPreProcess ( const std::vector< SpacePoint > &  vec) const

◆ optimizationSetTarget()

void ACovAnisoList::optimizationSetTarget ( const SpacePoint pt) const

◆ reduce()

const ACovAnisoList * ACovAnisoList::reduce ( const VectorInt validVars) const

◆ setActiveFactor()

virtual void ACovAnisoList::setActiveFactor ( int  )
inlinevirtual

Reimplemented in CovLMCAnamorphosis.

◆ setCova()

void ACovAnisoList::setCova ( int  icov,
CovAniso covs 
)

◆ setFiltered()

void ACovAnisoList::setFiltered ( unsigned int  i,
bool  filtered 
)

◆ setSill()

void ACovAnisoList::setSill ( unsigned int  icov,
int  ivar,
int  jvar,
double  value 
)

◆ setType()

void ACovAnisoList::setType ( unsigned int  icov,
const ECov &  type 
)

◆ toString()

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

Interface for AStringable Interface.

Reimplemented from ASpaceObject.

Reimplemented in CovLMCTapering, CovLMCConvolution, and CovLMCAnamorphosis.

Member Data Documentation

◆ _covs

std::vector<CovAniso*> ACovAnisoList::_covs
protected

◆ _filtered

VectorBool ACovAnisoList::_filtered
protected

Vector of elementary covariances.

◆ _matC

MatrixSquareGeneral ACovAnisoList::_matC
mutableprotected

Description of Non-stationary Model.

◆ _noStat

ANoStat* ACovAnisoList::_noStat
protected

Vector of filtered flags (size is nb. cova)


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