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