KJB
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Member Functions | List of all members
Annealing_mh_step< Model, Proposer > Class Template Reference

#include <sample_annealing.h>

Inheritance diagram for Annealing_mh_step< Model, Proposer >:
Basic_mh_step< Model, Proposer > Abstract_mh_step< Model, Proposer >

Public Member Functions

 Annealing_mh_step (const Target_distribution &log_target, const Proposer &proposer)
 
 Annealing_mh_step (const Annealing_mh_step< Model, Proposer > &step)
 Copy-constructor. More...
 
Annealing_mh_stepoperator= (const Annealing_mh_step< Model, Proposer > &step)
 Assignment. More...
 
void set_temperature (double T)
 
- Public Member Functions inherited from Basic_mh_step< Model, Proposer >
 Basic_mh_step (const Target_distribution &log_target, const Proposer &proposer)
 Initializes target and proposer functors (or functions) to the given arguments. More...
 
virtual ~Basic_mh_step ()
 Initializes target and proposer functors (or functions) to the given arguments. More...
 
virtual Mh_proposal_result propose (const Model &m, Model &m_p) const
 Assignment. More...
 
virtual double l_target (const Model &m) const
 Evaluate the log-target distribution for the given model. More...
 
void set_target (const Target_distribution &target)
 
void record_extra (bool enable)
 
void set_temperature (double T)
 
virtual double get_temperature () const
 
- Public Member Functions inherited from Abstract_mh_step< Model, Proposer >
 BOOST_CONCEPT_ASSERT ((BaseModel< Model >))
 
Step_log< Model > run_step (Model &m, double lt_m, double &accept_prob, boost::optional< Model & > proposed_state_out=boost::none) const
 Runs a step of Metropolis-Hastings on a model m. More...
 
virtual Step_log< Model > operator() (Model &m, double lt_m) const
 Runs a step of Metropolis-Hastings on a model m. More...
 
virtual ~Abstract_mh_step ()
 
virtual void on_accept () const
 
virtual void on_reject () const
 

Additional Inherited Members

- Public Types inherited from Basic_mh_step< Model, Proposer >
typedef Abstract_mh_step
< Model, Proposer
Parent
 
typedef Parent::Target_distribution Target_distribution
 
typedef Proposer Proposer
 
- Public Types inherited from Abstract_mh_step< Model, Proposer >
typedef Model_evaluator< Model >
::Type 
Target_distribution
 
- Protected Member Functions inherited from Basic_mh_step< Model, Proposer >
virtual bool record_extra () const
 
Proposerget_proposer_ ()
 
- Protected Attributes inherited from Basic_mh_step< Model, Proposer >
Target_distribution m_log_target
 
Proposer m_proposer
 
double m_temperature
 
bool m_record_extra
 
- Protected Attributes inherited from Abstract_mh_step< Model, Proposer >
boost::optional< Model > tmp_model_
 

Detailed Description

template<typename Model, typename Proposer = typename Mh_model_proposer<Model>::Type>
class Annealing_mh_step< Model, Proposer >

Same as Basic_mh_sampler, but adds a public set_temperature() method, which affects the accept/reject rate.

Proposer must comply with the Annealable concept, i.e. the "set_temperature()" method must be available. Non-annealing proposers can be wrapped with Annealing_proposer_wrapper, which implements a null set_temperature method.

Constructor & Destructor Documentation

template<typename Model, typename Proposer = typename Mh_model_proposer<Model>::Type>
Annealing_mh_step< Model, Proposer >::Annealing_mh_step ( const Target_distribution &  log_target,
const Proposer proposer 
)
inline
template<typename Model, typename Proposer = typename Mh_model_proposer<Model>::Type>
Annealing_mh_step< Model, Proposer >::Annealing_mh_step ( const Annealing_mh_step< Model, Proposer > &  step)
inline

Copy-constructor.

Member Function Documentation

template<typename Model, typename Proposer = typename Mh_model_proposer<Model>::Type>
Annealing_mh_step& Annealing_mh_step< Model, Proposer >::operator= ( const Annealing_mh_step< Model, Proposer > &  step)
inline

Assignment.

template<typename Model, typename Proposer = typename Mh_model_proposer<Model>::Type>
void Annealing_mh_step< Model, Proposer >::set_temperature ( double  T)
inline

Set annealing temperature of step and proposer


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