gstlearn  1.0.0
CCC
GibbsMMulti Class Reference

#include <GibbsMMulti.hpp>

Inheritance diagram for GibbsMMulti:
GibbsMulti AGibbs AStringable

Public Member Functions

 GibbsMMulti ()
 
 GibbsMMulti (Db *db, Model *model)
 
 GibbsMMulti (const GibbsMMulti &r)
 
GibbsMMultioperator= (const GibbsMMulti &r)
 
virtual ~GibbsMMulti ()
 
void update (VectorVectorDouble &y, int isimu, int ipgs, int iter) override
 
int covmatAlloc (bool verbose, bool verboseTimer=false) override
 
void setEps (double eps)
 
void setStoreTables (bool storeTables)
 
void cleanup () override
 
bool getFlagStoreInternal () const
 
void setFlagStoreInternal (bool flagStoreInternal)
 
- Public Member Functions inherited from GibbsMulti
 GibbsMulti ()
 
 GibbsMulti (Db *db, Model *model)
 
 GibbsMulti (const GibbsMulti &r)
 
GibbsMultioperator= (const GibbsMulti &r)
 
virtual ~GibbsMulti ()
 
int calculInitialize (VectorVectorDouble &y, int isimu, int ipgs)
 
double getSimulate (VectorVectorDouble &y, double yk, double sk, int ipgs, int ivar, int iact, int iter)
 
int checkGibbs (const VectorVectorDouble &y, int isimu, int ipgs)
 
ModelgetModel () const
 
- Public Member Functions inherited from AGibbs
 AGibbs ()
 
 AGibbs (Db *db)
 
 AGibbs (Db *db, int npgs, int nvar, int nburn, int niter, int seed, int flag_order, bool flag_decay)
 
 AGibbs (const AGibbs &r)
 
AGibbsoperator= (const AGibbs &r)
 
virtual ~AGibbs ()
 
virtual String toString (const AStringFormat *strfmt=nullptr) const override
 
virtual int run (VectorVectorDouble &y, int ipgs=0, int isimu=0, bool verbose=false, bool flagCheck=false)
 
void init (int npgs, int nvar, int nburn, int niter, int seed=3241, int flag_order=0, bool flag_decay=true)
 
void getBoundsDecay (int iter, double *vmin, double *vmax) const
 
int getNvar () const
 
void setNvar (int nvar)
 
int getNpgs () const
 
void setNpgs (int npgs)
 
int getNburn () const
 
void setNburn (int nburn)
 
int getNiter () const
 
void setNiter (int niter)
 
int getFlagOrder () const
 
void setFlagOrder (int flagOrder)
 
bool getOptionStats () const
 
void setOptionStats (int option_stats)
 
DbgetDb () const
 
int getDimension () const
 
int getRank (int ipgs, int ivar) const
 
VectorVectorDouble allocY () const
 
void storeResult (const VectorVectorDouble &y, int isimu, int ipgs)
 
int getSampleNumber () const
 
int getSampleRankNumber () const
 
int getSampleRank (int i) const
 
VectorInt calculateSampleRanks () const
 
void updateStats (const VectorVectorDouble &y, int ipgs, int iter, double amort=0.9)
 
bool isConstraintTight (int ipgs, int ivar, int iact, double *value) const
 
void statsInit ()
 
bool getFlagDecay () const
 
int getRelativeRank (int iech)
 
- 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
 

Private Member Functions

int _getVariableNumber () const
 
void _tableStore (int mode, const cs *Cmat)
 
void _getWeights (int iact0) const
 
int _calculateWeights (int iact0, double tol=EPSILON3) const
 
int _storeAllWeights (bool verbose=false)
 
int _getSizeOfWeights (const VectorDouble &weights) const
 
void _getEstimate (int ipgs0, int ivar0, int iact0, int icase, VectorVectorDouble &y, double *yk, double *vark) const
 

Private Attributes

cs * _Ln
 
VectorInt _Pn
 
double _eps
 
bool _storeTables
 
HDF5format _hdf5
 
bool _flagStoreInternal
 
VectorDouble _b
 
VectorDouble _x
 
VectorDouble _weights
 
VectorVectorDouble _areas
 

Additional Inherited Members

