1.8.0a1
CCC
 
Loading...
Searching...
No Matches
ModelGeneric Class Reference

Class containing the Model Information describing the formal Spatial (or Temporal) Characteristics of the (set of) random variable(s) under study. More...

#include <ModelGeneric.hpp>

Inheritance diagram for ModelGeneric:
ICloneable ModelCovList Model

Detailed Description

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 covariance part: see ACov.hpp for more information
  • the drift part: see DriftList.hpp for more information

The additional member CovContext only serves in carrying the following information:

  • the number of variables: if more than 1, the Model becomes multivariate
  • the field extension: this information is needed to get a stationary version to any covariance
  • the experimental mean vector and the variance-covariance matrix (used to calibrate the Model)

Public Member Functions

 ModelGeneric (const CovContext &ctxt=CovContext())
 
 ModelGeneric (const ModelGeneric &r)
 
ModelGenericoperator= (const ModelGeneric &r)
 
virtual ~ModelGeneric ()
 
const ACovgetCov () const
 
const CovContextgetContext () const
 
const DriftListgetDriftList () const
 
ACov_getCovModify ()
 ICloneable interface.
 
CovContext_getContextModify ()
 
DriftList_getDriftListModify ()
 
std::vector< covmaptype > & getGradients ()
 
void setField (double field)
 
bool isValid () const
 
void setCov (const ACov *cova)
 
void setDriftList (const DriftList *driftlist)
 
void setDriftIRF (int order=0, int nfex=0)
 
void addDrift (const ADrift *drift)
 
void setDrifts (const VectorString &driftSymbols)
 
void initParams (const MatrixSymmetric &vars, double href=1.)
 
std::shared_ptr< ListParamsgenerateListParams () const
 
void updateModel ()
 
double computeLogLikelihood (const Db *db, bool verbose=false)
 
void fitNew (const Db *db=nullptr, Vario *vario=nullptr, const DbGrid *dbmap=nullptr, Constraints *constraints=nullptr, const ModelOptimParam &mop=ModelOptimParam(), int nb_neighVecchia=30, bool verbose=false, bool trace=false)
 
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
 Call the method ACov::evalCovMat of the object ACov.
 
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
 Call the method ACov::evalCovMatInPlace of the object ACov.
 
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
 Call the method ACov::evalCovMatInPlaceFromIdx of the object ACov.
 
MatrixSymmetric evalCovMatSym (const Db *db1, const VectorInt &nbgh1=VectorInt(), int ivar0=-1, const CovCalcMode *mode=nullptr, bool cleanOptim=true) const
 Call the method ACov::evalCovMatSym of the object ACov.
 
int evalCovMatSymInPlace (MatrixSymmetric &mat, const Db *db1, const VectorInt &nbgh1=VectorInt(), int ivar0=-1, const CovCalcMode *mode=nullptr, bool cleanOptim=true) const
 Call the method ACov::evalCovMatSymInPlace of the object ACov.
 
int evalCovMatSymInPlaceFromIdx (MatrixSymmetric &mat, const Db *db1, const VectorVectorInt &index1, const CovCalcMode *mode=nullptr, bool cleanOptim=true) const
 Call the method ACov::evalCovMatSymInPlaceFromIdx of the object ACov.
 
MatrixSymmetric eval0Mat (const CovCalcMode *mode=nullptr) const
 Call the method ACov::eval0Mat of the object ACov.
 
MatrixSymmetric evalCovMat0 (const Db *db, int iech, const KrigOpt &krigopt=KrigOpt()) const
 Call the method ACov::evalCovMat0 of the object ACov.
 
int evalCovMat0InPlace (MatrixSymmetric &mat, const Db *db, int iech, const KrigOpt &krigopt=KrigOpt()) const
 Call the method ACov::evalCovMat0InPlace of the object ACov.
 
int evalCovVecRHSInPlace (vect vect, const RankHandler &rank, int iech2, const KrigOpt &krigopt, SpacePoint &pin, SpacePoint &pout, VectorDouble &tabwork, double lambda=1., const ECalcMember &calcMember=ECalcMember::RHS) const
 Call the method ACov::evalCovVecRHSInPlace of the object ACov.
 
int evalCovMatOptimInPlace (MatrixDense &mat, const Db *dbin, const RankHandler &rankhandler, const KrigOpt &krigopt, const ECalcMember &calcMember, VectorDouble &tabwork, double lambda=1.) const
 Call the method ACov::evalCovMatOptimInPlace of the object ACov.
 
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
 Call the method ACov::evalCovMatRHSInPlaceFromIdx of the object ACov.
 
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
 Call the method ACov::evalCovMatSparse of the object ACov.
 
virtual double eval0 (int ivar=0, int jvar=0, const CovCalcMode *mode=nullptr) const
 Call the method ACov::eval0 of the object ACov.
 
double evalCov (const SpacePoint &p1, const SpacePoint &p2, int ivar=0, int jvar=0, const CovCalcMode *mode=nullptr) const
 Call the method ACov::evalCov of the object ACov.
 
MatrixSquare evalNvarIpas (double step, const VectorDouble &dir=VectorDouble(), const CovCalcMode *mode=nullptr) const
 Call the method ACov::evalNvarIpas of the object ACov.
 
MatrixSquare evalNvarIpasIncr (const VectorDouble &dincr, const CovCalcMode *mode=nullptr) const
 Call the method ACov::evalNvarIpasIncr of the object ACov.
 
