KJB
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Types | Public Member Functions | List of all members
Abstract_gibbs_step< Model > Class Template Referenceabstract

#include <sample_step.h>

Inheritance diagram for Abstract_gibbs_step< Model >:
Basic_gibbs_step< Model >

Public Types

typedef Model_evaluator< Model >
::Type 
Target_distribution
 
typedef Gibbs_model_proposer
< Model >::Type 
Proposer
 
typedef Model_dimension< Model >
::Type 
Get_dimension
 

Public Member Functions

 BOOST_CONCEPT_ASSERT ((BaseModel< Model >))
 
virtual const Target_distributionget_log_target () const =0
 Returns a reference to the target distribution. Returned object must comply with the ModelEvaluator concept. More...
 
virtual const Proposerget_proposer () const =0
 Returns a reference to the proposal mechanism. Returned object must comply with the GibbsModelProposer concept. More...
 
virtual const Get_dimensionget_dimension_function () const =0
 Returns a reference to a function that is used to obtain the dimension of the model. See Model_dimension for more info. More...
 
virtual Step_log< Model > operator() (Model &m, double lt_m) const
 Runs a step of Gibbs on a model m. More...
 
virtual ~Abstract_gibbs_step ()
 

Detailed Description

template<typename Model>
class Abstract_gibbs_step< Model >

Template Parameters
ModelThe model type. Must comply with BaseModel concept.

Abstract_gibbs_step is a functor that runs a single step of Gibbs sampling on a model.

This class implements the logic for one Gibbs algorithm step. A subclass need only define the model's target distribution and a proposal mechanism. That is, subclasses must implement get_log_target() and get_proposer().

Member Typedef Documentation

template<typename Model >
typedef Model_dimension<Model>::Type Abstract_gibbs_step< Model >::Get_dimension
template<typename Model >
typedef Gibbs_model_proposer<Model>::Type Abstract_gibbs_step< Model >::Proposer
template<typename Model >
typedef Model_evaluator<Model>::Type Abstract_gibbs_step< Model >::Target_distribution

Constructor & Destructor Documentation

template<typename Model >
virtual Abstract_gibbs_step< Model >::~Abstract_gibbs_step ( )
inlinevirtual

Member Function Documentation

template<typename Model >
Abstract_gibbs_step< Model >::BOOST_CONCEPT_ASSERT ( (BaseModel< Model >)  )
template<typename Model >
virtual const Get_dimension& Abstract_gibbs_step< Model >::get_dimension_function ( ) const
pure virtual

Returns a reference to a function that is used to obtain the dimension of the model. See Model_dimension for more info.

Implemented in Basic_gibbs_step< Model >.

template<typename Model >
virtual const Target_distribution& Abstract_gibbs_step< Model >::get_log_target ( ) const
pure virtual

Returns a reference to the target distribution. Returned object must comply with the ModelEvaluator concept.

Implemented in Basic_gibbs_step< Model >.

template<typename Model >
virtual const Proposer& Abstract_gibbs_step< Model >::get_proposer ( ) const
pure virtual

Returns a reference to the proposal mechanism. Returned object must comply with the GibbsModelProposer concept.

Implemented in Basic_gibbs_step< Model >.

template<class Model >
Step_log< Model > Abstract_gibbs_step< Model >::operator() ( Model &  m,
double  lt_m 
) const
virtual

Runs a step of Gibbs on a model m.

After this, m will hold the new state. Returns a structure describing the results of the step.


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