1.8.0
CCC
 
Loading...
Searching...
No Matches
gstlrn::CorAniso Class Reference

This class describes an elementary covariance. More...

#include <CorAniso.hpp>

Inheritance diagram for gstlrn::CorAniso:
gstlrn::ACov gstlrn::ICloneable gstlrn::AStringable

Detailed Description

This class describes an elementary covariance.

This covariance is described through the following list of parameters:

  • the covariance type: the list of these types is provided in ECov.hpp
  • the largest set of parameters for any covariance: range(s), anisotropy angle(s), third parameter. Some of these parameters do not make sense, depending on the covariance type: e.g. the range for nugget effect, the third parameter for a spherical structure, ... All these parameters are processed and stored as a tensor in order to avoid repetitive calculations.

Public Member Functions

 CorAniso (const ECov &type, const CovContext &ctxt)
 
 CorAniso (const String &symbol, const CovContext &ctxt)
 
 CorAniso (const ECov &type, double range, double param, const CovContext &ctxt, bool flagRange=true)
 
 CorAniso (const CorAniso &r)
 
CorAnisooperator= (const CorAniso &r)
 
virtual ~CorAniso ()
 
String toString (const AStringFormat *strfmt=nullptr) const override
 ICloneable Interface.
 
bool isConsistent (const ASpace *space) const override
 ASpaceObject Interface.
 
Id getNVar () const override
 ACov Interface.
 
double evalCor (const SpacePoint &p1, const SpacePoint &p2, const CovCalcMode *mode=nullptr, Id ivar=0, Id jvar=0) const
 ACov Interface.
 
double evalCovOnSphere (double alpha, Id degree=50, bool flagScaleDistance=true, const CovCalcMode *mode=nullptr) const override
 
 evalSpectrumOnSphere (Id n, bool flagNormDistance=false, bool flagCumul=false) const override
 
double evalSpectrum (const 1 &freq, Id ivar=0, Id jvar=0) const override
 
virtual double getIntegralRange (Id ndisc, double hmax) const
 
virtual String getFormula () const
 
virtual double getBallRadius () const
 
void _optimizationPreProcess (Id mode, const std::vector< SpacePoint > &ps) const override
 
void _optimizationSetTarget (SpacePoint &p) const override
 Define the argument 'p' as the current target and project it if needed.
 
void _optimizationPostProcess () const override
 
bool isValidForTurningBand () const
 
double simulateTurningBand (double t0, TurningBandOperate &operTB) const
 
bool isValidForSpectral () const
 
MatrixDense simulateSpectralOmega (Id nb) const
 
void setParam (double param)
 
void setNoStatFactor (double noStatFactor)
 
void setRangeIsotropic (double range)
 Practical range.
 
void setRange (Id idim, double range)
 
void setRanges (const 1 &ranges)
 
void setScale (double scale)
 
void setScaleDim (Id idim, double scale)
 Make the covariance isotropic.
 
void setScales (const 1 &scales)
 
void setAnisoRotationMat (const Rotation &rot)
 
void setAnisoRotation (const 1 &rot)
 
void setAnisoAngles (const 1 &angles)
 
void setAnisoAngle (Id idim, double angle)
 
void setRotationAnglesAndRadius (const 1 &angles=1(), const 1 &ranges=1(), const 1 &scales=1()) const
 
 getRanges () const
 
double getRange (Id idim) const
 
double getScale (Id idim) const
 
const RotationgetAnisoRotation () const
 
const & getScales () const
 
void setType (const ECov &type)
 
double getRangeIso () const
 
double getScaleIso () const
 
bool getFlagAniso () const
 
bool getFlagRotation () const
 
 getAnisoAngles () const
 
const MatrixSquaregetAnisoRotMat () const
 
const MatrixSquaregetAnisoInvMat () const
 
 getAnisoCoeffs () const
 
double getAnisoAngles (Id idim) const
 
double getAnisoRotMat (Id idim, Id jdim) const
 
double getAnisoCoeff (Id idim) const
 
const ECov & getType () const
 
double getParam () const
 
double getScadef () const
 
double getParMax () const
 
Id getMaxNDim () const
 
Id getMinOrder () const
 
bool hasInt1D () const
 
