Trait qmc::sse::qmc_traits::qmc_stepper::QmcStepper [−][src]
Provides helpers to structs which take QMC timesteps.
Required methods
fn timestep(&mut self, beta: f64) -> &[bool]
[src]
Take a single QMC step and return a reference to the state
fn get_n(&self) -> usize
[src]
Get the current number of operators in the graph
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.
fn state_ref(&self) -> &[bool]
[src]
Get a reference to the state.
fn get_bond_count(&self, bond: usize) -> usize
[src]
Get the number of a given bond
Provided methods
fn timesteps(&mut self, t: usize, beta: f64) -> f64
[src]
Take t qmc timesteps at beta.
fn timesteps_sample(
&mut self,
t: usize,
beta: f64,
sampling_freq: Option<usize>
) -> (Vec<Vec<bool>>, f64)
[src]
&mut self,
t: usize,
beta: f64,
sampling_freq: Option<usize>
) -> (Vec<Vec<bool>>, f64)
Take t qmc timesteps at beta and sample states.
fn timesteps_sample_iter<F>(
&mut self,
t: usize,
beta: f64,
sampling_freq: Option<usize>,
iter_fn: F
) -> f64 where
F: Fn(&[bool]),
[src]
&mut self,
t: usize,
beta: f64,
sampling_freq: Option<usize>,
iter_fn: F
) -> f64 where
F: Fn(&[bool]),
Take t qmc timesteps at beta and sample states, apply f to each.
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]
&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>,
Take t qmc timesteps at beta and sample states, apply f to each and the zipped iterator.
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]
&mut self,
timesteps: usize,
beta: f64,
init_t: T,
state_fold: F,
sampling_freq: Option<usize>
) -> (T, f64) where
F: Fn(T, &[bool]) -> T,
Take t qmc timesteps at beta and sample states, fold across states and output results.
fn timesteps_iter_zip_with_self<F, I, T>(
&mut self,
t: usize,
beta: f64,
sampling_freq: Option<usize>,
zip_with: I,
iter_fn: F
) -> f64 where
F: Fn(T, &Self),
I: IntoIterator<Item = T>,
[src]
&mut self,
t: usize,
beta: f64,
sampling_freq: Option<usize>,
zip_with: I,
iter_fn: F
) -> f64 where
F: Fn(T, &Self),
I: IntoIterator<Item = T>,
Take t qmc timesteps at beta and sample states, apply f to each and the zipped iterator.
fn timesteps_measure_with_self<F, T>(
&mut self,
timesteps: usize,
beta: f64,
init_t: T,
state_fold: F,
sampling_freq: Option<usize>
) -> (T, f64) where
F: Fn(T, &Self) -> T,
[src]
&mut self,
timesteps: usize,
beta: f64,
init_t: T,
state_fold: F,
sampling_freq: Option<usize>
) -> (T, f64) where
F: Fn(T, &Self) -> T,
Take t qmc timesteps at beta and sample states, fold across states and output results.
Implementors
impl<R, M> QmcStepper for QmcIsingGraph<R, M> where
R: Rng,
M: IsingManager,
[src]
R: Rng,
M: IsingManager,
fn timestep(&mut self, beta: f64) -> &[bool]
[src]
Perform a single step of qmc.
fn state_ref(&self) -> &[bool]
[src]
fn get_n(&self) -> usize
[src]
fn get_energy_for_average_n(&self, average_n: f64, beta: f64) -> f64
[src]
fn get_bond_count(&self, bond: usize) -> usize
[src]
impl<R, M> QmcStepper for Qmc<R, M> where
R: Rng,
M: QmcManager,
[src]
R: Rng,
M: QmcManager,