VectorDouble evalIvarNlag (const VectorDouble &vec_step, const VectorDouble &dir=VectorDouble(), int ivar=0, int jvar=0, const CovCalcMode *mode=nullptr) const
 Call the method ACov::evalIvarNlag of the object ACov.
 
double evalIvarIpas (double step, const VectorDouble &dir=VectorDouble(), int ivar=0, int jvar=0, const CovCalcMode *mode=nullptr) const
 Call the method ACov::evalIvarIpas of the object ACov.
 
double evalCvv (const VectorDouble &ext, const VectorInt &ndisc, const VectorDouble &angles=VectorDouble(), int ivar=0, int jvar=0, const CovCalcMode *mode=nullptr) const
 Call the method ACov::evalCvv of the object ACov.
 
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
 Call the method ACov::evalCvvShift of the object ACov.
 
MatrixSquare evalCvvM (const VectorDouble &ext, const VectorInt &ndisc, const VectorDouble &angles=VectorDouble(), const CovCalcMode *mode=nullptr) const
 Call the method ACov::evalCvvM of the object ACov.
 
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
 Call the method ACov::evalCxv of the object ACov.
 
MatrixSquare evalCxvM (const SpacePoint &p1, const VectorDouble &ext, const VectorInt &ndisc, const VectorDouble &angles=VectorDouble(), const VectorDouble &x0=VectorDouble(), const CovCalcMode *mode=nullptr) const
 Call the method ACov::evalCxvM of the object ACov.
 
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
 Call the method ACov::evalPointToDb of the object ACov.
 
void evalPointToDbAsSP (VectorDouble &values, const std::vector< SpacePoint > &p1s, const SpacePoint &p2, int ivar=0, int jvar=0, const CovCalcMode *mode=nullptr) const
 Call the method ACov::evalPointToDbAsSP of the object ACov.
 
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
 Call the method ACov::evalAverageDbToDb of the object ACov.
 
double evalAverageIncrToIncr (const VectorVectorDouble &d1, const VectorVectorDouble &d2, int ivar=0, int jvar=0, const CovCalcMode *mode=nullptr) const
 Call the method ACov::evalAverageIncrToIncr of the object ACov.
 
double evalAveragePointToDb (const SpacePoint &p1, const Db *db2, int ivar=0, int jvar=0, const CovCalcMode *mode=nullptr) const
 Call the method ACov::evalAveragePointToDb of the object ACov.
 
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
 Call the method ACov::samplingDensityVariance of the object ACov.
 
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
 Call the method ACov::specificVolume of the object ACov.
 
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
 Call the method ACov::coefficientOfVariation of the object ACov.
 
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
 Call the method ACov::specificVolumeFromCoV of the object ACov.
 
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
 Call the method ACov::extensionVariance of the object ACov.
 
double calculateStDev (Db *db1, int iech1, Db *db2, int iech2, bool verbose=false, double factor=1., const CovCalcMode *mode=nullptr) const
 Call the method ACov::calculateStDev of the object ACov.
 
void evaluateMatInPlace (const CovInternal *covint, const VectorDouble &d1, MatrixSquare &covtab, bool flag_init=false, double weight=1., const CovCalcMode *mode=nullptr) const
 Call the method ACov::evaluateMatInPlace of the object ACov.
 
double evaluateOneGeneric (const CovInternal *covint, const VectorDouble &d1=VectorDouble(), double weight=1., const CovCalcMode *mode=nullptr) const
 Call the method ACov::evaluateOneGeneric of the object ACov.
 
double evaluateOneIncr (double hh, const VectorDouble &codir=VectorDouble(), int ivar=0, int jvar=0, const CovCalcMode *mode=nullptr) const
 Call the method ACov::evaluateOneIncr of the object ACov.
 
int buildVmapOnDbGrid (DbGrid *dbgrid, const NamingConvention &namconv=NamingConvention("VMAP")) const
 Call the method ACov::buildVmapOnDbGrid of the object ACov.
 
VectorDouble sample (const VectorDouble &h, const VectorDouble &codir=VectorDouble(), int ivar=0, int jvar=0, const CovCalcMode *mode=nullptr, const CovInternal *covint=nullptr) const
 Call the method ACov::sample of the object ACov.
 
VectorDouble sampleUnitary (const VectorDouble &hh, int ivar=0, int jvar=0, VectorDouble codir=VectorDouble(), const CovCalcMode *mode=nullptr) const
 Call the method ACov::sampleUnitary of the object ACov.
 
VectorDouble envelop (const VectorDouble &hh, int ivar=0, int jvar=0, int isign=1, VectorDouble codir=VectorDouble(), const CovCalcMode *mode=nullptr) const
 Call the method ACov::envelop of the object ACov.
 
double gofToVario (const Vario *vario, bool verbose=true) const
 Call the method ACov::gofToVario of the object ACov.
 
bool isNoStat () const
 Call the method ACov::isNoStat of the object ACov.
 
void manage (const Db *db1, const Db *db2) const
 Call the method ACov::manage of the object ACov.
 
void optimizationPreProcessForData (const Db *db1=nullptr) const
 Call the method ACov::optimizationPreProcessForData of the object ACov.
 
void optimizationPostProcess () const
 Call the method ACov::optimizationPostProcess of the object ACov.
 
const ADriftgetDrift (int il) const
 Call the method DriftList::getDrift of the object DriftList.
 