bool hasInt2D () const
 
Id hasRange () const
 
Id hasParam () const
 
String getCovName () const
 
bool isIsotropic () const
 
bool isAsymptotic () const
 
bool hasRotation () const
 
const TensorgetAniso () const
 
void setAniso (const Tensor &aniso)
 
const ACovFuncgetCorFunc () const
 
Id getNGradParam () const
 
bool hasCovDerivative () const
 
bool hasCovOnSphere () const
 
bool hasSpectrumOnSphere () const
 
bool hasMarkovCoeffs () const
 
bool hasSpectrumOnRn () const
 
double normalizeOnSphere (Id n=50) const
 
void makeRangeNoStatDb (const String &namecol, Id idim=0, const Db *db=nullptr)
 
void makeScaleNoStatDb (const String &namecol, Id idim=0, const Db *db=nullptr)
 
void makeAngleNoStatDb (const String &namecol, Id idim=0, const Db *db=nullptr)
 
void makeTensorNoStatDb (const String &namecol, Id idim=0, Id jdim=0, const Db *db=nullptr)
 
void makeParamNoStatDb (const String &namecol, const Db *db=nullptr)
 
void makeRangeNoStatFunctional (const AFunctional *func, Id idim=0)
 
void makeScaleNoStatFunctional (const AFunctional *func, Id idim=0)
 
void makeAngleNoStatFunctional (const AFunctional *func, Id idim=0)
 
void makeTensorNoStatFunctional (const AFunctional *func, Id idim=0, Id jdim=0)
 
void makeParamNoStatFunctional (const AFunctional *func)
 
void makeRangeStationary (Id idim=0) const
 
void makeScaleStationary (Id idim=0) const
 
void makeAngleStationary (Id idim=0) const
 
void makeTensorStationary (Id idim, Id jdim)
 
void makeParamStationary ()
 
TabNoStatCovAnisogetTabNoStatCovAniso () const
 
Id getNAngles () const
 
Id getNRanges () const
 
Id getNScales () const
 
bool isNoStatForParam () const
 
bool isNoStatForTensor () const
 
bool isNoStatForAnisotropy () const
 
bool isNoStatForRotation () const
 
 evalCovOnSphereVec (const 1 &alpha, Id degree=50, bool flagScaleDistance=false, const CovCalcMode *mode=nullptr) const
 
Array evalCovFFT (const 1 &hmax, Id N=128, Id ivar=0, Id jvar=0) const
 
 getMarkovCoeffs () const
 
void setMarkovCoeffs (const 1 &coeffs)
 
void setMarkovCoeffsBySquaredPolynomials (1 coeffs1, 1 coeffs2, double eps=0)
 
void computeMarkovCoeffs ()
 
double getCorrec () const
 
double getFullCorrec () const
 
void nostatUpdate (CovInternal *covint)
 
void informMeshByMeshForAnisotropy (const AMesh *amesh) const
 
void informMeshByApexForAnisotropy (const AMesh *amesh) const
 
void informDbInForAnisotropy (const Db *dbin) const
 
void informDbOutForAnisotropy (const Db *dbout) const
 
void updateCovByPoints (Id icas1, Id iech1, Id icas2, Id iech2) override
 Tell if the use of Optimization is enabled or not.
 
void updateCovByMesh (Id imesh, bool aniso=true) const override
 
double getValue (const EConsElem &econs, Id iv1, Id iv2) const override
 
void computeCorrec ()
 
double evalCorFromH (double h, const CovCalcMode *mode) const
 
double getDetTensor () const
 
void optimizationTransformSP (const SpacePoint &ptin, SpacePoint &ptout) const
 
void optimizationTransformSPNew (const SpacePoint &ptin, SpacePoint &ptout) const
 
String toStringParams (const AStringFormat *strfmt=nullptr) const
 
String toStringNoStat (const AStringFormat *strfmt=nullptr, Id i=0) const
 
void appendParams (ListParams &listParams, std::vector< covmaptype > *gradFuncs=nullptr) override
 
double evalDerivativeBasis (const SpacePoint &p1, const SpacePoint &p2, Id ivar, Id jvar, const CovCalcMode *mode) const
 
void updateCov () override
 
