gstlearn
0.3.3
CCC
|
#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, bool verbose=false) | |
SPDE (const SPDE &r)=delete | |
SPDE & | operator= (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 |
double | computeProfiledLogLike (int nbsimu=1, int seed=131323) const |
VectorDouble | getCoeffs () |
void | setDriftCoeffs (VectorDouble coeffs) |
void | setEps (double eps) |
void | setNIterMax (int nitermax) |
const PrecisionOpCs * | getPrecisionOp (int i=0) const |
const ProjMatrix * | getProjMatrix (int i=0) const |
const PrecisionOpMultiConditional * | getPrecisionKriging () const |
const AMesh * | getKrigingMeshing (int i=0) const |
const AMesh * | getSimuMeshing (int i=0) const |
const Db * | getData () const |
void | setRefineK (int refineK) |
void | setRefineS (int refineS) |
void | setBorder (int border) |
Static Public Member Functions | |
static SPDE * | create (Model *model, const Db *domain, const Db *data=nullptr, const ESPDECalcMode &calcul=ESPDECalcMode::fromKey("SIMUCOND"), const AMesh *mesh=nullptr, bool verbose=false) |
Private Member Functions | |
int | _init (Model *model, const Db *domain, const Db *data=nullptr, const ESPDECalcMode &calcul=ESPDECalcMode::fromKey("SIMUCOND"), const AMesh *mesh=nullptr, bool verbose=false) |
void | _centerByDrift (const VectorDouble &dataVect, int ivar=0, bool useSel=true) const |
void | _computeDriftCoeffs () const |
void | _purge () |
bool | _performSimulation () const |
bool | _performKriging () const |
void | _computeLk () const |
void | _computeKriging () const |
void | _computeSimuNonCond () const |
void | _computeSimuCond () const |
void | _addNuggetOnResult (VectorDouble &result) |
void | _addDrift (Db *db, VectorDouble &result, int ivar=0, bool useSel=true) |
bool | _useCholesky () const |
Private Attributes | |
const Db * | _data |
ESPDECalcMode | _calcul |
int | _refineK |
int | _refineS |
int | _border |
PrecisionOpMultiConditional * | _precisionsKriging |
PrecisionOpMultiConditional * | _precisionsSimu |
std::vector< PrecisionOp * > | _pilePrecisions |
std::vector< ProjMatrix * > | _pileProjMatrix |
std::vector< const AMesh * > | _simuMeshing |
std::vector< const AMesh * > | _krigingMeshing |
VectorDouble | _driftCoeffs |
Model * | _model |
VectorVectorDouble | _workKriging |
VectorVectorDouble | _workingSimu |
VectorDouble | _workingData |
VectorDouble | _workingDataInit |
std::vector< ProjMatrix * > | _projOnDbOut |
VectorInt | _adressesICov |
double | _nugget |
VectorVectorDouble | _driftTab |
bool | _requireCoeffs |
bool | _isCoeffsComputed |
bool | _deleteMesh |
int | _nIterMax |
double | _eps |
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:
SPDE::SPDE | ( | Model * | model, |
const Db * | domain, | ||
const Db * | data = nullptr , |
||
const ESPDECalcMode & | calcul = ESPDECalcMode::fromKey("SIMUCOND") , |
||
const AMesh * | meshUser = nullptr , |
||
bool | verbose = false |
||
) |
The class constructor with the following arguments:
model | This compulsory argument is a LMC of Matern's (or Markov?) basic structures with possibly a nugget effect |
domain | The Db defining the space dimension and spatial limits where the SPDE model is defined |
data | The Db containing the data for conditioning (optional) |
calcul | Option from ESPDECalcMode |
meshUser | The mesh for the discretization of the domain |
verbose | Verbose flag |
Either Domain or a Mesh can be provided:
The domain or the mesh should have the same spatial reference (ndim, manifold) than the model.
|
delete |
|
virtual |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
Perform one conditional simulation on internal meshing The results (for each covariance item) are stored in _workingSimu'
|
private |
Perform one non-conditional simulation on internal meshing The results (for each covariance item) are stored in _workingSimu
|
private |
|
private |
|
private |
|
private |
|
private |
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 |
double SPDE::computeProfiledLogLike | ( | int | nbsimu = 1 , |
int | seed = 131323 |
||
) | const |
double SPDE::computeQuad | ( | ) | const |
|
static |
VectorDouble SPDE::getCoeffs | ( | ) |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
void SPDE::setDriftCoeffs | ( | VectorDouble | coeffs | ) |
|
inline |
|
inline |
|
inline |
|
inline |
|
private |
|
private |
|
private |
|
private |
|
private |
|
mutableprivate |
|
private |
|
private |
|
mutableprivate |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
mutableprivate |
|
mutableprivate |
|
mutableprivate |
|
mutableprivate |