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

This class describes an elementary covariance. More...

#include <CorAniso.hpp>

Inheritance diagram for CorAniso:
ACov ASpaceObject ICloneable 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 ()
 
virtual String toString (const AStringFormat *strfmt=nullptr) const override
 ICloneable Interface.
 
virtual bool isConsistent (const ASpace *space) const override
 ASpaceObject Interface.
 
virtual int getNVar () const override
 ACov Interface.
 
double evalCor (const SpacePoint &p1, const SpacePoint &p2, const CovCalcMode *mode=nullptr, int ivar=0, int jvar=0) const
 ACov Interface.
 
virtual double evalCovOnSphere (double alpha, int degree=50, bool flagScaleDistance=true, const CovCalcMode *mode=nullptr) const override
 
virtual VectorDouble evalSpectrumOnSphere (int n, bool flagNormDistance=false, bool flagCumul=false) const override
 
virtual double evalSpectrum (const VectorDouble &freq, int ivar=0, int jvar=0) const override
 
virtual double getIntegralRange (int ndisc, double hmax) const
 
virtual String getFormula () const
 
virtual double getBallRadius () const
 
void _optimizationPreProcess (int 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 (int nb) const
 
void setParam (double param)
 
void setNoStatFactor (double noStatFactor)
 
void setRangeIsotropic (double range)
 Practical range.
 
void setRange (int idim, double range)
 
void setRanges (const VectorDouble &ranges)
 
void setScale (double scale)
 
void setScale (int idim, double scale)
 Make the covariance isotropic.
 
void setScales (const VectorDouble &scales)
 
void setAnisoRotation (const Rotation &rot)
 
void setAnisoRotation (const VectorDouble &rot)
 
void setAnisoAngles (const VectorDouble &angles)
 
void setAnisoAngle (int idim, double angle)
 
void setRotationAnglesAndRadius (const VectorDouble &angles=VectorDouble(), const VectorDouble &ranges=VectorDouble(), const VectorDouble &scales=VectorDouble()) const
 
VectorDouble getRanges () const
 
const RotationgetAnisoRotation () const
 
const VectorDoublegetScales () const
 
void setType (const ECov &type)
 
double getRange () const
 
double getScale () const
 
bool getFlagAniso () const
 
bool getFlagRotation () const
 
double getRange (int idim) const
 
double getScale (int idim) const
 
VectorDouble getAnisoAngles () const
 
const MatrixSquaregetAnisoRotMat () const
 
const MatrixSquaregetAnisoInvMat () const
 
VectorDouble getAnisoCoeffs () const
 
double getAnisoAngles (int idim) const
 
double getAnisoRotMat (int idim, int jdim) const
 
double getAnisoCoeffs (int idim) const
 
const ECov & getType () const
 
double getParam () const
 
double getScadef () const
 
double getParMax () const
 
int getMaxNDim () const
 
int getMinOrder () const
 
bool hasInt1D () const
 
bool hasInt2D () const
 
int hasRange () const
 
int 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
 
int getNGradParam () const
 
bool hasCovDerivative () const
 
bool hasCovOnSphere () const
 
bool hasSpectrumOnSphere () const
 
bool hasMarkovCoeffs () const
 
bool hasSpectrumOnRn () const
 
double normalizeOnSphere (int n=50) const
 
void makeRangeNoStatDb (const String &namecol, int idim=0, const Db *db=nullptr)
 
void makeScaleNoStatDb (const String &namecol, int idim=0, const Db *db=nullptr)
 
void makeAngleNoStatDb (const String &namecol, int idim=0, const Db *db=nullptr)
 
void makeTensorNoStatDb (const String &namecol, int idim=0, int jdim=0, const Db *db=nullptr)
 
void makeParamNoStatDb (const String &namecol, const Db *db=nullptr)
 
void makeRangeNoStatFunctional (const AFunctional *func, int idim=0)
 
void makeScaleNoStatFunctional (const AFunctional *func, int idim=0)
 
void makeAngleNoStatFunctional (const AFunctional *func, int idim=0)
 
void makeTensorNoStatFunctional (const AFunctional *func, int idim=0, int jdim=0)
 
void makeParamNoStatFunctional (const AFunctional *func)
 
void makeRangeStationary (int idim=0) const
 
void makeScaleStationary (int idim=0) const
 
void makeAngleStationary (int idim=0) const
 
void makeTensorStationary (int idim, int jdim)
 
void makeParamStationary ()
 
TabNoStatCovAnisogetTabNoStatCovAniso () const
 
int getNAngles () const
 
int getNRanges () const
 
int getNScales () const
 
bool isNoStatForParam () const
 
bool isNoStatForTensor () const
 
bool isNoStatForAnisotropy () const
 
bool isNoStatForRotation () const
 
VectorDouble evalCovOnSphereVec (const VectorDouble &alpha, int degree=50, bool flagScaleDistance=false, const CovCalcMode *mode=nullptr) const
 
Array evalCovFFT (const VectorDouble &hmax, int N=128, int ivar=0, int jvar=0) const
 
VectorDouble getMarkovCoeffs () const
 
void setMarkovCoeffs (const VectorDouble &coeffs)
 
void setMarkovCoeffsBySquaredPolynomials (VectorDouble coeffs1, VectorDouble 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 (int icas1, int iech1, int icas2, int iech2) override
 Tell if the use of Optimization is enabled or not.
 
void updateCovByMesh (int imesh, bool aniso=true) const override
 
double getValue (const EConsElem &econs, int iv1, int 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, int i=0) const
 
int addEvalCovVecRHSInPlace (vect vect, const VectorInt &index1, int iech2, const KrigOpt &krigopt, SpacePoint &pin, SpacePoint &pout, VectorDouble &tabwork, double lambda=1.) const override
 
- Public Member Functions inherited from ACov
 ACov (const CovContext &ctxt=CovContext())
 
 ACov (const ACov &r)
 
ACovoperator= (const ACov &r)
 
virtual ~ACov ()
 
virtual bool isIndexable () const
 
bool isNoStat () const
 
virtual void loadInfoValues ()
 
const CovContextgetContext () const
 
void setContext (const CovContext &ctxt)
 
void updateFromContext ()
 
virtual void copyCovContext (const CovContext &ctxt)
 
void initFromContext ()
 
CovContext getContextCopy () const
 
virtual double eval0 (int ivar=0, int 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, int ivar=0, int jvar=0, const CovCalcMode *mode=nullptr) const
 Calculate the covariance between two variables and two points (general case)
 
virtual void updateCovByPoints (int icas1, int iech1, int icas2, int iech2) 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
 
void makeStationary ()
 
virtual int makeElemNoStat (const EConsElem &econs, int iv1, int 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
 
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
 
int getNDim (int 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 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
 

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 VectorDouble &ranges, double param=1., const VectorDouble &angles=VectorDouble(), 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 VectorDouble &ranges, double param=1., const VectorDouble &angles=VectorDouble(), bool flagRange=true)
 
- 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

◆ CorAniso() [1/4]

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

◆ CorAniso() [2/4]

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

◆ CorAniso() [3/4]

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

◆ CorAniso() [4/4]

CorAniso::CorAniso ( const CorAniso r)

◆ ~CorAniso()

CorAniso::~CorAniso ( )
virtual

Member Function Documentation

◆ _optimizationPostProcess()

void CorAniso::_optimizationPostProcess ( ) const
overridevirtual

Reimplemented from ACov.

◆ _optimizationPreProcess()

void CorAniso::_optimizationPreProcess ( int  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 ACov.

◆ _optimizationSetTarget()

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

◆ addEvalCovVecRHSInPlace()

int CorAniso::addEvalCovVecRHSInPlace ( vect  vect,
const VectorInt index1,
int  iech2,
const KrigOpt krigopt,
SpacePoint pin,
SpacePoint pout,
VectorDouble tabwork,
double  lambda = 1. 
) const
overridevirtual

Reimplemented from ACov.

◆ computeCorrec()

void CorAniso::computeCorrec ( )

◆ computeMarkovCoeffs()

void CorAniso::computeMarkovCoeffs ( )

◆ createAnisotropic()

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

◆ createAnisotropicMulti()

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

◆ createIsotropic()

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

◆ createIsotropicMulti()

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

◆ evalCor()

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

ACov Interface.

◆ evalCorFromH()

double 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 CorAniso::evalCovFFT ( const VectorDouble hmax,
int  N = 128,
int  ivar = 0,
int  jvar = 0 
) const

◆ evalCovOnSphere()

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

Reimplemented from ACov.

◆ evalCovOnSphereVec()

VectorDouble CorAniso::evalCovOnSphereVec ( const VectorDouble alpha,
int  degree = 50,
bool  flagScaleDistance = false,
const CovCalcMode mode = nullptr 
) const

◆ evalSpectrum()

double CorAniso::evalSpectrum ( const VectorDouble freq,
int  ivar = 0,
int  jvar = 0 
) const
overridevirtual

Reimplemented from ACov.

◆ evalSpectrumOnSphere()

VectorDouble CorAniso::evalSpectrumOnSphere ( int  n,
bool  flagNormDistance = false,
bool  flagCumul = false 
) const
overridevirtual

Reimplemented from ACov.

◆ getAniso()

const Tensor & CorAniso::getAniso ( ) const
inline

◆ getAnisoAngles() [1/2]

VectorDouble CorAniso::getAnisoAngles ( ) const
inline

◆ getAnisoAngles() [2/2]

double CorAniso::getAnisoAngles ( int  idim) const
inline

◆ getAnisoCoeffs() [1/2]

VectorDouble CorAniso::getAnisoCoeffs ( ) const

◆ getAnisoCoeffs() [2/2]

double CorAniso::getAnisoCoeffs ( int  idim) const
inline

◆ getAnisoInvMat()

const MatrixSquare & CorAniso::getAnisoInvMat ( ) const
inline

◆ getAnisoRotation()

const Rotation & CorAniso::getAnisoRotation ( ) const
inline

◆ getAnisoRotMat() [1/2]

const MatrixSquare & CorAniso::getAnisoRotMat ( ) const
inline

◆ getAnisoRotMat() [2/2]

double CorAniso::getAnisoRotMat ( int  idim,
int  jdim 
) const
inline

◆ getBallRadius()

virtual double CorAniso::getBallRadius ( ) const
inlinevirtual

◆ getCorFunc()

const ACovFunc * CorAniso::getCorFunc ( ) const
inline

◆ getCorrec()

double CorAniso::getCorrec ( ) const

◆ getCovName()

String CorAniso::getCovName ( ) const
inline

◆ getDetTensor()

double CorAniso::getDetTensor ( ) const

◆ getFlagAniso()

bool CorAniso::getFlagAniso ( ) const
inline

◆ getFlagRotation()

bool CorAniso::getFlagRotation ( ) const
inline

◆ getFormula()

virtual String CorAniso::getFormula ( ) const
inlinevirtual

◆ getFullCorrec()

double CorAniso::getFullCorrec ( ) const

◆ getIntegralRange()

double CorAniso::getIntegralRange ( int  ndisc,
double  hmax 
) const
virtual

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

Returns

◆ getMarkovCoeffs()

VectorDouble CorAniso::getMarkovCoeffs ( ) const

◆ getMaxNDim()

int CorAniso::getMaxNDim ( ) const
inline

◆ getMinOrder()

int CorAniso::getMinOrder ( ) const
inline

◆ getNAngles()

int CorAniso::getNAngles ( ) const
inline

◆ getNGradParam()

int CorAniso::getNGradParam ( ) const

◆ getNRanges()

int CorAniso::getNRanges ( ) const
inline

◆ getNScales()

int CorAniso::getNScales ( ) const
inline

◆ getNVar()

virtual int CorAniso::getNVar ( ) const
inlineoverridevirtual

ACov Interface.

Reimplemented from ACov.

◆ getParam()

double CorAniso::getParam ( ) const

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

Returns
Third parameter

◆ getParMax()

double CorAniso::getParMax ( ) const
inline

◆ getRange() [1/2]

double CorAniso::getRange ( ) const

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

Returns

◆ getRange() [2/2]

double CorAniso::getRange ( int  idim) const
inline

◆ getRanges()

VectorDouble CorAniso::getRanges ( ) const

◆ getScadef()

double CorAniso::getScadef ( ) const
inline

◆ getScale() [1/2]

double CorAniso::getScale ( ) const

◆ getScale() [2/2]

double CorAniso::getScale ( int  idim) const
inline

◆ getScales()

const VectorDouble & CorAniso::getScales ( ) const
inline

◆ getTabNoStatCovAniso()

TabNoStatCovAniso * CorAniso::getTabNoStatCovAniso ( ) const
inline

◆ getType()

const ECov & CorAniso::getType ( ) const
inline

◆ getValue()

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

Reimplemented from ACov.

◆ hasCovDerivative()

bool CorAniso::hasCovDerivative ( ) const
inline

◆ hasCovOnSphere()

bool CorAniso::hasCovOnSphere ( ) const
inline

◆ hasInt1D()

bool CorAniso::hasInt1D ( ) const
inline

◆ hasInt2D()

bool CorAniso::hasInt2D ( ) const
inline

◆ hasMarkovCoeffs()

bool CorAniso::hasMarkovCoeffs ( ) const
inline

◆ hasParam()

int CorAniso::hasParam ( ) const
inline

◆ hasRange()

int CorAniso::hasRange ( ) const
inline

◆ hasRotation()

bool CorAniso::hasRotation ( ) const
inline

◆ hasSpectrumOnRn()

bool CorAniso::hasSpectrumOnRn ( ) const
inline

◆ hasSpectrumOnSphere()

bool CorAniso::hasSpectrumOnSphere ( ) const
inline

◆ informDbInForAnisotropy()

void CorAniso::informDbInForAnisotropy ( const Db dbin) const

◆ informDbOutForAnisotropy()

void CorAniso::informDbOutForAnisotropy ( const Db dbout) const

◆ informMeshByApexForAnisotropy()

void CorAniso::informMeshByApexForAnisotropy ( const AMesh amesh) const

◆ informMeshByMeshForAnisotropy()

void CorAniso::informMeshByMeshForAnisotropy ( const AMesh amesh) const

◆ isAsymptotic()

bool CorAniso::isAsymptotic ( ) const
inline

◆ isConsistent()

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

ASpaceObject Interface.

Implements ASpaceObject.

◆ isIsotropic()

bool CorAniso::isIsotropic ( ) const
inline

◆ isNoStatForAnisotropy()

bool CorAniso::isNoStatForAnisotropy ( ) const
inline

◆ isNoStatForParam()

bool CorAniso::isNoStatForParam ( ) const
inline

◆ isNoStatForRotation()

bool CorAniso::isNoStatForRotation ( ) const
inline

◆ isNoStatForTensor()

bool CorAniso::isNoStatForTensor ( ) const
inline

◆ isOptimizationInitialized()

bool 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 CorAniso::isValidForSpectral ( ) const

◆ isValidForTurningBand()

bool CorAniso::isValidForTurningBand ( ) const

◆ makeAngleNoStatDb()

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

◆ makeAngleNoStatFunctional()

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

◆ makeAngleStationary()

void CorAniso::makeAngleStationary ( int  idim = 0) const

◆ makeParamNoStatDb()

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

◆ makeParamNoStatFunctional()

void CorAniso::makeParamNoStatFunctional ( const AFunctional func)

◆ makeParamStationary()

void CorAniso::makeParamStationary ( )

◆ makeRangeNoStatDb()

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

◆ makeRangeNoStatFunctional()

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

◆ makeRangeStationary()

void CorAniso::makeRangeStationary ( int  idim = 0) const

◆ makeScaleNoStatDb()

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

◆ makeScaleNoStatFunctional()

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

◆ makeScaleStationary()

void CorAniso::makeScaleStationary ( int  idim = 0) const

◆ makeTensorNoStatDb()

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

◆ makeTensorNoStatFunctional()

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

◆ makeTensorStationary()

void CorAniso::makeTensorStationary ( int  idim,
int  jdim 
)

◆ normalizeOnSphere()

double CorAniso::normalizeOnSphere ( int  n = 50) const

◆ nostatUpdate()

void 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 & CorAniso::operator= ( const CorAniso r)

◆ optimizationTransformSP()

void 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 CorAniso::optimizationTransformSPNew ( const SpacePoint ptin,
SpacePoint ptout 
) const

◆ setAniso()

void CorAniso::setAniso ( const Tensor aniso)
inline

◆ setAnisoAngle()

void CorAniso::setAnisoAngle ( int  idim,
double  angle 
)

◆ setAnisoAngles()

void CorAniso::setAnisoAngles ( const VectorDouble angles)

◆ setAnisoRotation() [1/2]

void CorAniso::setAnisoRotation ( const Rotation rot)

◆ setAnisoRotation() [2/2]

void CorAniso::setAnisoRotation ( const VectorDouble rot)

◆ setMarkovCoeffs()

void CorAniso::setMarkovCoeffs ( const VectorDouble coeffs)

◆ setMarkovCoeffsBySquaredPolynomials()

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

◆ setNoStatFactor()

void CorAniso::setNoStatFactor ( double  noStatFactor)
inline

◆ setParam()

void CorAniso::setParam ( double  param)

◆ setRange()

void CorAniso::setRange ( int  idim,
double  range 
)

◆ setRangeIsotropic()

void CorAniso::setRangeIsotropic ( double  range)

Practical range.

◆ setRanges()

void CorAniso::setRanges ( const VectorDouble ranges)

◆ setRotationAnglesAndRadius()

void CorAniso::setRotationAnglesAndRadius ( const VectorDouble angles = VectorDouble(),
const VectorDouble ranges = VectorDouble(),
const VectorDouble scales = VectorDouble() 
) const

◆ setScale() [1/2]

void CorAniso::setScale ( double  scale)

◆ setScale() [2/2]

void CorAniso::setScale ( int  idim,
double  scale 
)

Make the covariance isotropic.

◆ setScales()

void CorAniso::setScales ( const VectorDouble scales)

◆ setType()

void CorAniso::setType ( const ECov &  type)

◆ simulateSpectralOmega()

MatrixDense CorAniso::simulateSpectralOmega ( int  nb) const

◆ simulateTurningBand()

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

◆ toString()

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

ICloneable Interface.

AStringable Interface

Reimplemented from ASpaceObject.

◆ toStringNoStat()

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

◆ toStringParams()

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

◆ updateCovByMesh()

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

Reimplemented from ACov.

◆ updateCovByPoints()

void CorAniso::updateCovByPoints ( int  icas1,
int  iech1,
int  icas2,
int  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 ACov.


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