double computeDrift (const Db *db, int ib, int iech) const
 Call the method DriftList::computeDrift of the object DriftList.
 
double evalDriftValue (const Db *db, int iech, int ivar, int ib, const ECalcMember &member=ECalcMember::fromKey("LHS")) const
 Call the method DriftList::evalDriftValue of the object DriftList.
 
MatrixDense evalDriftMat (const Db *db, const VectorInt &nbgh=VectorInt(), const ECalcMember &member=ECalcMember::fromKey("LHS")) const
 Call the method DriftList::evalDriftMat of the object DriftList.
 
int evalDriftMatInPlace (MatrixDense &mat, const Db *db, const VectorInt &nbgh=VectorInt(), const ECalcMember &member=ECalcMember::fromKey("LHS")) const
 Call the method DriftList::evalDriftMatInPlace of the object DriftList.
 
MatrixDense evalDriftMatByRanks (const Db *db, const VectorVectorInt &sampleRanks=VectorVectorInt(), const ECalcMember &member=ECalcMember::fromKey("LHS")) const
 Call the method DriftList::evalDriftMatByRanks of the object DriftList.
 
VectorDouble evalMeanVecByRanks (const Db *db, const VectorVectorInt &sampleRanks=VectorVectorInt()) const
 Call the method DriftList::evalMeanVecByRanks of the object DriftList.
 
int evalDriftMatByRanksInPlace (MatrixDense &mat, const Db *db, const VectorVectorInt &sampleranks=VectorVectorInt(), const ECalcMember &member=ECalcMember::fromKey("LHS")) const
 Call the method DriftList::evalDriftMatByRanksInPlace of the object DriftList.
 
int evalDriftMatByTargetInPlace (MatrixDense &mat, const Db *db, int iech2, const KrigOpt &krigopt=KrigOpt()) const
 Call the method DriftList::evalDriftMatByTargetInPlace of the object DriftList.
 
int getNDrift () const
 Call the method DriftList::getNDrift of the object DriftList.
 
int getNDriftEquation () const
 Call the method DriftList::getNDriftEquation of the object DriftList.
 
int getNExtDrift () const
 Call the method DriftList::getNExtDrift of the object DriftList.
 
bool isFlagLinked () const
 Call the method DriftList::isFlagLinked of the object DriftList.
 
int getDriftMaxIRFOrder () const
 Call the method DriftList::getDriftMaxIRFOrder of the object DriftList.
 
int getRankFex (int il) const
 Call the method DriftList::getRankFex of the object DriftList.
 
bool isDriftSampleDefined (const Db *db, int ib, int nech, const VectorInt &nbgh, const ELoc &loctype) const
 Call the method DriftList::isDriftSampleDefined of the object DriftList.
 
bool isDriftFiltered (int i) const
 Call the method DriftList::isDriftFiltered of the object DriftList.
 
bool isDriftDefined (const VectorInt &powers, int rank_fex=0) const
 Call the method DriftList::isDriftDefined of the object DriftList.
 
bool isDriftDifferentDefined (const VectorInt &powers, int rank_fex=-1) const
 Call the method DriftList::isDriftDifferentDefined of the object DriftList.
 
VectorVectorDouble getDrifts (const Db *db, bool useSel=true) const
 Call the method DriftList::getDrifts of the object DriftList.
 
double evalDrift (const Db *db, int iech, int il, const ECalcMember &member=ECalcMember::fromKey("LHS")) const
 Call the method DriftList::evalDrift of the object DriftList.
 
VectorDouble evalDriftBySample (const Db *db, int iech, const ECalcMember &member=ECalcMember::fromKey("LHS")) const
 Call the method DriftList::evalDriftBySample of the object DriftList.
 
void evalDriftBySampleInPlace (const Db *db, int iech, const ECalcMember &member, VectorDouble &drftab) const
 Call the method DriftList::evalDriftBySampleInPlace of the object DriftList.
 
double evalDriftCoef (const Db *db, int iech, const VectorDouble &coeffs) const
 Call the method DriftList::evalDriftCoef of the object DriftList.
 
bool hasDrift () const
 Call the method DriftList::hasDrift of the object DriftList.
 
double getMean (int ivar) const
 Call the method DriftList::getMean of the object DriftList.
 
const VectorDoublegetMeans () const
 Call the method DriftList::getMeans of the object DriftList.
 
double evalDriftVarCoef (const Db *db, int iech, int ivar, const VectorDouble &coeffs) const
 Call the method DriftList::evalDriftVarCoef of the object DriftList.
 
VectorDouble evalDriftVarCoefs (const Db *db, const VectorDouble &coeffs, bool useSel=false) const
 Call the method DriftList::evalDriftVarCoefs of the object DriftList.
 
int getNVar () const
 Call the method CovContext::getNVar of the object CovContext.
 
unsigned int getNDim (int ispace=-1) const
 Call the method CovContext::getNDim of the object CovContext.
 
ASpaceSharedPtr getSpace () const
 Call the method CovContext::getSpace of the object CovContext.
 
const VectorDoublegetCovar0 () const
 Call the method CovContext::getCovar0 of the object CovContext.
 
double getField () const
 Call the method CovContext::getField of the object CovContext.
 
virtual void setOptimEnabled (bool enabled) const
 Call the method ACov::setOptimEnabled of the object ACov.
 
void attachNoStatDb (const Db *db)
 Call the method ACov::attachNoStatDb of the object ACov.
 
