1.10.1
CCC
 
Loading...
Searching...
No Matches
gstlrn::CorGaussianMixture Class Reference

This class describes the multivariate Matern correlation function. More...

#include <CorGaussianMixture.hpp>

Inheritance diagram for gstlrn::CorGaussianMixture:
gstlrn::ACov gstlrn::ICloneable gstlrn::AStringable gstlrn::ASerializable

Detailed Description

This class describes the multivariate Matern correlation function.

Public Member Functions

 CorGaussianMixture (const CovContext &ctxt, const ECov &type, const 1 &params=1(), const 1 &kappas=1(), const 1 &ranges=1(), const 1 &angles=1(), bool flagRange=true)
 
 CorGaussianMixture (const CorGaussianMixture &r)
 
CorGaussianMixtureoperator= (const CorGaussianMixture &r)
 
virtual ~CorGaussianMixture ()
 
const ECov & getType () const
 
bool isConsistent (const ASpace *space) const override
 
bool isValidForSpectral () const override
 
const CorAnisogetCorRef () const
 
double getScaleDim (Id idim) const
 ACov Interface.
 
 getScales () const
 
void setScaleCor (Id idim, double scale)
 
Id getNVar () const override
 ACov Interface.
 
double getC0 (Id ivar, Id jvar) const
 
double getNu (Id ivar, Id jvar) const
 
double getKappa (Id ivar, Id jvar) const
 
double computeKappa (double kappai, double kappaj) const
 
void setScaleGneiting (double val)
 
bool getScaleGneiting () const
 
SpectrumRN simulateSpectrumRN (Id ns, const ACov *cov0=nullptr) const override
 
- Public Member Functions inherited from gstlrn::ACov
 ACov (const CovContext &ctxt=CovContext())
 
 ACov (const ACov &r)
 
ACovoperator= (const ACov &r)
 
virtual ~ACov ()
 
String getNFName () const override
 ASerializable Interface.
 
virtual bool isIndexable () const
 
bool isNoStat () const
 
const CovContextgetContext () const
 
void setContext (const CovContext &ctxt)
 
void updateFromContext ()
 
virtual void copyCovContext (const CovContext &ctxt)
 
void initFromContext ()
 
CovContext getContextCopy () const
 
virtual double eval0 (Id ivar=0, Id jvar=0, const CovCalcMode *mode=nullptr) const
 Calculate the covariance between two variables for 0-distance (stationary case)
 
double evalCov (const SpacePoint &p1, const SpacePoint &p2, Id ivar=0, Id jvar=0, const CovCalcMode *mode=nullptr) const
 Calculate the covariance between two variables and two points (general case)
 
virtual MatrixDense simulateSpectralOmega (Id ns) const
 
 evalCovGrad (const SpacePoint &p1, const SpacePoint &p2, Id ivar=0, Id jvar=0, const CovCalcMode *mode=nullptr)
 
virtual double evalCovOnSphere (double alpha, Id degree=50, bool flagScaleDistance=false, const CovCalcMode *mode=nullptr) const
 
virtual evalSpectrumOnSphere (Id n, bool flagNormDistance=false, bool flagCumul=false) const
 
virtual double evalSpectrum (const 1 &freq, Id ivar=0, Id jvar=0) const
 
virtual double evalSpectrumRatio (const 1 &freq, Id ivar, Id jvar, const ACov *cov0=nullptr) const
 
virtual void updateCovByPoints (Id icas1, Id iech1, Id icas2, Id iech2) const
 
void attachNoStatDb (const Db *db)
 
ASpaceSharedPtr getSpace () const
 
virtual bool isOptimEnabled () const
 Functions linked to Optimization during Covariance calculations.
 
void optimizationPreProcess (Id mode, const std::vector< SpacePoint > &ps) const
 
SpacePointoptimizationLoadInPlace (Id iech, Id mode, Id rank) const
 
void optimizationPostProcess () const
 
void optimizationSetTarget (SpacePoint &pt) const
 
 eval (const std::vector< SpacePoint > &vec_p1, const std::vector< SpacePoint > &vec_p2, Id ivar=0, Id jvar=0, const CovCalcMode *mode=nullptr) const
 Functions for evaluating Covariances.
 
