|
| enum | |
| |
|
typedef Rng_ | Rng |
| | Random number generator type (see C++ std::random)
|
| |
|
typedef MHWalker_ | MHWalker |
| | The random walker type which knows about the state space and jump function.
|
| |
|
typedef MHRWStatsCollector_ | MHRWStatsCollector |
| | The stats collector type (see MHRWStatsCollector Interface)
|
| |
|
typedef LoggerType_ | LoggerType |
| | The logger type (see Logging and Loggers)
|
| |
|
typedef CountIntType_ | CountIntType |
| | The type used for counting numbers of iterations (see, e.g. n_sweep())
|
| |
|
typedef MHWalker::PointType | PointType |
| | The type of a point in the random walk.
|
| |
|
typedef MHWalker::RealScalar | RealScalar |
| | The type of a step size of the random walk.
|
| |
|
typedef _FnValueType | FnValueType |
| | The type of the Metropolis-Hastings function value. (See class documentation)
|
| |
|
|
| MHRandomWalk (CountIntType n_sweep, CountIntType n_therm, CountIntType n_run, RealScalar step_size, MHWalker &mhwalker, MHRWStatsCollector &stats, Rng &rng, LoggerType &logger_) |
| | Simple constructor, initializes the given fields.
|
| |
|
CountIntType | n_sweep () const |
| | Required for RandomWalk Interface. Number of iterations in a sweep.
|
| |
|
CountIntType | n_therm () const |
| | Required for RandomWalk Interface. Number of thermalizing sweeps.
|
| |
|
CountIntType | n_run () const |
| | Required for RandomWalk Interface. Number of live run sweeps.
|
| |
|
RealScalar | step_size () const |
| | Get the step size of the random walk.
|
| |
|
void | init () |
| | Required for RandomWalk Interface. Resets counts and relays to the MHWalker and the MHRWStatsCollector.
|
| |
|
void | thermalizing_done () |
| | Required for RandomWalk Interface. Relays to the MHWalker and the MHRWStatsCollector.
|
| |
|
void | done () |
| | Required for RandomWalk Interface. Relays to the MHWalker and the MHRWStatsCollector.
|
| |
| const PointType & | get_curpt () const |
| | Access the current state of the random walk. More...
|
| |
| const FnValueType & | get_curptval () const |
| | Access the current function value of the random walk. More...
|
| |
| void | set_curpt (const PointType &pt) |
| | Force manual state of random walk. More...
|
| |
| void | move (CountIntType k, bool is_thermalizing, bool is_live_iter) |
| | Required for RandomWalk Interface. Processes a single move in the random walk. More...
|
| |
|
bool | has_acceptance_ratio () const |
| | Query whether we have any statistics about acceptance ratio. This is false, for example, during the thermalizing runs.
|
| |
|
template<typename RatioType = double> |
| RatioType | acceptance_ratio () const |
| | Return the acceptance ratio so far.
|
| |
|
void | process_sample (CountIntType k, CountIntType n) |
| | Required for RandomWalk Interface. Process a new live sample in the random walk. Relays the call to the MHRWStatsCollector (see MHRWStatsCollector Interface).
|
| |
|
void | run () |
| |
template<typename Rng_, typename MHWalker_, typename MHRWStatsCollector_, typename LoggerType_, typename CountIntType_ = unsigned int>
class Tomographer::MHRandomWalk< Rng_, MHWalker_, MHRWStatsCollector_, LoggerType_, CountIntType_ >
A Metropolis-Hastings Random Walk.
Implements a Metropolis-Hastings random walk. This takes care of accepting or rejecting a new point and taking samples.
The MHWalker is responsible for dealing with the state space, providing a new proposal point and calculating the function value at different points. See MHWalker Interface.
A MHRWStatsCollector takes care of collecting useful data during a random walk. It should be a type implementing a MHRWStatsCollector interface, see MHRWStatsCollector Interface.
Definition at line 303 of file mhrw.h.
template<typename Rng_, typename MHWalker_, typename MHRWStatsCollector_, typename LoggerType_, typename CountIntType_ = unsigned int>
Required for RandomWalk Interface. Processes a single move in the random walk.
This function gets a new move proposal from the MHWalker object, and calculates the a value, which tells us with which probability we should accept the move. This a value is calculated according to the documentation in Role of UseFnSyntaxType.
Definition at line 468 of file mhrw.h.
template<typename Rng_, typename MHWalker_, typename MHRWStatsCollector_, typename LoggerType_, typename CountIntType_ = unsigned int>
Force manual state of random walk.
This may be called to force setting the current state of the random walk to the given point pt.
Definition at line 452 of file mhrw.h.