void makeStationary ()
 Call the method ACov::makeStationary of the object ACov.
 
void setContext (const CovContext &ctxt)
 Call the method ACov::setContext of the object ACov.
 
std::vector< double > evalCovGrad (const SpacePoint &p1, const SpacePoint &p2, int ivar=0, int jvar=0, const CovCalcMode *mode=nullptr)
 Call the method ACov::evalCovGrad of the object ACov.
 
void setFlagLinked (bool flagLinked)
 Call the method DriftList::setFlagLinked of the object DriftList.
 
void setBetaHat (const VectorDouble &betaHat)
 Call the method DriftList::setBetaHat of the object DriftList.
 
void setFiltered (const VectorBool &filtered)
 Call the method DriftList::setFiltered of the object DriftList.
 
void delDrift (unsigned int rank)
 Call the method DriftList::delDrift of the object DriftList.
 
void delAllDrifts ()
 Call the method DriftList::delAllDrifts of the object DriftList.
 
void copyCovContext (const CovContext &ctxt)
 Call the method DriftList::copyCovContext of the object DriftList.
 
void setMeans (const VectorDouble &mean)
 Call the method DriftList::setMeans of the object DriftList.
 
void setMean (const double mean, int ivar=0)
 Call the method DriftList::setMean of the object DriftList.
 
void setField (double field)
 Call the method CovContext::setField of the object CovContext.
 
void setCovar0s (const VectorDouble &covar0)
 Call the method CovContext::setCovar0s of the object CovContext.
 
void setCovar0 (int ivar, int jvar, double covar0)
 Call the method CovContext::setCovar0 of the object CovContext.
 
- Public Member Functions inherited from ICloneable
 ICloneable ()
 
virtual ~ICloneable ()
 
virtual ICloneableclone () const =0
 
std::shared_ptr< ICloneablecloneShared () const
 
std::unique_ptr< ICloneablecloneUnique () const
 

Static Public Member Functions

static ListParamscreateListParams (std::shared_ptr< ListParams > &lp)
 

Constructor & Destructor Documentation

◆ ModelGeneric() [1/2]

ModelGeneric::ModelGeneric ( const CovContext ctxt = CovContext())

◆ ModelGeneric() [2/2]

ModelGeneric::ModelGeneric ( const ModelGeneric r)

◆ ~ModelGeneric()

ModelGeneric::~ModelGeneric ( )
virtual

Member Function Documentation

◆ _getContextModify()

CovContext * ModelGeneric::_getContextModify ( )
inline

◆ _getCovModify()

ACov * ModelGeneric::_getCovModify ( )
inline

ICloneable interface.

◆ _getDriftListModify()

DriftList * ModelGeneric::_getDriftListModify ( )
inline

◆ addDrift()

void ModelGeneric::addDrift ( const ADrift drift)

◆ attachNoStatDb()

void ModelGeneric::attachNoStatDb ( const Db db)

Call the method ACov::attachNoStatDb of the object ACov.

◆ buildVmapOnDbGrid()

int ModelGeneric::buildVmapOnDbGrid ( DbGrid dbgrid,
const NamingConvention namconv = NamingConvention("VMAP") 
) const

Call the method ACov::buildVmapOnDbGrid of the object ACov.

◆ calculateStDev()

double ModelGeneric::calculateStDev ( Db db1,
int  iech1,
Db db2,
int  iech2,
bool  verbose = false,
double  factor = 1.,
const CovCalcMode mode = nullptr 
) const

Call the method ACov::calculateStDev of the object ACov.

◆ coefficientOfVariation()

double ModelGeneric::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

Call the method ACov::coefficientOfVariation of the object ACov.

◆ computeDrift()

double ModelGeneric::computeDrift ( const Db db,
int  ib,
int  iech 
) const

Call the method DriftList::computeDrift of the object DriftList.

◆ computeLogLikelihood()

double ModelGeneric::computeLogLikelihood ( const Db db,
bool  verbose = false 
)

Compute the log-likelihood (based on covariance)

Parameters
dbDb structure where variable are loaded from
verboseVerbose flag
Remarks
The calculation considers all the active samples.
It can work in multivariate case with or without drift conditions (linked or not)
The algorithm is stopped (with a message) in the heterotopic case // TODO; improve for heterotopic case

◆ copyCovContext()

void ModelGeneric::copyCovContext ( const CovContext ctxt)

Call the method DriftList::copyCovContext of the object DriftList.

◆ createListParams()

ListParams * ModelGeneric::createListParams ( std::shared_ptr< ListParams > &  lp)
static

◆ delAllDrifts()

void ModelGeneric::delAllDrifts ( )

Call the method DriftList::delAllDrifts of the object DriftList.

◆ delDrift()

void ModelGeneric::delDrift ( unsigned int  rank)

Call the method DriftList::delDrift of the object DriftList.

◆ envelop()

VectorDouble ModelGeneric::envelop ( const VectorDouble hh,
int  ivar = 0,
int  jvar = 0,
int  isign = 1,
VectorDouble  codir = VectorDouble(),
const CovCalcMode mode = nullptr 
) const

Call the method ACov::envelop of the object ACov.

◆ eval0()

virtual double ModelGeneric::eval0 ( int  ivar = 0,
int  jvar = 0,
const CovCalcMode mode = nullptr 
) const
virtual

Call the method ACov::eval0 of the object ACov.