MatrixSymmetric eval0Mat (const CovCalcMode *mode=nullptr) const
 
MatrixSymmetric evalCovMat0 (const Db *db, Id iech, const KrigOpt &krigopt=KrigOpt()) const
 Functions for evaluating Covariance Matrices either in place or not.
 
MatrixDense evalCovMat (const Db *db1, const Db *db2=nullptr, Id ivar0=-1, Id jvar0=-1, const 1 &nbgh1=1(), const 1 &nbgh2=1(), const CovCalcMode *mode=nullptr, bool cleanOptim=true) const
 
MatrixSymmetric evalCovMatSym (const Db *db1, const 1 &nbgh1=1(), Id ivar0=-1, const CovCalcMode *mode=nullptr, bool cleanOptim=true) const
 
MatrixSparseevalCovMatSparse (const Db *db1_arg, const Db *db2_arg=nullptr, Id ivar0=-1, Id jvar0=-1, const 1 &nbgh1=1(), const 1 &nbgh2=1(), const CovCalcMode *mode=nullptr, bool cleanOptim=true, double eps=EPSILON3) const
 
Id evalCovMat0InPlace (MatrixSymmetric &mat, const Db *db, Id iech, const KrigOpt &krigopt=KrigOpt()) const
 
Id evalCovMatInPlace (MatrixDense &mat, const Db *db1, const Db *db2=nullptr, Id ivar0=-1, Id jvar0=-1, const 1 &nbgh1=1(), const 1 &nbgh2=1(), const CovCalcMode *mode=nullptr, bool cleanOptim=true) const
 
Id evalCovMatSymInPlace (MatrixSymmetric &mat, const Db *db1, const 1 &nbgh1=1(), Id ivar0=-1, const CovCalcMode *mode=nullptr, bool cleanOptim=true) const
 
Id evalCovMatInPlaceFromIdx (MatrixDense &mat, const Db *db1, const Db *db2, const 1 &index1, const 1 &index2, const 1 &nbgh2=1(), const CovCalcMode *mode=nullptr, bool cleanOptim=true) const
 
Id evalCovMatSymInPlaceFromIdx (MatrixSymmetric &mat, const Db *db1, const 1 &index1, const CovCalcMode *mode=nullptr, bool cleanOptim=true) const
 
Id evalCovMatRHSInPlaceFromIdx (MatrixDense &mat, const Db *db1, const Db *db2, const 1 &index1, const Id iech2=-1, const KrigOpt &krigopt=KrigOpt(), bool cleanOptim=true) const
 
Id evalCovVecRHSInPlace (vect vect, const RankHandler &rank, Id iech2, const KrigOpt &krigopt, SpacePoint &pin, SpacePoint &pout, 1 &tabwork, double lambda=1., const ECalcMember &calcMember=ECalcMember::RHS) const
 
Id evalCovMatOptimInPlace (MatrixDense &mat, const Db *dbin, const RankHandler &rankhandler, const KrigOpt &krigopt, const ECalcMember &calcMember, 1 &tabwork, double lambda=1.) const
 
virtual Id addEvalCovVecRHSInPlace (vect vect, const 1 &index1, const Id iech2, const KrigOpt &krigopt, SpacePoint &pin, SpacePoint &pout, 1 &tabwork, double lambda=1., const ECalcMember &calcMember=ECalcMember::RHS) const
 
void eval0CovMatBiPointInPlace (MatrixSymmetric &mat, const CovCalcMode *mode) const
 
double evalIvarIpas (double step, const 1 &dir=1(), Id ivar=0, Id jvar=0, const CovCalcMode *mode=nullptr) const
 
double evalIvarIpasIncr (const 1 &dincr, Id ivar=0, Id jvar=0, const CovCalcMode *mode=nullptr) const
 
 evalIvarNlag (const 1 &vec_step, const 1 &dir=1(), Id ivar=0, Id jvar=0, const CovCalcMode *mode=nullptr) const
 
MatrixSquare evalNvarIpas (double step, const 1 &dir=1(), const CovCalcMode *mode=nullptr) const
 
