gstlearn  1.0.0
CCC
GibbsUPropMono Class Reference

#include <GibbsUPropMono.hpp>

Inheritance diagram for GibbsUPropMono:
GibbsMultiMono AGibbs AStringable

Public Member Functions

 GibbsUPropMono ()
 
 GibbsUPropMono (Db *db, std::vector< Model * > models, double rho)
 
 GibbsUPropMono (const GibbsUPropMono &r)
 
GibbsUPropMonooperator= (const GibbsUPropMono &r)
 
virtual ~GibbsUPropMono ()
 
void update (VectorVectorDouble &y, int isimu, int ipgs, int iter) override
 
int covmatAlloc (bool verbose, bool verboseTimer=false) override
 
double getEps () const
 
void setEps (double eps)
 
double getRval () const
 
void setRval (double rval)
 
- Public Member Functions inherited from GibbsMultiMono
 GibbsMultiMono ()
 
 GibbsMultiMono (Db *db, std::vector< Model * > models, double rho)
 
 GibbsMultiMono (const GibbsMultiMono &r)
 
GibbsMultiMonooperator= (const GibbsMultiMono &r)
 
virtual ~GibbsMultiMono ()
 
ModelgetModels (int ivar) const
 
double getRho () const
 
int getVariableNumber () const
 
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)
 
- 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)
 
virtual void cleanup ()
 
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 Attributes

double _rval
 
double _eps
 

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
 

Detailed Description

This class is designated for Gibbs with the following properties

  • Unique (absent) Neighborhood
  • Monovariate case only
  • Propagation algorithm (no need to establish and invert Covariance matrix)
  • No bound provided

Constructor & Destructor Documentation

◆ GibbsUPropMono() [1/3]

GibbsUPropMono::GibbsUPropMono ( )

◆ GibbsUPropMono() [2/3]

GibbsUPropMono::GibbsUPropMono ( Db db,
std::vector< Model * >  models,
double  rho 
)

◆ GibbsUPropMono() [3/3]

GibbsUPropMono::GibbsUPropMono ( const GibbsUPropMono r)

◆ ~GibbsUPropMono()

GibbsUPropMono::~GibbsUPropMono ( )
virtual

Member Function Documentation

◆ covmatAlloc()

int GibbsUPropMono::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.

◆ getEps()

double GibbsUPropMono::getEps ( ) const
inline

◆ getRval()

double GibbsUPropMono::getRval ( ) const
inline

◆ operator=()

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

◆ setEps()

void GibbsUPropMono::setEps ( double  eps)
inline

◆ setRval()

void GibbsUPropMono::setRval ( double  rval)
inline

◆ update()

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

Perform one update of the Gibbs sampler (Propagative algorithm)

Parameters
[in]yGaussian vector
[in]isimuRank of the simulation
[in]ipgsRank of the GS (should be 0)
[in]iterRank of the iteration

Implements AGibbs.

Member Data Documentation

◆ _eps

double GibbsUPropMono::_eps
private

◆ _rval

double GibbsUPropMono::_rval
private

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