◆ eval0Mat()

MatrixSymmetric ModelGeneric::eval0Mat ( const CovCalcMode mode = nullptr) const

Call the method ACov::eval0Mat of the object ACov.

◆ evalAverageDbToDb()

double ModelGeneric::evalAverageDbToDb ( const Db db1,
const Db db2,
int  ivar = 0,
int  jvar = 0,
double  eps = 0.,
int  seed = 434132,
const CovCalcMode mode = nullptr 
) const

Call the method ACov::evalAverageDbToDb of the object ACov.

◆ evalAverageIncrToIncr()

double ModelGeneric::evalAverageIncrToIncr ( const VectorVectorDouble d1,
const VectorVectorDouble d2,
int  ivar = 0,
int  jvar = 0,
const CovCalcMode mode = nullptr 
) const

Call the method ACov::evalAverageIncrToIncr of the object ACov.

◆ evalAveragePointToDb()

double ModelGeneric::evalAveragePointToDb ( const SpacePoint p1,
const Db db2,
int  ivar = 0,
int  jvar = 0,
const CovCalcMode mode = nullptr 
) const

Call the method ACov::evalAveragePointToDb of the object ACov.

◆ evalCov()

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

Call the method ACov::evalCov of the object ACov.

◆ evalCovGrad()

std::vector< double > ModelGeneric::evalCovGrad ( const SpacePoint p1,
const SpacePoint p2,
int  ivar = 0,
int  jvar = 0,
const CovCalcMode mode = nullptr 
)

Call the method ACov::evalCovGrad of the object ACov.

◆ evalCovMat()

MatrixDense ModelGeneric::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

Call the method ACov::evalCovMat of the object ACov.

◆ evalCovMat0()

MatrixSymmetric ModelGeneric::evalCovMat0 ( const Db db,
int  iech,
const KrigOpt krigopt = KrigOpt() 
) const

Call the method ACov::evalCovMat0 of the object ACov.

◆ evalCovMat0InPlace()

int ModelGeneric::evalCovMat0InPlace ( MatrixSymmetric mat,
const Db db,
int  iech,
const KrigOpt krigopt = KrigOpt() 
) const

Call the method ACov::evalCovMat0InPlace of the object ACov.

◆ evalCovMatInPlace()

int ModelGeneric::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

Call the method ACov::evalCovMatInPlace of the object ACov.

◆ evalCovMatInPlaceFromIdx()

int ModelGeneric::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

Call the method ACov::evalCovMatInPlaceFromIdx of the object ACov.

◆ evalCovMatOptimInPlace()

int ModelGeneric::evalCovMatOptimInPlace ( MatrixDense mat,
const Db dbin,
const RankHandler rankhandler,
const KrigOpt krigopt,
const ECalcMember &  calcMember,
VectorDouble tabwork,
double  lambda = 1. 
) const

Call the method ACov::evalCovMatOptimInPlace of the object ACov.

◆ evalCovMatRHSInPlaceFromIdx()

int ModelGeneric::evalCovMatRHSInPlaceFromIdx ( MatrixDense mat,
const Db db1,
const Db db2,
const VectorVectorInt index1,
const int  iech2 = -1,
const KrigOpt krigopt = KrigOpt(),
bool  cleanOptim = true 
) const

Call the method ACov::evalCovMatRHSInPlaceFromIdx of the object ACov.

◆ evalCovMatSparse()