- Protected Member Functions inherited from AGibbs
int _boundsCheck (int ipgs, int ivar, int iact, double *vmin, double *vmax)
 
void _printInequalities (int iact, int ivar, double simval, double vmin, double vmax) const
 
int _getRowNumberStats () const
 
int _getColNumberStats () const
 
int _getColRankStats (int ipgs, int ivar, int mode) const
 
void _displayCurrentVector (bool flag_init, const VectorVectorDouble &y, int isimu, int ipgs) const
 
const int * _getRanks () const
 

Constructor & Destructor Documentation

◆ GibbsMMulti() [1/3]

GibbsMMulti::GibbsMMulti ( )

◆ GibbsMMulti() [2/3]

GibbsMMulti::GibbsMMulti ( Db db,
Model model 
)

◆ GibbsMMulti() [3/3]

GibbsMMulti::GibbsMMulti ( const GibbsMMulti r)

◆ ~GibbsMMulti()

GibbsMMulti::~GibbsMMulti ( )
virtual

Member Function Documentation

◆ _calculateWeights()

int GibbsMMulti::_calculateWeights ( int  iact0,
double  tol = EPSILON3 
) const
private

Calculate the set of (multivariate) weights for one given sample

Parameters
iact0Rank of the sample
tolTolerance below which weights are set to 0
Returns
Number of zero elements in the current vector

◆ _getEstimate()

void GibbsMMulti::_getEstimate ( int  ipgs0,
int  ivar0,
int  iact0,
int  icase,
VectorVectorDouble y,
double *  yk,
double *  vark 
) const
private

◆ _getSizeOfWeights()

int GibbsMMulti::_getSizeOfWeights ( const VectorDouble weights) const
private

◆ _getVariableNumber()

int GibbsMMulti::_getVariableNumber ( ) const
private

◆ _getWeights()

void GibbsMMulti::_getWeights ( int  iact0) const
private

◆ _storeAllWeights()

int GibbsMMulti::_storeAllWeights ( bool  verbose = false)
private

◆ _tableStore()

void GibbsMMulti::_tableStore ( int  mode,
const cs *  Cmat 
)
private

◆ cleanup()

void GibbsMMulti::cleanup ( )
overridevirtual

Reimplemented from AGibbs.

◆ covmatAlloc()

int GibbsMMulti::covmatAlloc ( bool  verbose,
bool  verboseTimer = false 
)
overridevirtual

Establish the covariance matrix for Gibbs

Returns
Error returned code
Parameters
[in]verboseVerbose flag
[in]verboseTimerTrue to show elapse times

Implements AGibbs.

◆ getFlagStoreInternal()

bool GibbsMMulti::getFlagStoreInternal ( ) const
inline

◆ operator=()

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

◆ setEps()

void GibbsMMulti::setEps ( double  eps)
inline

◆ setFlagStoreInternal()

void GibbsMMulti::setFlagStoreInternal ( bool  flagStoreInternal)

◆ setStoreTables()

void GibbsMMulti::setStoreTables ( bool  storeTables)
inline

◆ update()

void GibbsMMulti::update ( VectorVectorDouble y,
int  isimu,
int  ipgs,
int  iter 
)
overridevirtual

Perform one update of the Gibbs sampler

Parameters
[in]yGaussian Vector
[in]isimuRank of the simulation
[in]ipgsRank of the GS
[in]iterRank of the iteration

Implements AGibbs.

Member Data Documentation

◆ _areas

VectorVectorDouble GibbsMMulti::_areas
mutableprivate

◆ _b

VectorDouble GibbsMMulti::_b
mutableprivate

◆ _eps

double GibbsMMulti::_eps
private

◆ _flagStoreInternal

bool GibbsMMulti::_flagStoreInternal
private

◆ _hdf5

HDF5format GibbsMMulti::_hdf5
private

◆ _Ln

cs* GibbsMMulti::_Ln
private

◆ _Pn

VectorInt GibbsMMulti::_Pn
private

◆ _storeTables

bool GibbsMMulti::_storeTables
private

◆ _weights

VectorDouble GibbsMMulti::_weights
mutableprivate

◆ _x

VectorDouble GibbsMMulti::_x
mutableprivate

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