MatrixSquare evalNvarIpasIncr (const 1 &dincr, const CovCalcMode *mode=nullptr) const
 
double evalIsoIvarIpas (double step, Id ivar=0, Id jvar=0, const CovCalcMode *mode=nullptr) const
 
 evalIsoIvarNlag (const 1 &vec_step, Id ivar=0, Id jvar=0, const CovCalcMode *mode=nullptr) const
 
MatrixSquare evalIsoNvarIpas (double step, const CovCalcMode *mode=nullptr) const
 
double evalCvv (const 1 &ext, const 1 &ndisc, const 1 &angles=1(), Id ivar=0, Id jvar=0, const CovCalcMode *mode=nullptr) const
 
double evalCvvShift (const 1 &ext, const 1 &ndisc, const 1 &shift, const 1 &angles=1(), Id ivar=0, Id jvar=0, const CovCalcMode *mode=nullptr) const
 
MatrixSquare evalCvvM (const 1 &ext, const 1 &ndisc, const 1 &angles=1(), const CovCalcMode *mode=nullptr) const
 
double evalCxv (const SpacePoint &p1, const 1 &ext, const 1 &ndisc, const 1 &angles=1(), const 1 &x0=1(), Id ivar=0, Id jvar=0, const CovCalcMode *mode=nullptr) const
 
double evalCxv (const Db *db, const 1 &ext, const 1 &ndisc, const 1 &angles=1(), const 1 &x0=1(), Id ivar=0, Id jvar=0, const CovCalcMode *mode=nullptr) const
 
MatrixSquare evalCxvM (const SpacePoint &p1, const 1 &ext, const 1 &ndisc, const 1 &angles=1(), const 1 &x0=1(), const CovCalcMode *mode=nullptr) const
 
void evalPointToDb (1 &values, const SpacePoint &p1, const Db *db2, Id ivar=0, Id jvar=0, bool useSel=true, const 1 &nbgh2=1(), const CovCalcMode *mode=nullptr) const
 
void evalPointToDbAsSP (1 &values, const std::vector< SpacePoint > &p1s, const SpacePoint &p2, Id ivar=0, Id jvar=0, const CovCalcMode *mode=nullptr) const
 
double evalAverageDbToDb (const Db *db1, const Db *db2, Id ivar=0, Id jvar=0, double eps=0., Id seed=434132, const CovCalcMode *mode=nullptr) const
 
double evalAverageIncrToIncr (const 1 &d1, const 1 &d2, Id ivar=0, Id jvar=0, const CovCalcMode *mode=nullptr) const
 
double evalAveragePointToDb (const SpacePoint &p1, const Db *db2, Id ivar=0, Id jvar=0, const CovCalcMode *mode=nullptr) const
 
double extensionVariance (const Db *db, const 1 &ext, const 1 &ndisc, const 1 &angles=1(), const 1 &x0=1(), Id ivar=0, Id jvar=0) const
 
double samplingDensityVariance (const Db *db, const 1 &ext, const 1 &ndisc, const 1 &angles=1(), const 1 &x0=1(), Id ivar=0, Id jvar=0) const
 
double specificVolume (const Db *db, double mean, const 1 &ext, const 1 &ndisc, const 1 &angles=1(), const 1 &x0=1(), Id ivar=0, Id jvar=0) const
 
double coefficientOfVariation (const Db *db, double volume, double mean, const 1 &ext, const 1 &ndisc, const 1 &angles=1(), const 1 &x0=1(), Id ivar=0, Id jvar=0) const
 
double specificVolumeFromCoV (Db *db, double cov, double mean, const 1 &ext, const 1 &ndisc, const 1 &angles=1(), const 1 &x0=1(), Id ivar=0, Id jvar=0) const
 
double evaluateOneGeneric (const CovInternal *covint, const 1 &d1=1(), double weight=1., const CovCalcMode *mode=nullptr) const
 
double calculateStDev (Db *db1, Id iech1, Db *db2, Id iech2, bool verbose=false, double factor=1., const CovCalcMode *mode=nullptr) const
 
