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§
Sourcefn step_counter(&self) -> usize
fn step_counter(&self) -> usize
§Counter
how many Entropic steps were performed until now?
Sourcefn total_steps_accepted(&self) -> usize
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
Sourcefn total_steps_rejected(&self) -> usize
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
Sourcefn log_density(&self) -> Vec<f64>
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
Provided Methods§
Sourcefn steps_total(&self) -> usize
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
Sourcefn fraction_accepted_total(&self) -> f64
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
Sourcefn fraction_rejected_total(&self) -> f64
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
Sourcefn is_finished(&self) -> bool
fn is_finished(&self) -> bool
§Checks wang landau threshold
log_f <= log_f_threshold
Sourcefn log_density_base10(&self) -> Vec<f64>
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
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.