gstlearn  1.0.0
CCC
ACovFunc Class Referenceabstract

#include <ACovFunc.hpp>

Inheritance diagram for ACovFunc:
AStringable CovBesselJ CovBesselK CovCauchy CovCosExp CovCosinus CovCubic CovExponential CovGC1 CovGC3 CovGC5 CovGCspline CovGCspline2 CovGamma CovGaussian CovLinear CovMarkov CovNugget CovPenta CovPower CovReg1D CovSincard CovSpherical CovStable CovStorkey CovTriangle CovWendland0 CovWendland1 CovWendland2

Public Member Functions

 ACovFunc (const ECov &type, const CovContext &ctxt)
 
 ACovFunc (const ACovFunc &r)
 
ACovFuncoperator= (const ACovFunc &r)
 
virtual ~ACovFunc ()
 
virtual String toString (const AStringFormat *strfmt=nullptr) const override
 AStringable Interface. More...
 
virtual String getFormula () const
 ACovFunc Interface. More...
 
virtual bool isConsistent () const
 Test consistency toward the current context. More...
 
virtual double getScadef () const
 
virtual double getParMax () const
 
virtual unsigned int getMaxNDim () const
 
virtual int getMinOrder () const
 
virtual bool hasInt1D () const
 
virtual bool hasInt2D () const
 
virtual int hasRange () const
 
virtual bool hasParam () const
 
virtual String getCovName () const =0
 
virtual bool hasCovDerivative () const
 
virtual bool hasCovOnSphere () const
 
virtual bool hasSpectrum () const
 
virtual bool hasMarkovCoeffs () const
 
void setParam (double param)
 
void setField (double field)
 
double evalCov (double h) const
 
double evalCovDerivative (int degree, double h) const
 
double evalCovOnSphere (double alpha, double scale=1., int degree=50) const
 
VectorDouble evalCovVec (const VectorDouble &vech) const
 
VectorDouble evalCovDerivativeVec (int degree, const VectorDouble &vech) const
 
const ECov & getType () const
 
const CovContextgetContext () const
 
double getParam () const
 
void copyCovContext (const CovContext &ctxt)
 
virtual double evaluateSpectrum (double freq, int ndim) const
 
virtual VectorDouble getMarkovCoeffs () const
 
virtual void setMarkovCoeffs (VectorDouble coeffs)
 
virtual double getCorrec () const
 
virtual void setCorrec (double)
 
virtual void computeCorrec (int ndim)
 
virtual void computeMarkovCoeffs (int)
 
- Public Member Functions inherited from AStringable
 AStringable ()
 
 AStringable (const AStringable &r)
 
AStringableoperator= (const AStringable &r)
 
virtual ~AStringable ()
 
virtual void display (const AStringFormat *strfmt=nullptr) const final
 
virtual void display (int level) const final
 

Protected Member Functions

virtual double _evaluateCov (double h) const =0
 TODO : Gneiting (spatio-temporal covariance) : Change argument : double h becomes VectorDouble (number of sub-space) More...
 
virtual double _evaluateCovDerivative (int degree, double h) const
 
virtual double _evaluateCovOnSphere (double scale=1., int degree=50) const
 

Private Member Functions

Array _evalCovFFT (const VectorDouble &ext, int N=128) const
 

Private Attributes

ECov _type
 
CovContext _ctxt
 
double _param
 

Constructor & Destructor Documentation

◆ ACovFunc() [1/2]

ACovFunc::ACovFunc ( const ECov &  type,
const CovContext ctxt 
)

◆ ACovFunc() [2/2]

ACovFunc::ACovFunc ( const ACovFunc r)

◆ ~ACovFunc()

ACovFunc::~ACovFunc ( )
virtual

Member Function Documentation

◆ _evalCovFFT()

Array ACovFunc::_evalCovFFT ( const VectorDouble ext,
int  N = 128 
) const
private

◆ _evaluateCov()

virtual double ACovFunc::_evaluateCov ( double  h) const
protectedpure virtual

TODO : Gneiting (spatio-temporal covariance) : Change argument : double h becomes VectorDouble (number of sub-space)

Implemented in CovWendland2, CovWendland1, CovWendland0, CovTriangle, CovStorkey, CovStable, CovSpherical, CovSincard, CovReg1D, CovPower, CovPenta, CovNugget, CovMarkov, CovLinear, CovGCspline2, CovGCspline, CovGC5, CovGC3, CovGC1, CovGaussian, CovGamma, CovExponential, CovCubic, CovCosinus, CovCosExp, CovCauchy, CovBesselK, and CovBesselJ.

◆ _evaluateCovDerivative()

double ACovFunc::_evaluateCovDerivative ( int  degree,
double  h 
) const
protectedvirtual

Calculate covariance derivatives, i.e.

  • Degree 1: C^1(r) / r
  • degree 2: C^2(r)
  • Degree 3: C^3(r)
  • Degree 4: C^4(r)
    Parameters
    degreeLevel of derivation
    hNormalized distance
    Returns