void evaluateMatInPlace (const CovInternal *covint, const 1 &d1, MatrixSquare &covtab, bool flag_init=false, double weight=1., const CovCalcMode *mode=nullptr) const
 
 evaluateFromDb (Db *db, Id ivar=0, Id jvar=0, const CovCalcMode *mode=nullptr) const
 
double evaluateOneIncr (double hh, const 1 &codir=1(), Id ivar=0, Id jvar=0, const CovCalcMode *mode=nullptr) const
 
 sample (const 1 &h, const 1 &codir=1(), Id ivar=0, Id jvar=0, const CovCalcMode *mode=nullptr, const CovInternal *covint=nullptr) const
 
 sampleUnitary (const 1 &hh, Id ivar=0, Id jvar=0, 1 codir=1(), const CovCalcMode *mode=nullptr) const
 
 envelop (const 1 &hh, Id ivar=0, Id jvar=0, Id isign=1, 1 codir=1(), const CovCalcMode *mode=nullptr) const
 
Id buildVmapOnDbGrid (DbGrid *dbgrid, const NamingConvention &namconv=NamingConvention("VMAP")) const
 
double gofToVario (const Vario *vario, bool verbose=true) const
 
void manage (const Db *db1, const Db *db2) const
 
void load (const SpacePoint &p, bool case1) const
 
virtual void updateCovByMesh (Id imesh, bool aniso=true) const
 
virtual double getValue (const EConsElem &econs, Id iv1, Id iv2) const
 
void makeStationary ()
 
virtual Id makeElemNoStat (const EConsElem &econs, Id iv1, Id iv2, const AFunctional *func=nullptr, const Db *db=nullptr, const String &namecol=String())
 
void createNoStatTab ()
 
void informMeshByMesh (const AMesh *amesh) const
 
void informMeshByApex (const AMesh *amesh) const
 
 informCoords (const 1 &coords, const EConsElem &econs, Id iv1=0, Id iv2=0) const
 
void informDbIn (const Db *dbin) const
 
void informDbOut (const Db *dbout) const
 
virtual Id getNDim (Id ispace=-1) const
 
void optimizationPreProcessForData (const Db *db1=nullptr) const
 
virtual void setOptimEnabled (bool enabled) const
 
bool checkAndManageNoStatDb (const Db *db, const String &namecol)
 
std::shared_ptr< const DbgetDbNoStat () const
 
const DbgetDbNoStatRaw () const
 
void setNoStatDbIfNecessary (const Db *db)
 
void setNoStatDbIfNecessary (std::shared_ptr< const Db > &db)
 
virtual void appendParams (ListParams &listParams, std::vector< covmaptype > *gradFuncs=nullptr)
 
virtual void updateCov ()
 
virtual void initParams (const MatrixSymmetric &vars, double href=1.)
 
- Public Member Functions inherited from gstlrn::ICloneable
 ICloneable ()
 
virtual ~ICloneable ()
 
virtual ICloneableclone () const =0
 
std::shared_ptr< ICloneablecloneShared () const
 
std::unique_ptr< ICloneablecloneUnique () const
 
- Public Member Functions inherited from gstlrn::AStringable
 AStringable ()
 
 AStringable (const AStringable &r)
 
AStringableoperator= (const AStringable &r)
 
virtual ~AStringable ()
 
virtual String toString (const AStringFormat *strfmt=nullptr) const
 
virtual void display (const AStringFormat *strfmt=nullptr) const final
 
virtual void display (Id level) const final
 
- Public Member Functions inherited from gstlrn::ASerializable
 ASerializable ()
 
 ASerializable (const ASerializable &r)
 
ASerializableoperator= (const ASerializable &r)
 
 ASerializable (ASerializable &&r) noexcept
 
ASerializableoperator= (ASerializable &&r) noexcept
 
virtual ~ASerializable ()
 
bool dumpToNF (const String &NFFilename, const EFormatNF &format=EFormatNF::fromKey("DEFAULT")) const
 Dump the contents of an object into an Output File using a given Output NF Format.
 
void setDefaultFormatNF (const EFormatNF &format)
 

Static Public Member Functions

