Entropic

Trait Entropic 

Source
pub trait Entropic {
    // Required methods
    fn step_counter(&self) -> usize;
    fn total_steps_accepted(&self) -> usize;
    fn total_steps_rejected(&self) -> usize;
    fn step_goal(&self) -> usize;
    fn log_density(&self) -> Vec<f64>;
    fn write_log<W: Write>(&self, writer: W) -> Result<(), Error>;

    // Provided methods
    fn steps_total(&self) -> usize { ... }
    fn fraction_accepted_total(&self) -> f64 { ... }
    fn fraction_rejected_total(&self) -> f64 { ... }
    fn is_finished(&self) -> bool { ... }
    fn log_density_base10(&self) -> Vec<f64> { ... }
    fn log_density_base(&self, base: f64) -> Vec<f64> { ... }
}
Expand description

§Traits for quantities that all Entropic simulations have

Required Methods§

Source

fn step_counter(&self) -> usize

§Counter

how many Entropic steps were performed until now?

Source

fn total_steps_accepted(&self) -> usize

§How many steps were accepted until now?
  • this includes steps, that were performed to find the estimate, i.e., during wang landau
Source

fn total_steps_rejected(&self) -> usize

§How many steps were rejected until now?
  • this includes steps, that were performed to find the estimate, i.e., during wang landau
Source

fn step_goal(&self) -> usize

§What is the goal to reach?
Source

fn log_density(&self) -> Vec<f64>

§Current (non normalized) estimate of ln(P(E))
  • i.e., of the natural logarithm of the probability density function for the requested interval
  • this is what we are doing the simulations for
Source

fn write_log<W: Write>(&self, writer: W) -> Result<(), Error>

Writes Information about the simulation to a file. E.g. How many steps were performed.

Provided Methods§

Source

fn steps_total(&self) -> usize

§Counter
  • how many markov steps were performed until now?
  • this includes steps, that were performed to find the estimate, i.e., during wang landau
Source

fn fraction_accepted_total(&self) -> f64

§Calculate, which fraction of steps were accepted
  • this includes steps, that were performed to find the estimate, i.e., during wang landau
  • if no steps were performed, it returns f64::NAN
Source

fn fraction_rejected_total(&self) -> f64

§Calculate, which fraction of steps were rejected
  • this includes steps, that were performed to find the estimate, i.e., during wang landau
  • if no steps were performed, it returns f64::NAN
Source

fn is_finished(&self) -> bool

§Checks wang landau threshold
  • log_f <= log_f_threshold
Source

fn log_density_base10(&self) -> Vec<f64>

§Current (non normalized) estimate of log10(P(E))
  • i.e., of logarithm with base 10 of the probability density function for the requested interval
  • this is what we are doing the simulations for
Source

fn log_density_base(&self, base: f64) -> Vec<f64>

§Current (non normalized) estimate of log_base(P(E))
  • i.e., of logarithm with arbitrary base of the probability density function for the requested interval
  • this is what we are doing the simulations for

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§

Source§

impl<Hist, R, E, S, Res, T> Entropic for EntropicSampling<Hist, R, E, S, Res, T>
where Hist: Histogram, R: Rng,

Source§

impl<Hist, R, E, S, Res, T> Entropic for EntropicSamplingAdaptive<Hist, R, E, S, Res, T>
where Hist: Histogram, R: Rng,