WLTM

class WLTM : public feasst::Bias

Begin with WangLandau and end with TransitionMatrix.[1] For the benefits of using WangLandau for initialization and TransitionMatrix for production convergence, see the Appendix of Shen and Siderius[2].

WLTM operates in the follow three stages.

  1. WangLandau only. With CriteriaWriter, WLTM writes both WangLandau and TransitionMatrix. At this stage, the LnProbability from WangLandau appears as ln_prob. Because TransitionMatrix has not been used yet, the bias appears as all zeros with the header of ln_prob_tm.

  2. When the WangLandau flatness reaches collect_flatness, the CollectrionMatrix begins to update with each trial move, but the bias is still based off of WangLandau.

  3. When the WangLandau flatness reaches min_flatness, and the number of CollectionMatrix sweeps is greater than min_collect_sweeps, then the bias switches to TransitionMatrix. Writh CriteriaWriter, the TransitionMatrix LnProbability appears as ln_prob, while the WangLandau bias appears as ln_prob_wl.

References:

Public Functions

void update(const int macrostate_old, const int macrostate_new, const double ln_metropolis_prob, const bool is_accepted, const bool is_endpoint, const Macrostate &macro)

Update only.

int cycles_to_complete() const

Updates min_sweeps, but neither flatness.

void set_cycles_to_complete(const int cycle)

Set the number of cycles required for completion.

const LnProbability &ln_prob() const

The natural log of the macrostate probability.

void infrequent_update(const Macrostate &macro)

Perform an infrequent update to the bias.

void set_ln_prob(const LnProbability &ln_prob)

Set the macrostate probability distribution.

Arguments