Reimplemented in CovGCspline2, CovGaussian, CovCubic, and CovWendland2.

◆ _evaluateCovOnSphere()

double ACovFunc::_evaluateCovOnSphere ( double  scale = 1.,
int  degree = 50 
) const
protectedvirtual

Reimplemented in CovMarkov, and CovBesselK.

◆ computeCorrec()

void ACovFunc::computeCorrec ( int  ndim)
virtual

Reimplemented in CovBesselK.

◆ computeMarkovCoeffs()

virtual void ACovFunc::computeMarkovCoeffs ( int  )
inlinevirtual

Reimplemented in CovBesselK.

◆ copyCovContext()

void ACovFunc::copyCovContext ( const CovContext ctxt)
inline

◆ evalCov()

double ACovFunc::evalCov ( double  h) const

◆ evalCovDerivative()

double ACovFunc::evalCovDerivative ( int  degree,
double  h 
) const

◆ evalCovDerivativeVec()

VectorDouble ACovFunc::evalCovDerivativeVec ( int  degree,
const VectorDouble vech 
) const

◆ evalCovOnSphere()

double ACovFunc::evalCovOnSphere ( double  alpha,
double  scale = 1.,
int  degree = 50 
) const

◆ evalCovVec()

VectorDouble ACovFunc::evalCovVec ( const VectorDouble vech) const

◆ evaluateSpectrum()

double ACovFunc::evaluateSpectrum ( double  freq,
int  ndim 
) const
virtual

Reimplemented in CovMarkov, and CovBesselK.

◆ getContext()

const CovContext& ACovFunc::getContext ( ) const
inline

◆ getCorrec()

virtual double ACovFunc::getCorrec ( ) const
inlinevirtual

Reimplemented in CovMarkov, and CovBesselK.

◆ getCovName()

◆ getFormula()

◆ getMarkovCoeffs()

VectorDouble ACovFunc::getMarkovCoeffs ( ) const
virtual

Reimplemented in CovMarkov, and CovBesselK.

◆ getMaxNDim()

virtual unsigned int ACovFunc::getMaxNDim ( ) const
inlinevirtual

◆ getMinOrder()

◆ getParam()

double ACovFunc::getParam ( ) const
inline

◆ getParMax()

virtual double ACovFunc::getParMax ( ) const
inlinevirtual

◆ getScadef()

virtual double ACovFunc::getScadef ( ) const
inlinevirtual

◆ getType()

const ECov& ACovFunc::getType ( ) const
inline

◆ hasCovDerivative()

virtual bool ACovFunc::hasCovDerivative ( ) const
inlinevirtual

Reimplemented in CovWendland2, CovGCspline2, CovGaussian, and CovCubic.

◆ hasCovOnSphere()

virtual bool ACovFunc::hasCovOnSphere ( ) const
inlinevirtual

Reimplemented in CovMarkov, and CovBesselK.

◆ hasInt1D()

bool ACovFunc::hasInt1D ( ) const
virtual

◆ hasInt2D()

bool ACovFunc::hasInt2D ( ) const
virtual

◆ hasMarkovCoeffs()

virtual bool ACovFunc::hasMarkovCoeffs ( ) const
inlinevirtual

Reimplemented in CovMarkov, and CovBesselK.

◆ hasParam()

virtual bool ACovFunc::hasParam ( ) const
inlinevirtual

◆ hasRange()

virtual int ACovFunc::hasRange ( ) const
inlinevirtual

◆ hasSpectrum()

virtual bool ACovFunc::hasSpectrum ( ) const
inlinevirtual

Reimplemented in CovMarkov, and CovBesselK.

◆ isConsistent()

bool ACovFunc::isConsistent ( ) const
virtual

Test consistency toward the current context.

TODO : Test irfDegree vs getMinOrder in CovElem because zonal anisotropies

◆ operator=()

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

◆ setCorrec()

virtual void ACovFunc::setCorrec ( double  )
inlinevirtual

Reimplemented in CovMarkov, and CovBesselK.

◆ setField()

void ACovFunc::setField ( double  field)

◆ setMarkovCoeffs()

void ACovFunc::setMarkovCoeffs ( VectorDouble  coeffs)
virtual

Reimplemented in CovMarkov, and CovBesselK.

◆ setParam()

void ACovFunc::setParam ( double  param)

TODO : Do not throw in setter. Check range and build the error message here.

◆ toString()

String ACovFunc::toString ( const AStringFormat strfmt = nullptr) const
overridevirtual

AStringable Interface.

Reimplemented from AStringable.

Member Data Documentation

◆ _ctxt

CovContext ACovFunc::_ctxt
private

Covariance function type

◆ _param

double ACovFunc::_param
private

Context (space, number of variables, ...)

◆ _type

ECov ACovFunc::_type
private

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