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.
|
| | 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) |
| |
| CorAniso & | operator= (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 | getNVariables () const override |
| | ACov Interface.
|
| |
| virtual double | eval (const SpacePoint &p1, const SpacePoint &p2, int ivar=0, int jvar=0, const CovCalcMode *mode=nullptr) const override |
| | ACov Interface.
|
| |
| double | evalCor (const SpacePoint &p1, const SpacePoint &p2, const CovCalcMode *mode=nullptr, int ivar=0, int jvar=0) const |
| |
| 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 (const std::vector< SpacePoint > &p, std::vector< SpacePoint > &p1As) const override |
| |
| void | optimizationSetTargetByIndex (int iech, const std::vector< SpacePoint > &p1As, SpacePoint &p2A) const |
| |
| void | optimizationPostProcess () const override |
| |
| bool | isNoStat () const |
| |
| bool | isValidForTurningBand () const |
| |
| double | simulateTurningBand (double t0, TurningBandOperate &operTB) const |
| |
| bool | isValidForSpectral () const |
| |
| MatrixRectangular | simulateSpectralOmega (int nb) const |
| |
| void | setContext (const CovContext &ctxt) |
| |
| 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()) |
| |
| VectorDouble | getRanges () const |
| |
| const Rotation & | getAnisoRotation () const |
| |
| const VectorDouble & | getScales () 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 MatrixSquareGeneral & | getAnisoRotMat () const |
| |
| const MatrixSquareGeneral & | getAnisoInvMat () 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 Tensor & | getAniso () const |
| |
| void | setAniso (const Tensor &aniso) |
| |
| const ACovFunc * | getCova () const |
| |
| int | getGradParamNumber () 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) |
| |
| void | makeScaleStationary (int idim=0) |
| |
| void | makeAngleStationary (int idim=0) |
| |
| void | makeTensorStationary (int idim, int jdim) |
| |
| void | makeParamStationary () |
| |
| int | getNAngles () const |
| |
| int | getNRanges () const |
| |
| int | getNScales () const |
| |
| bool | isNoStatForParam () const |
| |
| bool | isNoStatForTensor () const |
| |
| bool | isNoStatForAnisotropy () const |
| |
| bool | isNoStatForVariance () 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) override |
| |
| double | getValue (const EConsElem &econs, int iv1, int iv2) const override |
| |
| void | setOptimEnabled (bool flag) const |
| |
| void | computeCorrec () |
| |
| double | evalCorFromH (double h, const CovCalcMode *mode) const |
| |
| double | getDetTensor () const |
| |
| void | updateFromContext () override |
| |
| void | initFromContext () override |
| |
| void | optimizationSetTarget (const SpacePoint &pt, SpacePoint &p2A) const |
| |
| void | optimizationTransformSP (const SpacePoint &ptin, SpacePoint &ptout) const |
| |
| String | toStringParams (const AStringFormat *strfmt=nullptr) const |
| |
| String | toStringNoStat (const AStringFormat *strfmt=nullptr, int i=0) const |
| |
| | ACor (const CovContext &ctxt) |
| |
| | ACor (const ACor &r) |
| |
| ACor & | operator= (const ACor &r) |
| |
| virtual | ~ACor () |
| |
| void | setContext (const CovContext &ctxt) |
| |
| 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)
|
| |
| virtual void | copyCovContext (const CovContext &ctxt) |
| |
| virtual int | makeElemNoStat (const EConsElem &econs, int iv1, int iv2, const AFunctional *func=nullptr, const Db *db=nullptr, const String &namecol=String()) |
| |
| const CovContext & | getContext () const |
| |
| CovContext | getContextCopy () const |
| |
| bool | _checkDims (int idim, int jdim) const |
| |
| void | attachNoStatDb (const Db *db) |
| |
| bool | checkAndManageNoStatDb (const Db *&db, const String &namecol) |
| |
| virtual void | makeStationary () |
| |
| void | createNoStatTab () |
| |
| void | informMeshByMesh (const AMesh *amesh) const |
| |
| void | informMeshByApex (const AMesh *amesh) const |
| |
| VectorDouble | informCoords (const VectorVectorDouble &coords, const EConsElem &econs, int iv1=0, int iv2=0) const |
| |
| void | informDbIn (const Db *dbin) const |
| |
| void | informDbOut (const Db *dbout) const |
| |
| void | manage (const Db *db1, const Db *db2) const |
| |
| int | getDimensionNumber () const |
| |
| | ASpaceObject (const ASpace *space=nullptr) |
| |
| | ASpaceObject (const ASpace &space) |
| |
| | ASpaceObject (const ASpaceObject &r) |
| |
| ASpaceObject & | operator= (const ASpaceObject &r) |
| |
| virtual | ~ASpaceObject () |
| |
| const ASpace * | 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.
|
| |
| unsigned int | getNDim (int ispace=-1) const |
| | Shortcuts to ASpace methods.
|
| |
| const VectorDouble & | getOrigin (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.
|
| |
| | AStringable () |
| |
| | AStringable (const AStringable &r) |
| |
| AStringable & | operator= (const AStringable &r) |
| |
| virtual | ~AStringable () |
| |
| virtual void | display (const AStringFormat *strfmt=nullptr) const final |
| |
| virtual void | display (int level) const final |
| |
| | ICloneable () |
| |
| virtual | ~ICloneable () |
| |
| virtual ICloneable * | clone () const =0 |
| |