Class containing the Model Information describing the formal Spatial (or Temporal) Characteristics of the (set of) random variable(s) under study. More...
#include <Model.hpp>
Class containing the Model Information describing the formal Spatial (or Temporal) Characteristics of the (set of) random variable(s) under study.
The Model is essentially a container with two main contents:
The additional member CovContext only serves in carrying the following information:
Public Member Functions | |
| Model (const CovContext &ctxt=CovContext()) | |
| Model (int nvar, int ndim=2) | |
| Model (const Model &m) | |
| Model & | operator= (const Model &m) |
| virtual | ~Model () |
| virtual String | toString (const AStringFormat *strfmt=nullptr) const override |
| ICloneable interface. More... | |
| int | resetFromDb (const Db *db) |
| void | setCovList (const ACovAnisoList *covalist) |
| void | addCov (const CovAniso *cov) |
| void | addCovFromParam (const ECov &type, double range=0., double sill=1., double param=1., const VectorDouble &ranges=VectorDouble(), const VectorDouble &sills=VectorDouble(), const VectorDouble &angles=VectorDouble(), bool flagRange=true) |
| void | delCova (int icov) |
| void | delAllCovas () |
| void | setDriftList (const DriftList *driftlist) |
| void | setDriftIRF (int order=0, int nfex=0) |
| void | setFlagLinked (bool flagLinked) |
| void | addDrift (const ADrift *drift) |
| void | setDrifts (const VectorString &driftSymbols) |
| void | delDrift (int rank) |
| void | delAllDrifts () |
| int | setAnam (const AAnam *anam, const VectorInt &strcnt=VectorInt()) |
| int | unsetAnam () |
| bool | isFlagGradient () const |
| bool | isFlagGradientNumerical () const |
| bool | isFlagGradientFunctional () const |
| bool | isFlagLinked () const |
| CovAniso | extractCova (int icov) const |
| void | switchToGradient () |
| const ACovAnisoList * | getCovAnisoList () const |
| TODO : to be removed (encapsulation of ACovAnisoList) More... | |
| ACovAnisoList * | getCovAnisoListModify () |
| const CovAniso * | getCova (int icov) const |
| CovAniso * | getCova (int icov) |
| int | getCovaNumber (bool skipNugget=false) const |
| const ECov & | getCovaType (int icov) const |
| const MatrixSquareSymmetric & | getSillValues (int icov) const |
| double | getSill (int icov, int ivar, int jvar) const |
| double | getRange (int icov) const |
| VectorDouble | getRanges (int icov) const |
| double | getParam (int icov) const |
| bool | isCovaFiltered (int icov) const |
| bool | isStationary () const |
| String | getCovName (int icov) const |
| int | getGradParamNumber (int icov) const |
| double | getTotalSill (int ivar=0, int jvar=0) const |
| MatrixSquareSymmetric | getTotalSills () const |
| double | getBallRadius () const |
| const AnamHermite * | getAnamHermite () const |
| double | getMaximumDistance () const |
| int | getCovaMinIRFOrder () const |
| bool | hasAnam () const |
| const AAnam * | getAnam () const |
| bool | isChangeSupportDefined () const |
| void | normalize (double sill) |
| bool | hasNugget () const |
| int | getRankNugget () const |
| VectorInt | getActiveCovList () const |
| VectorInt | getAllActiveCovList () const |
| bool | isAllActiveCovList () const |
| void | setTapeRange (double range) |
| void | setOptimEnabled (bool flagOptim) |
| bool | isOptimEnabled () const |
| double | eval0 (int ivar=0, int jvar=0, const CovCalcMode *mode=nullptr) const |
| MatrixSquareGeneral | eval0Nvar (const CovCalcMode *mode=nullptr) const |
| void | eval0MatInPlace (MatrixSquareGeneral &mat, const CovCalcMode *mode=nullptr) const |
| double | eval (const SpacePoint &p1, const SpacePoint &p2, int ivar=0, int jvar=0, const CovCalcMode *mode=nullptr) const |
| MatrixSquareGeneral | evalNvarIpas (double step, const VectorDouble &dir, const CovCalcMode *mode=nullptr) const |
| MatrixSquareGeneral | evalMat (const SpacePoint &p1, const SpacePoint &p2, const CovCalcMode *mode=nullptr) const |
| void | evalMatInPlace (const SpacePoint &p1, const SpacePoint &p2, MatrixSquareGeneral &mat, const CovCalcMode *mode=nullptr) const |
| MatrixSquareGeneral | evalNvarIpasIncr (const VectorDouble &dincr, const CovCalcMode *mode=nullptr) const |
| VectorDouble | evalIvarNpas (const VectorDouble &vec_step, const VectorDouble &dir=VectorDouble(), int ivar=0, int jvar=0, const CovCalcMode *mode=nullptr) const |
| double | evalIvarIpas (double step, const VectorDouble &dir=VectorDouble(), int ivar=0, int jvar=0, const CovCalcMode *mode=nullptr) const |
| double | evalCvv (const VectorDouble &ext, const VectorInt &ndisc, const VectorDouble &angles=VectorDouble(), int ivar=0, int jvar=0, const CovCalcMode *mode=nullptr) const |
| double | evalCvvShift (const VectorDouble &ext, const VectorInt &ndisc, const VectorDouble &shift, const VectorDouble &angles=VectorDouble(), int ivar=0, int jvar=0, const CovCalcMode *mode=nullptr) const |
| MatrixSquareGeneral | evalCvvM (const VectorDouble &ext, const VectorInt &ndisc, const VectorDouble &angles=VectorDouble(), const CovCalcMode *mode=nullptr) |
| 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) |
| MatrixSquareGeneral | evalCxvM (const SpacePoint &p1, const VectorDouble &ext, const VectorInt &ndisc, const VectorDouble &angles=VectorDouble(), const VectorDouble &x0=VectorDouble(), const CovCalcMode *mode=nullptr) |
| VectorDouble | evalPointToDb (const SpacePoint &p1, const Db *db2, int ivar=0, int jvar=0, bool useSel=true, const VectorInt &nbgh2=VectorInt(), const CovCalcMode *mode=nullptr) |
| VectorDouble | evalPointToDbAsSP (const std::vector< SpacePoint > &p1s, const SpacePoint &p2, int ivar=0, int jvar=0, const CovCalcMode *mode=nullptr) const |
| double | evalAverageDbToDb (const Db *db1, const Db *db2, int ivar=0, int jvar=0, 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) |
| MatrixRectangular | evalCovMatrix (Db *db1, Db *db2=nullptr, int ivar0=-1, int jvar0=-1, const VectorInt &nbgh1=VectorInt(), const VectorInt &nbgh2=VectorInt(), const CovCalcMode *mode=nullptr) |
| MatrixSquareSymmetric | evalCovMatrixSymmetric (Db *db1, int ivar0=-1, const VectorInt &nbgh1=VectorInt(), const CovCalcMode *mode=nullptr) |
| MatrixSparse * | evalCovMatrixSparse (Db *db1, Db *db2=nullptr, int ivar0=-1, int jvar0=-1, const VectorInt &nbgh1=VectorInt(), const VectorInt &nbgh2=VectorInt(), const CovCalcMode *mode=nullptr, double eps=EPSILON3) |
| VectorDouble | evalCovMatrixV (Db *db1, Db *db2=nullptr, int ivar0=-1, int jvar0=-1, const VectorInt &nbgh1=VectorInt(), const VectorInt &nbgh2=VectorInt(), const CovCalcMode *mode=nullptr) |
| MatrixRectangular | evalCovMatrixOptim (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) |
| MatrixSquareSymmetric | evalCovMatrixSymmetricOptim (const Db *db1, int ivar0=-1, const VectorInt &nbgh1=VectorInt(), const CovCalcMode *mode=nullptr) |
| void | evalMatOptimInPlace (int icas1, int iech1, int icas2, int iech2, MatrixSquareGeneral &mat, 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) |
| 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 |
| void | evalZAndGradients (const SpacePoint &p1, const SpacePoint &p2, double &covVal, VectorDouble &covGp, VectorDouble &covGG, const CovCalcMode *mode=nullptr, bool flagGrad=false) const |
| void | evalZAndGradients (const VectorDouble &vec, double &covVal, VectorDouble &covGp, VectorDouble &covGG, const CovCalcMode *mode=nullptr, bool flagGrad=false) const |
| double | evalCov (const VectorDouble &incr, int icov=0, const ECalcMember &member=ECalcMember::fromKey("LHS")) const |
| void | setSill (int icov, int ivar, int jvar, double value) |
| void | setRangeIsotropic (int icov, double range) |
| void | setMarkovCoeffs (int icov, const VectorDouble &coeffs) |
| void | setCovaFiltered (int icov, bool filtered) |
| void | setActiveFactor (int iclass) |
| int | getActiveFactor () const |
| int | getAnamNClass () const |
| const DriftList * | getDriftList () const |
| TODO : to be removed (encapsulation of DriftList) More... | |
| const ADrift * | getDrift (int il) const |
| int | getDriftNumber () const |
| int | getExternalDriftNumber () const |
| int | getRankFext (int il) const |
| int | getDriftEquationNumber () const |
| bool | isDriftFiltered (unsigned int il) const |
| int | getDriftMaxIRFOrder (void) const |
| bool | isDriftDefined (const VectorInt &powers, int rank_fex=0) const |
| bool | isDriftDifferentDefined (const VectorInt &powers, int rank_fex=-1) const |
| bool | isDriftSampleDefined (const Db *db, int ib, int nech, const VectorInt &nbgh, const ELoc &loctype) const |
| void | setDriftFiltered (int il, bool filtered) |
| VectorVectorDouble | getDrifts (const Db *db, bool useSel=true) |
| void | setBetaHat (const VectorDouble &betaHat) |
| double | evalDrift (const Db *db, int iech, int il, const ECalcMember &member=ECalcMember::fromKey("LHS")) const |
| double | evalDriftValue (const Db *db, int iech, int ivar, int ib, const ECalcMember &member=ECalcMember::fromKey("LHS")) const |
| VectorDouble | evalDriftBySample (const Db *db, int iech, const ECalcMember &member=ECalcMember::fromKey("LHS")) const |
| void | evalDriftBySampleInPlace (const Db *db, int iech, const ECalcMember &member, VectorDouble &drftab) const |
| MatrixRectangular | evalDriftMatrix (const Db *db, int ivar0=-1, const VectorInt &nbgh=VectorInt(), const ECalcMember &member=ECalcMember::fromKey("LHS")) const |
| double | evalDriftVarCoef (const Db *db, int iech, int ivar, const VectorDouble &coeffs) const |
| VectorDouble | evalDriftVarCoefs (const Db *db, const VectorDouble &coeffs, int ivar=0, bool useSel=false) const |
| const CovContext & | getContext () const |
| TODO : to be removed (encapsulation of Context) More... | |
| const ASpace * | getASpace () const |
| const VectorDouble & | getMeans () const |
| double | getMean (int ivar) const |
| const VectorDouble & | getCovar0s () const |
| double | getCovar0 (int ivar, int jvar) const |
| double | getField () const |
| int | getDimensionNumber () const |
| void | setMeans (const VectorDouble &mean) |
| void | setMean (double mean, int ivar=0) |
| void | setCovar0s (const VectorDouble &covar0) |
| void | setCovar0 (int ivar, int jvar, double covar0) |
| void | setField (double field) |
| const EModelProperty & | getCovMode () const |
| Model * | duplicate () const |
| Model * | createReduce (const VectorInt &validVars) const |
| int | getVariableNumber () const |
| int | hasExternalCov () const |
| VectorDouble | sampleUnitary (const VectorDouble &hh, int ivar=0, int jvar=0, VectorDouble codir=VectorDouble(), const CovCalcMode *mode=nullptr) |
| VectorDouble | envelop (const VectorDouble &hh, int ivar=0, int jvar=0, int isign=1, VectorDouble codir=VectorDouble(), const CovCalcMode *mode=nullptr) |
| int | fitFromCovIndices (Vario *vario, const VectorECov &types=ECov::fromKeys({"EXPONENTIAL"}), const Constraints &constraints=Constraints(), const Option_VarioFit &optvar=Option_VarioFit(), const Option_AutoFit &mauto=Option_AutoFit(), bool verbose=false) |
| int | fit (Vario *vario, const VectorECov &types=ECov::fromKeys({"SPHERICAL"}), const Constraints &constraints=Constraints(), const Option_VarioFit &optvar=Option_VarioFit(), const Option_AutoFit &mauto=Option_AutoFit(), bool verbose=false) |
| int | fitFromVMap (DbGrid *dbmap, const VectorECov &types=ECov::fromKeys({"SPHERICAL"}), const Constraints &constraints=Constraints(), const Option_VarioFit &optvar=Option_VarioFit(), const Option_AutoFit &mauto=Option_AutoFit(), bool verbose=false) |
| int | buildVmapOnDbGrid (DbGrid *dbgrid, const NamingConvention &namconv=NamingConvention("VMAP")) const |
| int | stabilize (double percent, bool verbose=false) |
| int | standardize (bool verbose=false) |
| double | gofToVario (const Vario *vario, bool verbose=true) |
| bool | isValid () const |
| VectorDouble | sample (const VectorDouble &h, const VectorDouble &codir=VectorDouble(), int ivar=0, int jvar=0, const CovCalcMode *mode=nullptr, const CovInternal *covint=nullptr) |
| double | evaluateOneIncr (double hh, const VectorDouble &codir=VectorDouble(), int ivar=0, int jvar=0, const CovCalcMode *mode=nullptr) |
| void | evaluateMatInPlace (const CovInternal *covint, const VectorDouble &d1, MatrixSquareGeneral &covtab, bool flag_init=false, double weight=1., const CovCalcMode *mode=nullptr) |
| double | evaluateOneGeneric (const CovInternal *covint, const VectorDouble &d1=VectorDouble(), double weight=1., const CovCalcMode *mode=nullptr) |
| VectorDouble | evaluateFromDb (Db *db, int ivar=0, int jvar=0, const CovCalcMode *mode=nullptr) |
| double | calculateStdev (Db *db1, int iech1, Db *db2, int iech2, bool verbose=false, double factor=1., const CovCalcMode *mode=nullptr) |
| double | computeLogLikelihood (Db *db, bool verbose=false) |
Public Member Functions inherited from AStringable | |
| 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 |
Public Member Functions inherited from ASerializable | |
| ASerializable () | |
| ASerializable (const ASerializable &r) | |
| ASerializable & | operator= (const ASerializable &r) |
| virtual | ~ASerializable () |
| bool | deserialize (std::istream &is, bool verbose=true) |
| bool | serialize (std::ostream &os, bool verbose=true) const |
| bool | dumpToNF (const String &neutralFilename, bool verbose=false) const |
Public Member Functions inherited from ICloneable | |
| ICloneable () | |
| virtual | ~ICloneable () |
| virtual ICloneable * | clone () const =0 |
Static Public Member Functions | |
| static Model * | create (const CovContext &ctxt=CovContext()) |
| static Model * | createFromEnvironment (int nvar, int ndim=2) |
| static Model * | createNugget (int nvar, int ndim=2, double sill=1.) |
| static Model * | createFromParam (const ECov &type=ECov::fromKey("NUGGET"), double range=1., double sill=1., double param=1., const VectorDouble &ranges=VectorDouble(), const VectorDouble &sills=VectorDouble(), const VectorDouble &angles=VectorDouble(), const ASpace *space=nullptr, bool flagRange=true) |
| static Model * | createFromDb (const Db *db) |
| static Model * | createFromNF (const String &neutralFilename, bool verbose=true) |
| static void | gofDisplay (double gof, bool byValue=true, const VectorDouble &thresholds={2., 5., 10., 100}) |
| static VectorECov | initCovList (const VectorInt &covranks) |
Static Public Member Functions inherited from ASerializable | |
| static String | buildFileName (int status, const String &filename, bool ensureDirExist=false) |
| static String | getHomeDirectory (const String &sub="") |
| static String | getWorkingDirectory () |
| static String | getTestData (const String &subdir, const String &filename) |
| static String | getFileIdentity (const String &filename, bool verbose=false) |
| static void | setContainerName (bool useDefault, const String &containerName="", bool verbose=false) |
| static void | unsetContainerName () |
| static void | setPrefixName (const String &prefixName) |
| static void | unsetPrefixName () |
| static const String & | getContainerName () |
| static const String & | getPrefixName () |
| static bool | createDirectory (const String &dir) |
| static String | getExecDirectory () |
| static String | getDirectory (const String &path) |
| Model::Model | ( | const CovContext & | ctxt = CovContext() | ) |
| Model::Model | ( | int | nvar, |
| int | ndim = 2 |
||
| ) |
| Model::Model | ( | const Model & | m | ) |
|
virtual |
| void Model::addCov | ( | const CovAniso * | cov | ) |
| void Model::addCovFromParam | ( | const ECov & | type, |
| double | range = 0., |
||
| double | sill = 1., |
||
| double | param = 1., |
||
| const VectorDouble & | ranges = VectorDouble(), |
||
| const VectorDouble & | sills = VectorDouble(), |
||
| const VectorDouble & | angles = VectorDouble(), |
||
| bool | flagRange = true |
||
| ) |
| void Model::addDrift | ( | const ADrift * | drift | ) |
| int Model::buildVmapOnDbGrid | ( | DbGrid * | dbgrid, |
| const NamingConvention & | namconv = NamingConvention("VMAP") |
||
| ) | const |
| double Model::calculateStdev | ( | Db * | db1, |
| int | iech1, | ||
| Db * | db2, | ||
| int | iech2, | ||
| bool | verbose = false, |
||
| double | factor = 1., |
||
| const CovCalcMode * | mode = nullptr |
||
| ) |
Returns the standard deviation at a given increment for a given model between two samples of two Dbs
| [in] | db1 | First Db |
| [in] | iech1 | Rank in the first Db |
| [in] | db2 | Second Db |
| [in] | iech2 | Rank in the second Db |
| [in] | verbose | Verbose flag |
| [in] | factor | Multiplicative factor for standard deviation |
| [in] | mode | CovCalcMode structure |
|
inline |
| double Model::computeLogLikelihood | ( | Db * | db, |
| bool | verbose = false |
||
| ) |
Compute the log-likelihood (based on covariance)
| db | Db structure where variable are loaded from |
| verbose | Verbose flag |
|
static |
|
static |
|
static |
|
static |
| void Model::delAllCovas | ( | ) |
| void Model::delAllDrifts | ( | ) |
| void Model::delCova | ( | int | icov | ) |
| void Model::delDrift | ( | int | rank | ) |
| Model * Model::duplicate | ( | ) | const |
| VectorDouble Model::envelop | ( | const VectorDouble & | hh, |
| int | ivar = 0, |
||
| int | jvar = 0, |
||
| int | isign = 1, |
||
| VectorDouble | codir = VectorDouble(), |
||
| const CovCalcMode * | mode = nullptr |
||
| ) |
|
inline |
|
inline |
|
inline |
Calculate the Matrix of covariance for zero distance
| mat | Covariance matrix (Dimension: nvar * nvar) |
| mode | Calculation Options |
|
inline |
|
inline |
|
inline |
|
inline |
| double Model::evalCov | ( | const VectorDouble & | incr, |
| int | icov = 0, |
||
| const ECalcMember & | member = ECalcMember::fromKey("LHS") |
||
| ) | const |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
| double Model::evalDrift | ( | const Db * | db, |
| int | iech, | ||
| int | il, | ||
| const ECalcMember & | member = ECalcMember::fromKey("LHS") |
||
| ) | const |
Evaluate a given drift function for a given sample
| db | Db structure |
| iech | Rank of the target sample |
| il | Rank of the drift function |
| member | Member type (used to check filtering) |
| VectorDouble Model::evalDriftBySample | ( | const Db * | db, |
| int | iech, | ||
| const ECalcMember & | member = ECalcMember::fromKey("LHS") |
||
| ) | const |
| void Model::evalDriftBySampleInPlace | ( | const Db * | db, |
| int | iech, | ||
| const ECalcMember & | member, | ||
| VectorDouble & | drftab | ||
| ) | const |
|
inline |
| double Model::evalDriftValue | ( | const Db * | db, |
| int | iech, | ||
| int | ivar, | ||
| int | ib, | ||
| const ECalcMember & | member = ECalcMember::fromKey("LHS") |
||
| ) | const |
| double Model::evalDriftVarCoef | ( | const Db * | db, |
| int | iech, | ||
| int | ivar, | ||
| const VectorDouble & | coeffs | ||
| ) | const |
Evaluate the drift with a given sample and a given variable The value is scaled by 'coeffs'
| [in] | db | Db structure |
| [in] | iech | Rank of the sample |
| [in] | ivar | Rank of the variable |
| [in] | coeffs | Vector of coefficients |
| VectorDouble Model::evalDriftVarCoefs | ( | const Db * | db, |
| const VectorDouble & | coeffs, | ||
| int | ivar = 0, |
||
| bool | useSel = false |
||
| ) | const |
A vector of the drift evaluation (for all samples)
| db | Db structure |
| coeffs | Vector of drift coefficients |
| ivar | Variable rank (used for constant drift value) |
| useSel | When TRUE, only non masked samples are returned |
|
inline |
|
inline |
|
inline |
|
inline |
Calculate the Matrix of covariance between two space points
| p1 | Reference of the first space point |
| p2 | Reference of the second space point |
| mat | Covariance matrix (Dimension: nvar * nvar) |
| mode | Calculation Options |
|
inline |
Calculate the Matrix of covariance between two elements of two Dbs (defined beforehand)
| icas1 | Origin of the Db containing the first point |
| iech1 | Rank of the first point |
| icas2 | Origin of the Db containing the second point |
| iech2 | Rank of the second point |
| mat | Covariance matrix (Dimension: nvar * nvar) |
| mode | Calculation Options |
|
inline |
|
inline |
|
inline |
|
inline |
| VectorDouble Model::evaluateFromDb | ( | Db * | db, |
| int | ivar = 0, |
||
| int | jvar = 0, |
||
| const CovCalcMode * | mode = nullptr |
||
| ) |
Evaluate the model on a Db
| [in] | db | Db structure |
| [in] | ivar | Rank of the first variable |
| [in] | jvar | Rank of the second variable |
| [in] | mode | CovCalcMode structure |
| void Model::evaluateMatInPlace | ( | const CovInternal * | covint, |
| const VectorDouble & | d1, | ||
| MatrixSquareGeneral & | covtab, | ||
| bool | flag_init = false, |
||
| double | weight = 1., |
||
| const CovCalcMode * | mode = nullptr |
||
| ) |
Returns the covariances for an increment This is the generic internal function It can be called for stationary or non-stationary case
| [in] | covint | Internal structure for non-stationarityAddress for the next term after the drift or NULL (for stationary case) |
| [in] | mode | CovCalcMode structure |
| [in] | flag_init | Initialize the array beforehand |
| [in] | weight | Multiplicative weight |
| [in] | d1 | Distance vector |
| [out] | covtab | Covariance array |
| double Model::evaluateOneGeneric | ( | const CovInternal * | covint, |
| const VectorDouble & | d1 = VectorDouble(), |
||
| double | weight = 1., |
||
| const CovCalcMode * | mode = nullptr |
||
| ) |
Returns the covariance for an increment This is the generic internal function It can be called for stationary or non-stationary case
| [in] | covint | Internal structure for non-stationarityAddress for the next term after the drift or NULL (for stationary case) |
| [in] | mode | CovCalcMode structure |
| [in] | weight | Multiplicative weight |
| [in] | d1 | Distance vector |
| double Model::evaluateOneIncr | ( | double | hh, |
| const VectorDouble & | codir = VectorDouble(), |
||
| int | ivar = 0, |
||
| int | jvar = 0, |
||
| const CovCalcMode * | mode = nullptr |
||
| ) |
Calculate the value of the model for a set of distances
| [in] | ivar | Rank of the first variable |
| [in] | jvar | Rank of the second variable |
| [in] | mode | CovCalcMode structure |
| [in] | codir | Array giving the direction coefficients (optional) |
| [in] | hh | Vector of increments |
| void Model::evalZAndGradients | ( | const SpacePoint & | p1, |
| const SpacePoint & | p2, | ||
| double & | covVal, | ||
| VectorDouble & | covGp, | ||
| VectorDouble & | covGG, | ||
| const CovCalcMode * | mode = nullptr, |
||
| bool | flagGrad = false |
||
| ) | const |
| void Model::evalZAndGradients | ( | const VectorDouble & | vec, |
| double & | covVal, | ||
| VectorDouble & | covGp, | ||
| VectorDouble & | covGG, | ||
| const CovCalcMode * | mode = nullptr, |
||
| bool | flagGrad = false |
||
| ) | const |
|
inline |
| CovAniso Model::extractCova | ( | int | icov | ) | const |
| int Model::fit | ( | Vario * | vario, |
| const VectorECov & | types = ECov::fromKeys({"SPHERICAL"}), |
||
| const Constraints & | constraints = Constraints(), |
||
| const Option_VarioFit & | optvar = Option_VarioFit(), |
||
| const Option_AutoFit & | mauto = Option_AutoFit(), |
||
| bool | verbose = false |
||
| ) |
Automatic Fitting procedure from an experimental Variogram
| vario | Experimental variogram to be fitted |
| types | Vector of ECov (see remarks) |
| constraints | Set of Constraints |
| optvar | Set of options |
| mauto | Special parameters for Automatic fitting procedure (instance of Option_AutoFit), for exemple wmode (type of weighting function) |
| verbose | Verbose option |
TODO : What to do with that ?
| int Model::fitFromCovIndices | ( | Vario * | vario, |
| const VectorECov & | types = ECov::fromKeys({"EXPONENTIAL"}), |
||
| const Constraints & | constraints = Constraints(), |
||
| const Option_VarioFit & | optvar = Option_VarioFit(), |
||
| const Option_AutoFit & | mauto = Option_AutoFit(), |
||
| bool | verbose = false |
||
| ) |
Automatic Fitting procedure
| vario | Experimental variogram to be fitted |
| types | Vector of ECov integer values |
| constraints | Set of Constraints |
| optvar | Set of options |
| mauto | Special parameters for Automatic fitting procedure |
| verbose | Verbose option |
TODO : What to do with that ?
| int Model::fitFromVMap | ( | DbGrid * | dbmap, |
| const VectorECov & | types = ECov::fromKeys({"SPHERICAL"}), |
||
| const Constraints & | constraints = Constraints(), |
||
| const Option_VarioFit & | optvar = Option_VarioFit(), |
||
| const Option_AutoFit & | mauto = Option_AutoFit(), |
||
| bool | verbose = false |
||
| ) |
Automatic Fitting procedure from A Variogram Map stored on a DbGrid
| dbmap | DbGrid containing the Variogram Map |
| types | Vector of ECov |
| constraints | Set of Constraints |
| optvar | Set of options |
| mauto | Special parameters for Automatic fitting procedure (instance of Option_AutoFit), for exemple wmode (type of weighting function) |
| verbose | Verbose option |
| VectorInt Model::getActiveCovList | ( | ) | const |
| int Model::getActiveFactor | ( | ) | const |
| VectorInt Model::getAllActiveCovList | ( | ) | const |
| const AAnam * Model::getAnam | ( | ) | const |
| const AnamHermite * Model::getAnamHermite | ( | ) | const |
| int Model::getAnamNClass | ( | ) | const |
|
inline |
| double Model::getBallRadius | ( | ) | const |
|
inline |
TODO : to be removed (encapsulation of Context)
| CovAniso * Model::getCova | ( | int | icov | ) |
| const CovAniso * Model::getCova | ( | int | icov | ) | const |
| int Model::getCovaMinIRFOrder | ( | ) | const |
| const ACovAnisoList * Model::getCovAnisoList | ( | ) | const |
TODO : to be removed (encapsulation of ACovAnisoList)
| ACovAnisoList * Model::getCovAnisoListModify | ( | ) |
| int Model::getCovaNumber | ( | bool | skipNugget = false | ) | const |
|
inline |
|
inline |
| const ECov & Model::getCovaType | ( | int | icov | ) | const |
| const EModelProperty & Model::getCovMode | ( | ) | const |
| String Model::getCovName | ( | int | icov | ) | const |
|
inline |
| const ADrift * Model::getDrift | ( | int | il | ) | const |
| int Model::getDriftEquationNumber | ( | ) | const |
| int Model::getDriftMaxIRFOrder | ( | void | ) | const |
| int Model::getDriftNumber | ( | ) | const |
| VectorVectorDouble Model::getDrifts | ( | const Db * | db, |
| bool | useSel = true |
||
| ) |
| int Model::getExternalDriftNumber | ( | ) | const |
|
inline |
| int Model::getGradParamNumber | ( | int | icov | ) | const |
| double Model::getMaximumDistance | ( | ) | const |
|
inline |
|
inline |
| double Model::getParam | ( | int | icov | ) | const |
| double Model::getRange | ( | int | icov | ) | const |
| VectorDouble Model::getRanges | ( | int | icov | ) | const |
| int Model::getRankFext | ( | int | il | ) | const |
| int Model::getRankNugget | ( | ) | const |
| double Model::getSill | ( | int | icov, |
| int | ivar, | ||
| int | jvar | ||
| ) | const |
| const MatrixSquareSymmetric & Model::getSillValues | ( | int | icov | ) | const |
| double Model::getTotalSill | ( | int | ivar = 0, |
| int | jvar = 0 |
||
| ) | const |
| MatrixSquareSymmetric Model::getTotalSills | ( | ) | const |
|
inline |
|
static |
Printout of statement concerning the Quality of the GOF
| gof | Value of the Gof |
| byValue | true: display GOF value; false: print its quality level |
| thresholds | Vector giving the Quality thresholds |
| double Model::gofToVario | ( | const Vario * | vario, |
| bool | verbose = true |
||
| ) |
Evaluate the Goodness-of_fit of the Model on the Experimental Variogram It is expressed as the average departure between Model and Variogram scaled to the variance. As this variance may be poorly calculated (< gmax / 5), it may be replaced by the largest value (gmax) divided by 2 (highly non_stationary cases).
| vario | Experimental variogram |
| verbose | Verbose flag |
| bool Model::hasAnam | ( | ) | const |
| int Model::hasExternalCov | ( | ) | const |
| bool Model::hasNugget | ( | ) | const |
|
static |
| bool Model::isAllActiveCovList | ( | ) | const |
| bool Model::isChangeSupportDefined | ( | ) | const |
| bool Model::isCovaFiltered | ( | int | icov | ) | const |
| bool Model::isDriftDefined | ( | const VectorInt & | powers, |
| int | rank_fex = 0 |
||
| ) | const |
| bool Model::isDriftDifferentDefined | ( | const VectorInt & | powers, |
| int | rank_fex = -1 |
||
| ) | const |
| bool Model::isDriftFiltered | ( | unsigned int | il | ) | const |
| bool Model::isDriftSampleDefined | ( | const Db * | db, |
| int | ib, | ||
| int | nech, | ||
| const VectorInt & | nbgh, | ||
| const ELoc & | loctype | ||
| ) | const |
| bool Model::isFlagGradient | ( | ) | const |
| bool Model::isFlagGradientFunctional | ( | ) | const |
| bool Model::isFlagGradientNumerical | ( | ) | const |
| bool Model::isFlagLinked | ( | ) | const |
|
inline |
| bool Model::isStationary | ( | ) | const |
| bool Model::isValid | ( | ) | const |
| void Model::normalize | ( | double | sill | ) |
| int Model::resetFromDb | ( | const Db * | db | ) |
| VectorDouble Model::sample | ( | const VectorDouble & | h, |
| const VectorDouble & | codir = VectorDouble(), |
||
| int | ivar = 0, |
||
| int | jvar = 0, |
||
| const CovCalcMode * | mode = nullptr, |
||
| const CovInternal * | covint = nullptr |
||
| ) |
Calculate the value of the model for a set of distances
| [in] | ivar | Rank of the first variable |
| [in] | jvar | Rank of the second variable |
| [in] | codir | Array giving the direction coefficients (optional) |
| [in] | h | Vector of increments |
| [in] | mode | CovCalcMode structure |
| [in] | covint | Non-stationary parameters |
| VectorDouble Model::sampleUnitary | ( | const VectorDouble & | hh, |
| int | ivar = 0, |
||
| int | jvar = 0, |
||
| VectorDouble | codir = VectorDouble(), |
||
| const CovCalcMode * | mode = nullptr |
||
| ) |
Returns the value of the normalized covariance (by the variance/covariance value) for a given pair of variables
| hh | Vector of distances |
| ivar | Rank of the first variable |
| jvar | Rank of the second variable |
| codir | Direction coefficients |
| mode | CovCalcMode structure |
|
inline |
| void Model::setActiveFactor | ( | int | iclass | ) |
Defining an Anamorphosis information for the Model (in fact, this is added to ACovAnisoList part and transforms it from CovLMC to CovLMCAnamorphosis
| anam | Pointer to the anamorphosis |
| strcnt | Array of covariance description used for IR case |
| void Model::setBetaHat | ( | const VectorDouble & | betaHat | ) |
| void Model::setCovaFiltered | ( | int | icov, |
| bool | filtered | ||
| ) |
| void Model::setCovar0 | ( | int | ivar, |
| int | jvar, | ||
| double | covar0 | ||
| ) |
| void Model::setCovar0s | ( | const VectorDouble & | covar0 | ) |
| void Model::setCovList | ( | const ACovAnisoList * | covalist | ) |
Add a list of Covariances. This operation cleans any previously stored covariance
| covalist | List of Covariances to be added |
| void Model::setDriftFiltered | ( | int | il, |
| bool | filtered | ||
| ) |
| void Model::setDriftIRF | ( | int | order = 0, |
| int | nfex = 0 |
||
| ) |
Define the list of drift functions for:
| order | Order of the IRF |
| nfex | Number of External Drifts |
| void Model::setDriftList | ( | const DriftList * | driftlist | ) |
Add a list of Drifts. This operation cleans any previously stored drift function
| driftlist | List of Drifts to be added |
| void Model::setDrifts | ( | const VectorString & | driftSymbols | ) |
| void Model::setField | ( | double | field | ) |
| void Model::setFlagLinked | ( | bool | flagLinked | ) |
| void Model::setMarkovCoeffs | ( | int | icov, |
| const VectorDouble & | coeffs | ||
| ) |
| void Model::setMean | ( | double | mean, |
| int | ivar = 0 |
||
| ) |
| void Model::setMeans | ( | const VectorDouble & | mean | ) |
|
inline |
| void Model::setRangeIsotropic | ( | int | icov, |
| double | range | ||
| ) |
| void Model::setSill | ( | int | icov, |
| int | ivar, | ||
| int | jvar, | ||
| double | value | ||
| ) |
| void Model::setTapeRange | ( | double | range | ) |
|
inline |
|
inline |
| int Model::stabilize | ( | double | percent, |
| bool | verbose = false |
||
| ) |
Stabilize the model (in the monovariate case)
| [in] | percent | Percentage of nugget effect added |
| [in] | verbose | true for a verbose output |
| int Model::standardize | ( | bool | verbose = false | ) |
Normalize the model
| [in] | verbose | true for a verbose output |
| void Model::switchToGradient | ( | ) |
Switch to a Model dedicated to Gradients (transforms it from CovLMC to CovLMGradient)
|
overridevirtual |
| int Model::unsetAnam | ( | ) |