MatrixSparse * ModelGeneric::evalCovMatSparse ( 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

Call the method ACov::evalCovMatSparse of the object ACov.

◆ evalCovMatSym()

MatrixSymmetric ModelGeneric::evalCovMatSym ( const Db db1,
const VectorInt nbgh1 = VectorInt(),
int  ivar0 = -1,
const CovCalcMode mode = nullptr,
bool  cleanOptim = true 
) const

Call the method ACov::evalCovMatSym of the object ACov.

◆ evalCovMatSymInPlace()

int ModelGeneric::evalCovMatSymInPlace ( MatrixSymmetric mat,
const Db db1,
const VectorInt nbgh1 = VectorInt(),
int  ivar0 = -1,
const CovCalcMode mode = nullptr,
bool  cleanOptim = true 
) const

Call the method ACov::evalCovMatSymInPlace of the object ACov.

◆ evalCovMatSymInPlaceFromIdx()

int ModelGeneric::evalCovMatSymInPlaceFromIdx ( MatrixSymmetric mat,
const Db db1,
const VectorVectorInt index1,
const CovCalcMode mode = nullptr,
bool  cleanOptim = true 
) const

Call the method ACov::evalCovMatSymInPlaceFromIdx of the object ACov.

◆ evalCovVecRHSInPlace()

int ModelGeneric::evalCovVecRHSInPlace ( vect  vect,
const RankHandler rank,
int  iech2,
const KrigOpt krigopt,
SpacePoint pin,
SpacePoint pout,
VectorDouble tabwork,
double  lambda = 1.,
const ECalcMember &  calcMember = ECalcMember::RHS 
) const

Call the method ACov::evalCovVecRHSInPlace of the object ACov.

◆ evalCvv()

double ModelGeneric::evalCvv ( const VectorDouble ext,
const VectorInt ndisc,
const VectorDouble angles = VectorDouble(),
int  ivar = 0,
int  jvar = 0,
const CovCalcMode mode = nullptr 
) const

Call the method ACov::evalCvv of the object ACov.

◆ evalCvvM()

MatrixSquare ModelGeneric::evalCvvM ( const VectorDouble ext,
const VectorInt ndisc,
const VectorDouble angles = VectorDouble(),
const CovCalcMode mode = nullptr 
) const

Call the method ACov::evalCvvM of the object ACov.

◆ evalCvvShift()

double ModelGeneric::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

Call the method ACov::evalCvvShift of the object ACov.

◆ evalCxv()

double ModelGeneric::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

Call the method ACov::evalCxv of the object ACov.

◆ evalCxvM()

MatrixSquare ModelGeneric::evalCxvM ( const SpacePoint p1,
const VectorDouble ext,
const VectorInt ndisc,
const VectorDouble angles = VectorDouble(),
const VectorDouble x0 = VectorDouble(),
const CovCalcMode mode = nullptr 
) const

Call the method ACov::evalCxvM of the object ACov.

◆ evalDrift()

double ModelGeneric::evalDrift ( const Db db,
int  iech,
int  il,
const ECalcMember &  member = ECalcMember::fromKey("LHS") 
) const

Call the method DriftList::evalDrift of the object DriftList.

◆ evalDriftBySample()

VectorDouble ModelGeneric::evalDriftBySample ( const Db db,
int  iech,
const ECalcMember &  member = ECalcMember::fromKey("LHS") 
) const

Call the method DriftList::evalDriftBySample of the object DriftList.

◆ evalDriftBySampleInPlace()

void ModelGeneric::evalDriftBySampleInPlace ( const Db db,
int  iech,
const ECalcMember &  member,
VectorDouble drftab 
) const

Call the method DriftList::evalDriftBySampleInPlace of the object DriftList.

◆ evalDriftCoef()

double ModelGeneric::evalDriftCoef ( const Db db,
int  iech,
const VectorDouble coeffs 
) const

Call the method DriftList::evalDriftCoef of the object DriftList.

◆ evalDriftMat()

MatrixDense ModelGeneric::evalDriftMat ( const Db db,
const VectorInt nbgh = VectorInt(),
const ECalcMember &  member = ECalcMember::fromKey("LHS") 
) const

Call the method DriftList::evalDriftMat of the object DriftList.

◆ evalDriftMatByRanks()

MatrixDense ModelGeneric::evalDriftMatByRanks ( const Db db,
const VectorVectorInt sampleRanks = VectorVectorInt(),
const ECalcMember &  member = ECalcMember::fromKey("LHS") 
) const

Call the method DriftList::evalDriftMatByRanks of the object DriftList.

◆ evalDriftMatByRanksInPlace()

int ModelGeneric::evalDriftMatByRanksInPlace ( MatrixDense mat,
const Db db,
const VectorVectorInt sampleranks = VectorVectorInt(),
const ECalcMember &  member = ECalcMember::fromKey("LHS") 
) const

Call the method DriftList::evalDriftMatByRanksInPlace of the object DriftList.

◆ evalDriftMatByTargetInPlace()

int ModelGeneric::evalDriftMatByTargetInPlace ( MatrixDense mat,
const Db db,
int  iech2,
const KrigOpt krigopt = KrigOpt() 
) const

Call the method DriftList::evalDriftMatByTargetInPlace of the object DriftList.

◆ evalDriftMatInPlace()

int ModelGeneric::evalDriftMatInPlace ( MatrixDense mat,
const Db db,
const VectorInt nbgh = VectorInt(),
const ECalcMember &  member = ECalcMember::fromKey("LHS") 
) const

Call the method DriftList::evalDriftMatInPlace of the object DriftList.

◆ evalDriftValue()

double ModelGeneric::evalDriftValue ( const Db db,
int  iech,
int  ivar,
int  ib,
const ECalcMember &  member = ECalcMember::fromKey("LHS") 
) const

Call the method DriftList::evalDriftValue of the object DriftList.

◆ evalDriftVarCoef()

double ModelGeneric::evalDriftVarCoef ( const Db db,
int  iech,
int  ivar,
const VectorDouble coeffs 
) const

Call the method DriftList::evalDriftVarCoef of the object DriftList.

◆ evalDriftVarCoefs()

VectorDouble ModelGeneric::evalDriftVarCoefs ( const Db db,
const VectorDouble coeffs,
bool  useSel = false 
) const

Call the method DriftList::evalDriftVarCoefs of the object DriftList.

◆ evalIvarIpas()

double ModelGeneric::evalIvarIpas ( double  step,
const VectorDouble dir = VectorDouble(),
int  ivar = 0,
int  jvar = 0,
const CovCalcMode mode = nullptr 
) const

Call the method ACov::evalIvarIpas of the object ACov.

◆ evalIvarNlag()

VectorDouble ModelGeneric::evalIvarNlag ( const VectorDouble vec_step,
const VectorDouble dir = VectorDouble(),
int  ivar = 0,
int  jvar = 0,
const CovCalcMode mode = nullptr 
) const

Call the method ACov::evalIvarNlag of the object ACov.

◆ evalMeanVecByRanks()

VectorDouble ModelGeneric::evalMeanVecByRanks ( const Db db,
const VectorVectorInt sampleRanks = VectorVectorInt() 
) const

Call the method DriftList::evalMeanVecByRanks of the object DriftList.

◆ evalNvarIpas()

MatrixSquare ModelGeneric::evalNvarIpas ( double  step,
const VectorDouble dir = VectorDouble(),
const CovCalcMode mode = nullptr 
) const

Call the method ACov::evalNvarIpas of the object ACov.

◆ evalNvarIpasIncr()

MatrixSquare ModelGeneric::evalNvarIpasIncr ( const VectorDouble dincr,
const CovCalcMode mode = nullptr 
) const

Call the method ACov::evalNvarIpasIncr of the object ACov.

◆ evalPointToDb()

void ModelGeneric::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

Call the method ACov::evalPointToDb of the object ACov.

◆ evalPointToDbAsSP()

void ModelGeneric::evalPointToDbAsSP ( VectorDouble values,
const std::vector< SpacePoint > &  p1s,
const SpacePoint p2,
int  ivar = 0,
int  jvar = 0,
const CovCalcMode mode = nullptr 
) const

Call the method ACov::evalPointToDbAsSP of the object ACov.

◆ evaluateMatInPlace()

void ModelGeneric::evaluateMatInPlace ( const CovInternal covint,
const VectorDouble d1,
MatrixSquare covtab,
bool  flag_init = false,
double  weight = 1.,
const CovCalcMode mode = nullptr 
) const

Call the method ACov::evaluateMatInPlace of the object ACov.

◆ evaluateOneGeneric()

double ModelGeneric::evaluateOneGeneric ( const CovInternal covint,
const VectorDouble d1 = VectorDouble(),
double  weight = 1.,
const CovCalcMode mode = nullptr 
) const

Call the method ACov::evaluateOneGeneric of the object ACov.

◆ evaluateOneIncr()

double ModelGeneric::evaluateOneIncr ( double  hh,
const VectorDouble codir = VectorDouble(),
int  ivar = 0,
int  jvar = 0,
const CovCalcMode mode = nullptr 
) const

Call the method ACov::evaluateOneIncr of the object ACov.

◆ extensionVariance()

double ModelGeneric::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

Call the method ACov::extensionVariance of the object ACov.

◆ fitNew()

void ModelGeneric::fitNew ( const Db db = nullptr,
Vario vario = nullptr,
const DbGrid dbmap = nullptr,
Constraints constraints = nullptr,
const ModelOptimParam mop = ModelOptimParam(),
int  nb_neighVecchia = 30,
bool  verbose = false,
bool  trace = false 
)

◆ generateListParams()

std::shared_ptr< ListParams > ModelGeneric::generateListParams ( ) const

◆ getContext()

const CovContext * ModelGeneric::getContext ( ) const
inline

◆ getCov()

const ACov * ModelGeneric::getCov ( ) const
inline

◆ getCovar0()

const VectorDouble & ModelGeneric::getCovar0 ( ) const

Call the method CovContext::getCovar0 of the object CovContext.

◆ getDrift()

const ADrift * ModelGeneric::getDrift ( int  il) const

Call the method DriftList::getDrift of the object DriftList.

◆ getDriftList()

const DriftList * ModelGeneric::getDriftList ( ) const
inline

◆ getDriftMaxIRFOrder()

int ModelGeneric::getDriftMaxIRFOrder ( ) const

Call the method DriftList::getDriftMaxIRFOrder of the object DriftList.

◆ getDrifts()

VectorVectorDouble ModelGeneric::getDrifts ( const Db db,
bool  useSel = true 
) const

Call the method DriftList::getDrifts of the object DriftList.

◆ getField()

double ModelGeneric::getField ( ) const

Call the method CovContext::getField of the object CovContext.

◆ getGradients()

std::vector< covmaptype > & ModelGeneric::getGradients ( )
inline

◆ getMean()

double ModelGeneric::getMean ( int  ivar) const

Call the method DriftList::getMean of the object DriftList.

◆ getMeans()

const VectorDouble & ModelGeneric::getMeans ( ) const

Call the method DriftList::getMeans of the object DriftList.

◆ getNDim()

unsigned int ModelGeneric::getNDim ( int  ispace = -1) const

Call the method CovContext::getNDim of the object CovContext.

◆ getNDrift()

int ModelGeneric::getNDrift ( ) const

Call the method DriftList::getNDrift of the object DriftList.

◆ getNDriftEquation()

int ModelGeneric::getNDriftEquation ( ) const

Call the method DriftList::getNDriftEquation of the object DriftList.

◆ getNExtDrift()

int ModelGeneric::getNExtDrift ( ) const

Call the method DriftList::getNExtDrift of the object DriftList.

◆ getNVar()

int ModelGeneric::getNVar ( ) const

Call the method CovContext::getNVar of the object CovContext.

◆ getRankFex()

int ModelGeneric::getRankFex ( int  il) const

Call the method DriftList::getRankFex of the object DriftList.

◆ getSpace()

ASpaceSharedPtr ModelGeneric::getSpace ( ) const

Call the method CovContext::getSpace of the object CovContext.

◆ gofToVario()

double ModelGeneric::gofToVario ( const Vario vario,
bool  verbose = true 
) const

Call the method ACov::gofToVario of the object ACov.

◆ hasDrift()

bool ModelGeneric::hasDrift ( ) const

Call the method DriftList::hasDrift of the object DriftList.

◆ initParams()

void ModelGeneric::initParams ( const MatrixSymmetric vars,
double  href = 1. 
)

◆ isDriftDefined()

bool ModelGeneric::isDriftDefined ( const VectorInt powers,
int  rank_fex = 0 
) const

Call the method DriftList::isDriftDefined of the object DriftList.

◆ isDriftDifferentDefined()

bool ModelGeneric::isDriftDifferentDefined ( const VectorInt powers,
int  rank_fex = -1 
) const

Call the method DriftList::isDriftDifferentDefined of the object DriftList.

◆ isDriftFiltered()

bool ModelGeneric::isDriftFiltered ( int  i) const

Call the method DriftList::isDriftFiltered of the object DriftList.

◆ isDriftSampleDefined()

bool ModelGeneric::isDriftSampleDefined ( const Db db,
int  ib,
int  nech,
const VectorInt nbgh,
const ELoc &  loctype 
) const

Call the method DriftList::isDriftSampleDefined of the object DriftList.

◆ isFlagLinked()

bool ModelGeneric::isFlagLinked ( ) const

Call the method DriftList::isFlagLinked of the object DriftList.

◆ isNoStat()

bool ModelGeneric::isNoStat ( ) const

Call the method ACov::isNoStat of the object ACov.

◆ isValid()

bool ModelGeneric::isValid ( ) const

◆ makeStationary()

void ModelGeneric::makeStationary ( )

Call the method ACov::makeStationary of the object ACov.

◆ manage()

void ModelGeneric::manage ( const Db db1,
const Db db2 
) const

Call the method ACov::manage of the object ACov.

◆ operator=()

ModelGeneric & ModelGeneric::operator= ( const ModelGeneric r)

◆ optimizationPostProcess()

void ModelGeneric::optimizationPostProcess ( ) const

Call the method ACov::optimizationPostProcess of the object ACov.

◆ optimizationPreProcessForData()

void ModelGeneric::optimizationPreProcessForData ( const Db db1 = nullptr) const

Call the method ACov::optimizationPreProcessForData of the object ACov.

◆ sample()

VectorDouble ModelGeneric::sample ( const VectorDouble h,
const VectorDouble codir = VectorDouble(),
int  ivar = 0,
int  jvar = 0,
const CovCalcMode mode = nullptr,
const CovInternal covint = nullptr 
) const

Call the method ACov::sample of the object ACov.

◆ sampleUnitary()

VectorDouble ModelGeneric::sampleUnitary ( const VectorDouble hh,
int  ivar = 0,
int  jvar = 0,
VectorDouble  codir = VectorDouble(),
const CovCalcMode mode = nullptr 
) const

Call the method ACov::sampleUnitary of the object ACov.

◆ samplingDensityVariance()

double ModelGeneric::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

Call the method ACov::samplingDensityVariance of the object ACov.

◆ setBetaHat()

void ModelGeneric::setBetaHat ( const VectorDouble betaHat)

Call the method DriftList::setBetaHat of the object DriftList.

◆ setContext()

void ModelGeneric::setContext ( const CovContext ctxt)

Call the method ACov::setContext of the object ACov.

◆ setCov()

void ModelGeneric::setCov ( const ACov cova)

◆ setCovar0()

void ModelGeneric::setCovar0 ( int  ivar,
int  jvar,
double  covar0 
)

Call the method CovContext::setCovar0 of the object CovContext.

◆ setCovar0s()

void ModelGeneric::setCovar0s ( const VectorDouble covar0)

Call the method CovContext::setCovar0s of the object CovContext.

◆ setDriftIRF()

void ModelGeneric::setDriftIRF ( int  order = 0,
int  nfex = 0 
)

Define the list of drift functions for:

  • a given degree of the IRF
  • a given number of external drifts
    Parameters
    orderOrder of the IRF
    nfexNumber of External Drifts
    Remarks
    This method deletes any pre-existing drift functions and replaces them by the new definition
    This replacement is performed accounting for information stored in 'model', such as:
  • the space dimension
  • the number of variables

◆ setDriftList()

void ModelGeneric::setDriftList ( const DriftList driftlist)

Add a list of Drifts. This operation cleans any previously stored drift function

Parameters
driftlistList of Drifts to be added
Remarks
This method deletes any pre-existing drift functions

◆ setDrifts()

void ModelGeneric::setDrifts ( const VectorString driftSymbols)

◆ setField() [1/2]

void ModelGeneric::setField ( double  field)

Call the method CovContext::setField of the object CovContext.

◆ setField() [2/2]

void ModelGeneric::setField ( double  field)

◆ setFiltered()

void ModelGeneric::setFiltered ( const VectorBool filtered)

Call the method DriftList::setFiltered of the object DriftList.

◆ setFlagLinked()

void ModelGeneric::setFlagLinked ( bool  flagLinked)

Call the method DriftList::setFlagLinked of the object DriftList.

◆ setMean()

void ModelGeneric::setMean ( const double  mean,
int  ivar = 0 
)

Call the method DriftList::setMean of the object DriftList.

◆ setMeans()

void ModelGeneric::setMeans ( const VectorDouble mean)

Call the method DriftList::setMeans of the object DriftList.

◆ setOptimEnabled()

virtual void ModelGeneric::setOptimEnabled ( bool  enabled) const
virtual

Call the method ACov::setOptimEnabled of the object ACov.

◆ specificVolume()

double ModelGeneric::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

Call the method ACov::specificVolume of the object ACov.

◆ specificVolumeFromCoV()

double ModelGeneric::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

Call the method ACov::specificVolumeFromCoV of the object ACov.

◆ updateModel()

void ModelGeneric::updateModel ( )

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