void initParams (const MatrixSymmetric &vars, double href=1.) override
 
ParamInfogetParamInfoScale (Id idim)
 
ParamInfogetParamInfoAngle (Id idim)
 
std::vector< ParamInfo > & getParamInfoScales ()
 
std::vector< ParamInfo > & getParamInfoAngles ()
 
bool getOptimLockIso2d () const
 
void setOptimLockIso2d (bool status)
 
bool getOptimNoAniso () const
 
void setOptimNoAniso (bool status)
 
std::vector< MatrixSquare > & getDRot () const
 
Id addEvalCovVecRHSInPlace (vect vect, const 1 &index1, Id iech2, const KrigOpt &krigopt, SpacePoint &pin, SpacePoint &pout, 1 &tabwork, double lambda=1., const ECalcMember &calcMember=ECalcMember::RHS) const override
 
- Public Member Functions inherited from gstlrn::ACov
 ACov (const CovContext &ctxt=CovContext())
 
 ACov (const ACov &r)
 
ACovoperator= (const ACov &r)
 
virtual ~ACov ()
 
virtual bool isIndexable () const
 
bool isNoStat () const
 
const CovContextgetContext () 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 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 isOptimEnabled () const
 Functions linked to Optimization during Covariance calculations.
 
void optimizationPreProcess (Id mode, const std::vector< SpacePoint > &ps) const
 
