[][src]Trait qmc::sse::qmc_traits::qmc_stepper::QMCStepper

pub trait QMCStepper {
    pub fn timestep(&mut self, beta: f64) -> &[bool];
pub fn get_n(&self) -> usize;
pub fn get_energy_for_average_n(&self, average_n: f64, beta: f64) -> f64;
pub fn state_ref(&self) -> &[bool]; pub fn timesteps(&mut self, t: usize, beta: f64) -> f64 { ... }
pub fn timesteps_sample(
        &mut self,
        t: usize,
        beta: f64,
        sampling_freq: Option<usize>
    ) -> (Vec<Vec<bool>>, f64) { ... }
pub fn timesteps_sample_iter<F>(
        &mut self,
        t: usize,
        beta: f64,
        sampling_freq: Option<usize>,
        iter_fn: F
    ) -> f64
    where
        F: Fn(&[bool])
, { ... }
pub fn timesteps_sample_iter_zip<F, I, T>(
        &mut self,
        t: usize,
        beta: f64,
        sampling_freq: Option<usize>,
        zip_with: I,
        iter_fn: F
    ) -> f64
    where
        F: Fn(T, &[bool]),
        I: IntoIterator<Item = T>
, { ... }
pub fn timesteps_measure<F, T>(
        &mut self,
        timesteps: usize,
        beta: f64,
        init_t: T,
        state_fold: F,
        sampling_freq: Option<usize>
    ) -> (T, f64)
    where
        F: Fn(T, &[bool]) -> T
, { ... } }

Provides helpers to structs which take QMC timesteps.

Required methods

pub fn timestep(&mut self, beta: f64) -> &[bool][src]

Take a single QMC step and return a reference to the state

pub fn get_n(&self) -> usize[src]

Get the current number of operators in the graph

pub fn get_energy_for_average_n(&self, average_n: f64, beta: f64) -> f64[src]

Get the average energy given the average number of ops and beta.

pub fn state_ref(&self) -> &[bool][src]

Get a reference to the state.

Loading content...

Provided methods

pub fn timesteps(&mut self, t: usize, beta: f64) -> f64[src]

Take t qmc timesteps at beta.

pub fn timesteps_sample(
    &mut self,
    t: usize,
    beta: f64,
    sampling_freq: Option<usize>
) -> (Vec<Vec<bool>>, f64)
[src]

Take t qmc timesteps at beta and sample states.

pub fn timesteps_sample_iter<F>(
    &mut self,
    t: usize,
    beta: f64,
    sampling_freq: Option<usize>,
    iter_fn: F
) -> f64 where
    F: Fn(&[bool]), 
[src]

Take t qmc timesteps at beta and sample states, apply f to each.

pub fn timesteps_sample_iter_zip<F, I, T>(
    &mut self,
    t: usize,
    beta: f64,
    sampling_freq: Option<usize>,
    zip_with: I,
    iter_fn: F
) -> f64 where
    F: Fn(T, &[bool]),
    I: IntoIterator<Item = T>, 
[src]

Take t qmc timesteps at beta and sample states, apply f to each and the zipped iterator.

pub fn timesteps_measure<F, T>(
    &mut self,
    timesteps: usize,
    beta: f64,
    init_t: T,
    state_fold: F,
    sampling_freq: Option<usize>
) -> (T, f64) where
    F: Fn(T, &[bool]) -> T, 
[src]

Take t qmc timesteps at beta and sample states, fold across states and output results.

Loading content...

Implementors

impl<R, M> QMCStepper for QMCIsingGraph<R, M> where
    R: Rng,
    M: IsingManager
[src]

pub fn timestep(&mut self, beta: f64) -> &[bool][src]

Perform a single step of qmc.

impl<R, M> QMCStepper for QMC<R, M> where
    R: Rng,
    M: QMCManager
[src]

Loading content...