static CorGaussianMixturecreate (const CovContext &ctxt, const ECov &type, const 1 &params, const 1 &kappas, const 1 &ranges, const 1 &angles=1(), bool flagRange=false)
 
static double computeNu (double nui, double nuj)
 
- Static Public Member Functions inherited from gstlrn::ACov
static void gofDisplay (double gof, bool byValue=true, const 1 &thresholds={2., 5., 10., 100})
 
- Static Public Member Functions inherited from gstlrn::ASerializable
static String buildFileName (Id status, const String &filename, bool ensureDirExist=false)
 
static String getFileIdentity (const String &filename, bool verbose=false)
 
static void setPrefixName (const String &prefixName)
 
static void unsetPrefixName ()
 
static const StringgetPrefixName ()
 

Constructor & Destructor Documentation

◆ CorGaussianMixture() [1/2]

gstlrn::CorGaussianMixture::CorGaussianMixture ( const CovContext ctxt,
const ECov &  type,
const 1 &  params = 1(),
const 1 &  kappas = 1(),
const 1 &  ranges = 1(),
const 1 &  angles = 1(),
bool  flagRange = true 
)

◆ CorGaussianMixture() [2/2]

gstlrn::CorGaussianMixture::CorGaussianMixture ( const CorGaussianMixture r)

◆ ~CorGaussianMixture()

gstlrn::CorGaussianMixture::~CorGaussianMixture ( )
virtual

Member Function Documentation

◆ computeKappa()

double gstlrn::CorGaussianMixture::computeKappa ( double  kappai,
double  kappaj 
) const

◆ computeNu()

static double gstlrn::CorGaussianMixture::computeNu ( double  nui,
double  nuj 
)
inlinestatic

◆ create()

CorGaussianMixture * gstlrn::CorGaussianMixture::create ( const CovContext ctxt,
const ECov &  type,
const 1 &  params,
const 1 &  kappas,
const 1 &  ranges,
const 1 &  angles = 1(),
bool  flagRange = false 
)
static

◆ getC0()

double gstlrn::CorGaussianMixture::getC0 ( Id  ivar,
Id  jvar 
) const
inline

◆ getCorRef()

const CorAniso * gstlrn::CorGaussianMixture::getCorRef ( ) const
inline

◆ getKappa()

double gstlrn::CorGaussianMixture::getKappa ( Id  ivar,
Id  jvar 
) const
inline

◆ getNu()

double gstlrn::CorGaussianMixture::getNu ( Id  ivar,
Id  jvar 
) const
inline

◆ getNVar()

Id gstlrn::CorGaussianMixture::getNVar ( ) const
inlineoverridevirtual

ACov Interface.

Reimplemented from gstlrn::ACov.

◆ getScaleDim()

double gstlrn::CorGaussianMixture::getScaleDim ( Id  idim) const

ACov Interface.

◆ getScaleGneiting()

bool gstlrn::CorGaussianMixture::getScaleGneiting ( ) const
inline

◆ getScales()

gstlrn::CorGaussianMixture::getScales ( ) const

◆ getType()

const ECov & gstlrn::CorGaussianMixture::getType ( ) const
inline

◆ isConsistent()

bool gstlrn::CorGaussianMixture::isConsistent ( const ASpace space) const
inlineoverridevirtual

Reimplemented from gstlrn::ACov.

◆ isValidForSpectral()

bool gstlrn::CorGaussianMixture::isValidForSpectral ( ) const
inlineoverridevirtual

Reimplemented from gstlrn::ACov.

◆ operator=()

CorGaussianMixture & gstlrn::CorGaussianMixture::operator= ( const CorGaussianMixture r)

◆ setScaleCor()

void gstlrn::CorGaussianMixture::setScaleCor ( Id  idim,
double  scale 
)

◆ setScaleGneiting()

void gstlrn::CorGaussianMixture::setScaleGneiting ( double  val)
inline

◆ simulateSpectrumRN()

SpectrumRN gstlrn::CorGaussianMixture::simulateSpectrumRN ( Id  ns,
const ACov cov0 = nullptr 
) const
overridevirtual

Reimplemented from gstlrn::ACov.


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