SpacePointoptimizationLoadInPlace (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
 
MatrixSparseevalCovMatSparse (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
 
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
 
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
 
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 DbgetDbNoStat () const
 
const DbgetDbNoStatRaw () const
 
void setNoStatDbIfNecessary (const Db *db)
 
void setNoStatDbIfNecessary (std::shared_ptr< const Db > &db)
 
- Public Member Functions inherited from gstlrn::ICloneable
 ICloneable ()
 
virtual ~ICloneable ()
 
virtual ICloneableclone () const =0
 
std::shared_ptr< ICloneablecloneShared () const
 
std::unique_ptr< ICloneablecloneUnique () const
 
- Public Member Functions inherited from gstlrn::AStringable
 AStringable ()
 
 AStringable (const AStringable &r)
 
AStringableoperator= (const AStringable &r)
 
virtual ~AStringable ()
 
virtual void display (const AStringFormat *strfmt=nullptr) const final
 
virtual void display (Id level) const final
 

Static Public Member Functions

static bool isOptimizationInitialized (const std::vector< SpacePoint > &p1As, const Db *db=nullptr)
 
static CorAnisocreateIsotropic (const CovContext &ctxt, const ECov &type, double range, double param=1., bool flagRange=true)
 
static CorAnisocreateAnisotropic (const CovContext &ctxt, const ECov &type, const 1 &ranges, double param=1., const 1 &angles=1(), bool flagRange=true)
 
static CorAnisocreateIsotropicMulti (const CovContext &ctxt, const ECov &type, double range, double param=1., bool flagRange=true)
 
static CorAnisocreateAnisotropicMulti (const CovContext &ctxt, const ECov &type, const 1 &ranges, double param=1., const 1 &angles=1(), bool flagRange=true)
 
- Static Public Member Functions inherited from gstlrn::ACov
static void gofDisplay (double gof, bool byValue=true, const 1 &thresholds={2., 5., 10., 100})
 

Constructor & Destructor Documentation

◆ CorAniso() [1/4]

gstlrn::CorAniso::CorAniso ( const ECov &  type,
const CovContext ctxt 
)

◆ CorAniso() [2/4]

gstlrn::CorAniso::CorAniso ( const String symbol,
const CovContext ctxt 
)

◆ CorAniso() [3/4]

gstlrn::CorAniso::CorAniso ( const ECov &  type,
double  range,
double  param,
const CovContext ctxt,
bool  flagRange = true 
)

◆ CorAniso() [4/4]

gstlrn::CorAniso::CorAniso ( const CorAniso r)

◆ ~CorAniso()

gstlrn::CorAniso::~CorAniso ( )
virtual

Member Function Documentation

◆ _optimizationPostProcess()

void gstlrn::CorAniso::_optimizationPostProcess ( ) const
overridevirtual

Reimplemented from gstlrn::ACov.

◆ _optimizationPreProcess()

void gstlrn::CorAniso::_optimizationPreProcess ( Id  mode,
const std::vector< SpacePoint > &  ps 
) const
overridevirtual

Transform a set of Space Points using the anisotropy tensor The set of resulting Space Points are stored as private member of this. Note that ALL samples are processed, regardless from the selection

Parameters
mode1 for _p1As and 2 for _p2As
psVector of SpacePoints

Reimplemented from gstlrn::ACov.

◆ _optimizationSetTarget()

void gstlrn::CorAniso::_optimizationSetTarget ( SpacePoint p) const
overridevirtual

Define the argument 'p' as the current target and project it if needed.

Parameters
pCurrent space point
Note
: The target is stored in first position of '_p2As'
: Its pointer is stored in '_pw2' for quick covariance evaluation.

Reimplemented from gstlrn::ACov.

◆ addEvalCovVecRHSInPlace()

Id gstlrn::CorAniso::addEvalCovVecRHSInPlace ( vect  vect,
const 1 &  index1,
Id  iech2,
const KrigOpt krigopt,
SpacePoint pin,
SpacePoint pout,
1 &  tabwork,
double  lambda = 1.,
const ECalcMember &  calcMember = ECalcMember::RHS 
) const
overridevirtual

Reimplemented from gstlrn::ACov.

◆ appendParams()

void gstlrn::CorAniso::appendParams ( ListParams listParams,
std::vector< covmaptype > *  gradFuncs = nullptr 
)
overridevirtual

Reimplemented from gstlrn::ACov.

◆ computeCorrec()

void gstlrn::CorAniso::computeCorrec ( )

◆ computeMarkovCoeffs()

void gstlrn::CorAniso::computeMarkovCoeffs ( )

◆ createAnisotropic()

CorAniso * gstlrn::CorAniso::createAnisotropic ( const CovContext ctxt,
const ECov &  type,
const 1 &  ranges,
double  param = 1.,
const 1 &  angles = 1(),
bool  flagRange = true 
)
static

◆ createAnisotropicMulti()

CorAniso * gstlrn::CorAniso::createAnisotropicMulti ( const CovContext ctxt,
const ECov &  type,
const 1 &  ranges,
double  param = 1.,
const 1 &  angles = 1(),
bool  flagRange = true 
)
static

◆ createIsotropic()

CorAniso * gstlrn::CorAniso::createIsotropic ( const CovContext ctxt,
const ECov &  type,
double  range,
double  param = 1.,
bool  flagRange = true 
)
static

◆ createIsotropicMulti()

CorAniso * gstlrn::CorAniso::createIsotropicMulti ( const CovContext ctxt,
const ECov &  type,
double  range,
double  param = 1.,
bool  flagRange = true 
)
static

◆ evalCor()

double gstlrn::CorAniso::evalCor ( const SpacePoint p1,
const SpacePoint p2,
const CovCalcMode mode = nullptr,
Id  ivar = 0,
Id  jvar = 0 
) const

ACov Interface.

◆ evalCorFromH()

double gstlrn::CorAniso::evalCorFromH ( double  h,
const CovCalcMode mode 
) const

Calculate the value of the covariance from the distance between bi-points This distance has been calculated beforehand (possibly using anisotropy)

Parameters
hInput distance
modePointer to CovCalcMode structure (optional)
Returns
The covariance value

◆ evalCovFFT()

Array gstlrn::CorAniso::evalCovFFT ( const 1 &  hmax,
Id  N = 128,
Id  ivar = 0,
Id  jvar = 0 
) const

◆ evalCovOnSphere()

double gstlrn::CorAniso::evalCovOnSphere ( double  alpha,
Id  degree = 50,
bool  flagScaleDistance = true,
const CovCalcMode mode = nullptr 
) const
overridevirtual

Reimplemented from gstlrn::ACov.

◆ evalCovOnSphereVec()

gstlrn::CorAniso::evalCovOnSphereVec ( const 1 &  alpha,
Id  degree = 50,
bool  flagScaleDistance = false,
const CovCalcMode mode = nullptr 
) const

◆ evalDerivativeBasis()

double gstlrn::CorAniso::evalDerivativeBasis ( const SpacePoint p1,
const SpacePoint p2,
Id  ivar,
Id  jvar,
const CovCalcMode mode 
) const

◆ evalSpectrum()

double gstlrn::CorAniso::evalSpectrum ( const 1 &  freq,
Id  ivar = 0,
Id  jvar = 0 
) const
overridevirtual

Reimplemented from gstlrn::ACov.

◆ evalSpectrumOnSphere()

gstlrn::CorAniso::evalSpectrumOnSphere ( Id  n,
bool  flagNormDistance = false,
bool  flagCumul = false 
) const
overridevirtual

Reimplemented from gstlrn::ACov.

◆ getAniso()

const Tensor & gstlrn::CorAniso::getAniso ( ) const
inline

◆ getAnisoAngles() [1/2]

gstlrn::CorAniso::getAnisoAngles ( ) const
inline

◆ getAnisoAngles() [2/2]

double gstlrn::CorAniso::getAnisoAngles ( Id  idim) const
inline

◆ getAnisoCoeff()

double gstlrn::CorAniso::getAnisoCoeff ( Id  idim) const
inline

◆ getAnisoCoeffs()

gstlrn::CorAniso::getAnisoCoeffs ( ) const

◆ getAnisoInvMat()

const MatrixSquare & gstlrn::CorAniso::getAnisoInvMat ( ) const
inline

◆ getAnisoRotation()

const Rotation & gstlrn::CorAniso::getAnisoRotation ( ) const
inline

◆ getAnisoRotMat() [1/2]

const MatrixSquare & gstlrn::CorAniso::getAnisoRotMat ( ) const
inline

◆ getAnisoRotMat() [2/2]

double gstlrn::CorAniso::getAnisoRotMat ( Id  idim,
Id  jdim 
) const
inline

◆ getBallRadius()

virtual double gstlrn::CorAniso::getBallRadius ( ) const
inlinevirtual

◆ getCorFunc()

const ACovFunc * gstlrn::CorAniso::getCorFunc ( ) const
inline

◆ getCorrec()

double gstlrn::CorAniso::getCorrec ( ) const

◆ getCovName()

String gstlrn::CorAniso::getCovName ( ) const
inline

◆ getDetTensor()

double gstlrn::CorAniso::getDetTensor ( ) const

◆ getDRot()

std::vector< MatrixSquare > & gstlrn::CorAniso::getDRot ( ) const
inline

◆ getFlagAniso()

bool gstlrn::CorAniso::getFlagAniso ( ) const
inline

◆ getFlagRotation()

bool gstlrn::CorAniso::getFlagRotation ( ) const
inline

◆ getFormula()

virtual String gstlrn::CorAniso::getFormula ( ) const
inlinevirtual

◆ getFullCorrec()

double gstlrn::CorAniso::getFullCorrec ( ) const

◆ getIntegralRange()

double gstlrn::CorAniso::getIntegralRange ( Id  ndisc,
double  hmax 
) const
virtual

Calculate the Integral Range in various Space Dimension (1, 2 or 3)

Returns

◆ getMarkovCoeffs()

gstlrn::CorAniso::getMarkovCoeffs ( ) const

◆ getMaxNDim()

Id gstlrn::CorAniso::getMaxNDim ( ) const
inline

◆ getMinOrder()

Id gstlrn::CorAniso::getMinOrder ( ) const
inline

◆ getNAngles()

Id gstlrn::CorAniso::getNAngles ( ) const
inline

◆ getNGradParam()

Id gstlrn::CorAniso::getNGradParam ( ) const

◆ getNRanges()

Id gstlrn::CorAniso::getNRanges ( ) const
inline

◆ getNScales()

Id gstlrn::CorAniso::getNScales ( ) const
inline

◆ getNVar()

Id gstlrn::CorAniso::getNVar ( ) const
inlineoverridevirtual

ACov Interface.

Reimplemented from gstlrn::ACov.

◆ getOptimLockIso2d()

bool gstlrn::CorAniso::getOptimLockIso2d ( ) const
inline

◆ getOptimNoAniso()

bool gstlrn::CorAniso::getOptimNoAniso ( ) const
inline

◆ getParam()

double gstlrn::CorAniso::getParam ( ) const

For compatibility, this function returns 0 if the Covariance has no Third Parameter

Returns
Third parameter

◆ getParamInfoAngle()

ParamInfo & gstlrn::CorAniso::getParamInfoAngle ( Id  idim)
inline

◆ getParamInfoAngles()

std::vector< ParamInfo > & gstlrn::CorAniso::getParamInfoAngles ( )
inline

◆ getParamInfoScale()

ParamInfo & gstlrn::CorAniso::getParamInfoScale ( Id  idim)
inline

◆ getParamInfoScales()

std::vector< ParamInfo > & gstlrn::CorAniso::getParamInfoScales ( )
inline

◆ getParMax()

double gstlrn::CorAniso::getParMax ( ) const
inline

◆ getRange()

double gstlrn::CorAniso::getRange ( Id  idim) const
inline

◆ getRangeIso()

double gstlrn::CorAniso::getRangeIso ( ) const

This function returns the range in the isotropic case In the anisotropic case, it returns the largest range over all directions

Returns

◆ getRanges()

gstlrn::CorAniso::getRanges ( ) const

◆ getScadef()

double gstlrn::CorAniso::getScadef ( ) const
inline

◆ getScale()

double gstlrn::CorAniso::getScale ( Id  idim) const
inline

◆ getScaleIso()

double gstlrn::CorAniso::getScaleIso ( ) const

◆ getScales()

const & gstlrn::CorAniso::getScales ( ) const
inline

◆ getTabNoStatCovAniso()

TabNoStatCovAniso * gstlrn::CorAniso::getTabNoStatCovAniso ( ) const
inline

◆ getType()

const ECov & gstlrn::CorAniso::getType ( ) const
inline

◆ getValue()

double gstlrn::CorAniso::getValue ( const EConsElem &  econs,
Id  iv1,
Id  iv2 
) const
overridevirtual

Reimplemented from gstlrn::ACov.

◆ hasCovDerivative()

bool gstlrn::CorAniso::hasCovDerivative ( ) const
inline

◆ hasCovOnSphere()

bool gstlrn::CorAniso::hasCovOnSphere ( ) const
inline

◆ hasInt1D()

bool gstlrn::CorAniso::hasInt1D ( ) const
inline

◆ hasInt2D()

bool gstlrn::CorAniso::hasInt2D ( ) const
inline

◆ hasMarkovCoeffs()

bool gstlrn::CorAniso::hasMarkovCoeffs ( ) const
inline

◆ hasParam()

Id gstlrn::CorAniso::hasParam ( ) const
inline

◆ hasRange()

Id gstlrn::CorAniso::hasRange ( ) const
inline

◆ hasRotation()

bool gstlrn::CorAniso::hasRotation ( ) const
inline

◆ hasSpectrumOnRn()

bool gstlrn::CorAniso::hasSpectrumOnRn ( ) const
inline

◆ hasSpectrumOnSphere()

bool gstlrn::CorAniso::hasSpectrumOnSphere ( ) const
inline

◆ informDbInForAnisotropy()

void gstlrn::CorAniso::informDbInForAnisotropy ( const Db dbin) const

◆ informDbOutForAnisotropy()

void gstlrn::CorAniso::informDbOutForAnisotropy ( const Db dbout) const

◆ informMeshByApexForAnisotropy()

void gstlrn::CorAniso::informMeshByApexForAnisotropy ( const AMesh amesh) const

◆ informMeshByMeshForAnisotropy()

void gstlrn::CorAniso::informMeshByMeshForAnisotropy ( const AMesh amesh) const

◆ initParams()

void gstlrn::CorAniso::initParams ( const MatrixSymmetric vars,
double  href = 1. 
)
overridevirtual

Reimplemented from gstlrn::ACov.

◆ isAsymptotic()

bool gstlrn::CorAniso::isAsymptotic ( ) const
inline

◆ isConsistent()

bool gstlrn::CorAniso::isConsistent ( const ASpace space) const
overridevirtual

ASpaceObject Interface.

Reimplemented from gstlrn::ACov.

◆ isIsotropic()

bool gstlrn::CorAniso::isIsotropic ( ) const
inline

◆ isNoStatForAnisotropy()

bool gstlrn::CorAniso::isNoStatForAnisotropy ( ) const
inline

◆ isNoStatForParam()

bool gstlrn::CorAniso::isNoStatForParam ( ) const
inline

◆ isNoStatForRotation()

bool gstlrn::CorAniso::isNoStatForRotation ( ) const
inline

◆ isNoStatForTensor()

bool gstlrn::CorAniso::isNoStatForTensor ( ) const
inline

◆ isOptimizationInitialized()

bool gstlrn::CorAniso::isOptimizationInitialized ( const std::vector< SpacePoint > &  p1As,
const Db db = nullptr 
)
static

Checks that the Optimization has already been initiated, by:

  • checking that the storage (for Sample Points projected in the Covariance rotation system) is already allocated
  • checking that the dimension of this storage is correct (only if 'db' is provided): in particular, this check is not necessary when freeing this storage.

◆ isValidForSpectral()

bool gstlrn::CorAniso::isValidForSpectral ( ) const

◆ isValidForTurningBand()

bool gstlrn::CorAniso::isValidForTurningBand ( ) const

◆ makeAngleNoStatDb()

void gstlrn::CorAniso::makeAngleNoStatDb ( const String namecol,
Id  idim = 0,
const Db db = nullptr 
)

◆ makeAngleNoStatFunctional()

void gstlrn::CorAniso::makeAngleNoStatFunctional ( const AFunctional func,
Id  idim = 0 
)

◆ makeAngleStationary()

void gstlrn::CorAniso::makeAngleStationary ( Id  idim = 0) const

◆ makeParamNoStatDb()

void gstlrn::CorAniso::makeParamNoStatDb ( const String namecol,
const Db db = nullptr 
)

◆ makeParamNoStatFunctional()

void gstlrn::CorAniso::makeParamNoStatFunctional ( const AFunctional func)

◆ makeParamStationary()

void gstlrn::CorAniso::makeParamStationary ( )

◆ makeRangeNoStatDb()

void gstlrn::CorAniso::makeRangeNoStatDb ( const String namecol,
Id  idim = 0,
const Db db = nullptr 
)

◆ makeRangeNoStatFunctional()

void gstlrn::CorAniso::makeRangeNoStatFunctional ( const AFunctional func,
Id  idim = 0 
)

◆ makeRangeStationary()

void gstlrn::CorAniso::makeRangeStationary ( Id  idim = 0) const

◆ makeScaleNoStatDb()

void gstlrn::CorAniso::makeScaleNoStatDb ( const String namecol,
Id  idim = 0,
const Db db = nullptr 
)

◆ makeScaleNoStatFunctional()

void gstlrn::CorAniso::makeScaleNoStatFunctional ( const AFunctional func,
Id  idim = 0 
)

◆ makeScaleStationary()

void gstlrn::CorAniso::makeScaleStationary ( Id  idim = 0) const

◆ makeTensorNoStatDb()

void gstlrn::CorAniso::makeTensorNoStatDb ( const String namecol,
Id  idim = 0,
Id  jdim = 0,
const Db db = nullptr 
)

◆ makeTensorNoStatFunctional()

void gstlrn::CorAniso::makeTensorNoStatFunctional ( const AFunctional func,
Id  idim = 0,
Id  jdim = 0 
)

◆ makeTensorStationary()

void gstlrn::CorAniso::makeTensorStationary ( Id  idim,
Id  jdim 
)

◆ normalizeOnSphere()

double gstlrn::CorAniso::normalizeOnSphere ( Id  n = 50) const

◆ nostatUpdate()

void gstlrn::CorAniso::nostatUpdate ( CovInternal covint)

Update the Model in the case of Non-stationary parameters This requires the knowledge of the two end-points

Parameters
[in]covintInternal structure for non-stationarity or NULL (for stationary case)

◆ operator=()

CorAniso & gstlrn::CorAniso::operator= ( const CorAniso r)

◆ optimizationTransformSP()

void gstlrn::CorAniso::optimizationTransformSP ( const SpacePoint ptin,
SpacePoint ptout 
) const

Transform a space point using the anisotropy tensor

Parameters
ptinInput Space Point
ptoutOutput Space Point

◆ optimizationTransformSPNew()

void gstlrn::CorAniso::optimizationTransformSPNew ( const SpacePoint ptin,
SpacePoint ptout 
) const

◆ setAniso()

void gstlrn::CorAniso::setAniso ( const Tensor aniso)
inline

◆ setAnisoAngle()

void gstlrn::CorAniso::setAnisoAngle ( Id  idim,
double  angle 
)

◆ setAnisoAngles()

void gstlrn::CorAniso::setAnisoAngles ( const 1 &  angles)

◆ setAnisoRotation()

void gstlrn::CorAniso::setAnisoRotation ( const 1 &  rot)

◆ setAnisoRotationMat()

void gstlrn::CorAniso::setAnisoRotationMat ( const Rotation rot)

◆ setMarkovCoeffs()

void gstlrn::CorAniso::setMarkovCoeffs ( const 1 &  coeffs)

◆ setMarkovCoeffsBySquaredPolynomials()

void gstlrn::CorAniso::setMarkovCoeffsBySquaredPolynomials ( coeffs1,
coeffs2,
double  eps = 0 
)

◆ setNoStatFactor()

void gstlrn::CorAniso::setNoStatFactor ( double  noStatFactor)
inline

◆ setOptimLockIso2d()

void gstlrn::CorAniso::setOptimLockIso2d ( bool  status)
inline

◆ setOptimNoAniso()

void gstlrn::CorAniso::setOptimNoAniso ( bool  status)
inline

◆ setParam()

void gstlrn::CorAniso::setParam ( double  param)

◆ setRange()

void gstlrn::CorAniso::setRange ( Id  idim,
double  range 
)

◆ setRangeIsotropic()

void gstlrn::CorAniso::setRangeIsotropic ( double  range)

Practical range.

◆ setRanges()

void gstlrn::CorAniso::setRanges ( const 1 &  ranges)

◆ setRotationAnglesAndRadius()

void gstlrn::CorAniso::setRotationAnglesAndRadius ( const 1 &  angles = 1(),
const 1 &  ranges = 1(),
const 1 &  scales = 1() 
) const

◆ setScale()

void gstlrn::CorAniso::setScale ( double  scale)

◆ setScaleDim()

void gstlrn::CorAniso::setScaleDim ( Id  idim,
double  scale 
)

Make the covariance isotropic.

◆ setScales()

void gstlrn::CorAniso::setScales ( const 1 &  scales)

◆ setType()

void gstlrn::CorAniso::setType ( const ECov &  type)

◆ simulateSpectralOmega()

MatrixDense gstlrn::CorAniso::simulateSpectralOmega ( Id  nb) const

◆ simulateTurningBand()

double gstlrn::CorAniso::simulateTurningBand ( double  t0,
TurningBandOperate operTB 
) const

◆ toString()

String gstlrn::CorAniso::toString ( const AStringFormat strfmt = nullptr) const
overridevirtual

ICloneable Interface.

AStringable Interface

Reimplemented from gstlrn::AStringable.

◆ toStringNoStat()

String gstlrn::CorAniso::toStringNoStat ( const AStringFormat strfmt = nullptr,
Id  i = 0 
) const

◆ toStringParams()

String gstlrn::CorAniso::toStringParams ( const AStringFormat strfmt = nullptr) const

◆ updateCov()

void gstlrn::CorAniso::updateCov ( )
overridevirtual

Reimplemented from gstlrn::ACov.

◆ updateCovByMesh()

void gstlrn::CorAniso::updateCovByMesh ( Id  imesh,
bool  aniso = true 
) const
overridevirtual

Reimplemented from gstlrn::ACov.

◆ updateCovByPoints()

void gstlrn::CorAniso::updateCovByPoints ( Id  icas1,
Id  iech1,
Id  icas2,
Id  iech2 
)
overridevirtual

Tell if the use of Optimization is enabled or not.

Update the Model according to the Non-stationary parameters

Parameters
icas1Type of first Db: 1 for Input; 2 for Output
iech1Rank of the target within Db1 (or -1)
icas2Type of first Db: 1 for Input; 2 for Output
iech2Rank of the target within Dbout (or -2)

Reimplemented from gstlrn::ACov.


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