1.4.1
CCC
 
SPDE Class Reference

#include <SPDE.hpp>

Detailed Description

The SPDE class provides the SPDE implementation of a univariate model defined by the sum of a nugget effect and Matern's models. Its main objectives are:

  • point kriging with or without linear drifts (SK, OK, KED, UK)
  • point simulations, conditional or non conditional
  • evaluation of the log likelihood of the model, in order to estimate the parameter using maximum likelihood

Public Member Functions

 SPDE (Model *model, const Db *domain, const Db *data=nullptr, const ESPDECalcMode &calcul=ESPDECalcMode::fromKey("SIMUCOND"), const AMesh *mesh=nullptr, int useCholesky=-1, const SPDEParam &params=SPDEParam(), bool verbose=false, bool showStats=false)
 
 SPDE (const SPDE &r)=delete
 
SPDEoperator= (const SPDE &r)=delete
 
virtual ~SPDE ()
 
int compute (Db *dbout, int nbsimu=1, const NamingConvention &namconv=NamingConvention("spde"))
 
double computeLogDet (int nbsimu=1) const
 
double computeQuad () const
 
double computeLogLikelihood (int nbsimu=1) const
 
VectorDouble getCoeffs ()
 
void setDriftCoeffs (const VectorDouble &coeffs)
 
const PrecisionOpCsgetPrecisionOpCs (int i=0) const
 
const ProjMatrixgetProjMatrix (int i=0) const
 
const PrecisionOpMultiConditionalgetPrecisionKrig () const
 
const AMeshgetMeshingKrig (int i=0) const
 
const AMeshgetMeshingSimu (int i=0) const
 
const DbgetData () const
 

Static Public Member Functions

static SPDEcreate (Model *model, const Db *domain, const Db *data=nullptr, const ESPDECalcMode &calcul=ESPDECalcMode::fromKey("SIMUCOND"), const AMesh *mesh=nullptr, int useCholesky=-1, const SPDEParam &params=SPDEParam(), bool verbose=false, bool showStats=false)
 

Constructor & Destructor Documentation

◆ SPDE() [1/2]

SPDE::SPDE ( Model model,
const Db domain,
const Db data = nullptr,
const ESPDECalcMode &  calcul = ESPDECalcMode::fromKey("SIMUCOND"),
const AMesh meshUser = nullptr,
int  useCholesky = -1,
const SPDEParam params = SPDEParam(),
bool  verbose = false,
bool  showStats = false 
)

The class constructor with the following arguments:

Parameters
modelThis compulsory argument is a LMC of Matern's (or Markov?) basic structures with possibly a nugget effect
domainThe Db defining the space dimension and spatial limits where the SPDE model is defined
dataThe Db containing the data for conditioning (optional)
calculOption from ESPDECalcMode
meshUserThe mesh for the discretization of the domain
useCholeskyDefine the choice regarding Cholesky
paramsSet of SPDE parameters
verboseVerbose flag
showStatsDisplay statistics for Linear Operations (when deleting the class)

Either Domain or a Mesh can be provided:

  • If a mesh is not provided, the domain is used to define optimal meshes for each structures and for at low/high resolution respectively. (High resolution meshes are used for simulations and low resolution meshes are used for kriging).
  • If a mesh is provided it is used for all structures and resolutions.

The domain or the mesh should have the same spatial reference (ndim, manifold) than the model.

◆ SPDE() [2/2]

SPDE::SPDE ( const SPDE r)
delete

◆ ~SPDE()

SPDE::~SPDE ( )
virtual

Member Function Documentation

◆ compute()

int SPDE::compute ( Db dbout,
int  nbsimu = 1,
const NamingConvention namconv = NamingConvention("spde") 
)

◆ computeLogDet()

double SPDE::computeLogDet ( int  nbsimu = 1) const

◆ computeLogLikelihood()

double SPDE::computeLogLikelihood ( int  nbsimu = 1) const

Calculate the Log-Likelihood profiling the Drift parameters

◆ computeQuad()

double SPDE::computeQuad ( ) const

◆ create()

SPDE * SPDE::create ( Model model,
const Db domain,
const Db data = nullptr,
const ESPDECalcMode &  calcul = ESPDECalcMode::fromKey("SIMUCOND"),
const AMesh mesh = nullptr,
int  useCholesky = -1,
const SPDEParam params = SPDEParam(),
bool  verbose = false,
bool  showStats = false 
)
static

◆ getCoeffs()

VectorDouble SPDE::getCoeffs ( )

◆ getData()

const Db* SPDE::getData ( ) const
inline

◆ getMeshingKrig()

const AMesh* SPDE::getMeshingKrig ( int  i = 0) const
inline

◆ getMeshingSimu()

const AMesh* SPDE::getMeshingSimu ( int  i = 0) const
inline

◆ getPrecisionKrig()

const PrecisionOpMultiConditional* SPDE::getPrecisionKrig ( ) const
inline

◆ getPrecisionOpCs()

const PrecisionOpCs* SPDE::getPrecisionOpCs ( int  i = 0) const
inline

◆ getProjMatrix()

const ProjMatrix* SPDE::getProjMatrix ( int  i = 0) const
inline

◆ operator=()

SPDE& SPDE::operator= ( const SPDE r)
delete

◆ setDriftCoeffs()

void SPDE::setDriftCoeffs ( const VectorDouble coeffs)

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