1.2.3
CCC
 
SPDE Class Reference

#include <SPDE.hpp>

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, 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, int seed=131351, const NamingConvention &namconv=NamingConvention("spde"))
 
double computeLogDet (int nbsimu=1, int seed=1234) const
 
double computeQuad () const
 
double computeLogLike (int nbsimu=1, int seed=131323) const
 
VectorDouble getCoeffs ()
 
void setDriftCoeffs (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, SPDEParam params=SPDEParam(), bool verbose=false, bool showStats=false)
 

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

Constructor & Destructor Documentation

SPDE::SPDE ( Model model,
const Db domain,
const Db data = nullptr,
const ESPDECalcMode &  calcul = ESPDECalcMode::fromKey("SIMUCOND"),
const AMesh meshUser = nullptr,
int  useCholesky = -1,
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::SPDE ( const SPDE r)
delete
SPDE::~SPDE ( )
virtual

Member Function Documentation

int SPDE::compute ( Db dbout,
int  nbsimu = 1,
int  seed = 131351,
const NamingConvention namconv = NamingConvention("spde") 
)
double SPDE::computeLogDet ( int  nbsimu = 1,
int  seed = 1234 
) const
double SPDE::computeLogLike ( int  nbsimu = 1,
int  seed = 131323 
) const

Calculate the Log-Likelihood profiling the Drift parameters

double SPDE::computeQuad ( ) const
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,
SPDEParam  params = SPDEParam(),
bool  verbose = false,
bool  showStats = false 
)
static
VectorDouble SPDE::getCoeffs ( )
const Db* SPDE::getData ( ) const
inline
const AMesh* SPDE::getMeshingKrig ( int  i = 0) const
inline
const AMesh* SPDE::getMeshingSimu ( int  i = 0) const
inline
const PrecisionOpMultiConditional* SPDE::getPrecisionKrig ( ) const
inline
const PrecisionOpCs* SPDE::getPrecisionOpCs ( int  i = 0) const
inline
const ProjMatrix* SPDE::getProjMatrix ( int  i = 0) const
inline
SPDE& SPDE::operator= ( const SPDE r)
delete
void SPDE::setDriftCoeffs ( VectorDouble  coeffs)

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