1.4.0
CCC
 
SPDE.hpp File Reference
#include "gstlearn_export.hpp"
#include "geoslib_define.h"
#include "Enum/ESPDECalcMode.hpp"
#include "API/SPDEParam.hpp"
#include "LinearOp/PrecisionOpCs.hpp"
#include "LinearOp/PrecisionOpMultiConditional.hpp"

Classes

class  SPDE
 

Functions

GSTLEARN_EXPORT int krigingSPDE (Db *dbin, Db *dbout, Model *model, bool flag_est=true, bool flag_std=false, const AMesh *mesh=nullptr, int useCholesky=-1, const SPDEParam &params=SPDEParam(), int nbMC=10, int seed=42331, bool verbose=false, bool showStats=false, const NamingConvention &namconv=NamingConvention("KrigingSPDE"))
 
GSTLEARN_EXPORT int simulateSPDE (Db *dbin, Db *dbout, Model *model, int nbsimu=1, const AMesh *mesh=nullptr, int useCholesky=-1, const SPDEParam &params=SPDEParam(), int seed=121423, bool verbose=false, bool showStats=false, const NamingConvention &namconv=NamingConvention("SimuSPDE"))
 
GSTLEARN_EXPORT double logLikelihoodSPDE (Db *dbin, Db *dbout, Model *model, const AMesh *mesh=nullptr, int useCholesky=-1, int nbsimu=1, int seed=131323, const SPDEParam &params=SPDEParam(), bool verbose=false)
 
GSTLEARN_EXPORT MatrixSparsebuildInvNugget (Db *dbin, Model *model, const SPDEParam &params=SPDEParam())
 

Function Documentation

◆ buildInvNugget()

GSTLEARN_EXPORT MatrixSparse* buildInvNugget ( Db db,
Model model,
const SPDEParam params 
)

Build the inverse of the Nugget Effect matrix It is established for:

  • the number of variables defined in 'dbin' (and in 'Model')
  • the active samples of 'dbin'
  • the samples where Z-variable (and possibly V-variable) is defined
Parameters
dbInput Db structure
modelInput Model structure
paramsA structure for ruling the parameters of SPDE

◆ krigingSPDE()

GSTLEARN_EXPORT int krigingSPDE ( Db dbin,
Db dbout,
Model model,
bool  flag_est,
bool  flag_std,
const AMesh mesh,
int  useCholesky,
const SPDEParam params,
int  nbMC,
int  seed,
bool  verbose,
bool  showStats,
const NamingConvention namconv 
)

Perform the estimation by KRIGING under the SPDE framework

Parameters
dbinInput Db (must contain the variable to be estimated)
dboutOutput Db where the estimation must be performed
modelModel definition
flag_estTrue for the estimation
flag_stdTrue for the standard deviation of estimation error
meshMesh description (optional)
useCholeskyDefine the choice regarding Cholesky
paramsSet of parameters
nbMCNumber of Monte-Carlo simulations used for variance calculation
seedSeed used for the Random Number generator
verboseVerbose flag
showStatsShow statistics for Linear Operations
namconvNaming convention
Returns
Error return code
Remarks
You can provide an already existing mesh. Otherwise an optimal mesh will be created
internally: one per structure constituting the Model for Kriging.
Each mesh is created using the Turbo Meshing facility... based on an internal grid.
This internal grid is rotated according to the rotation of the structure. Its mesh size
is derived from the range (per direction) by dividing it by the refinement factor.
Note that switching 'flag_std' to ON implies that 'flag_est' is ON.

◆ logLikelihoodSPDE()

GSTLEARN_EXPORT double logLikelihoodSPDE ( Db dbin,
Db dbout,
Model model,
const AMesh mesh = nullptr,
int  useCholesky = -1,
int  nbsimu = 1,
int  seed = 131323,
const SPDEParam params = SPDEParam(),
bool  verbose = false 
)

◆ simulateSPDE()

GSTLEARN_EXPORT int simulateSPDE ( Db dbin,
Db dbout,
Model model,
int  nbsimu,
const AMesh mesh,
int  useCholesky,
const SPDEParam params,
int  seed,
bool  verbose,
bool  showStats,
const NamingConvention namconv 
)

Perform simulations under the SPDE framework

Parameters
dbinInput Db. If defined, the simulations are conditional; non conditional otherwise
dboutOutput Db where the simulations must be performed
modelModel definition
nbsimuNumber of simulations
meshMesh description (optional)
useCholeskyDefine the choice regarding Cholesky
paramsSet of parametes
seedSeed used for the Random Number generator
verboseVerbose flag
showStatsShow statistics for Linear Operations
namconvNaming convention
Returns
Error return code
Remarks
You can provide an already existing mesh. Otherwise an optimal mesh will be created
internally: one per structure constituting the Model for Kriging and one for Simulating
Each mesh is created using the Turbo Meshing facility... based on an internal grid.
This internal grid is rotated according to the rotation of the structure. Its mesh size
is derived from the range (per direction) by dividing it by the refinement factor.