[−][src]Trait qmc::sse::qmc_traits::qmc_stepper::QMCStepper
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.
pub fn get_bond_count(&self, bond: usize) -> usize
[src]
Get the number of a given bond
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]
&mut self,
t: usize,
beta: f64,
sampling_freq: Option<usize>
) -> (Vec<Vec<bool>>, f64)
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]
&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.
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]
&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.
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]
&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.
pub 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.
pub 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,
pub fn timestep(&mut self, beta: f64) -> &[bool]
[src]
Perform a single step of qmc.
pub fn state_ref(&self) -> &[bool]
[src]
pub fn get_n(&self) -> usize
[src]
pub fn get_energy_for_average_n(&self, average_n: f64, beta: f64) -> f64
[src]
pub 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,