Struct qmc::sse::qmc_runner::Qmc [−][src]
pub struct Qmc<R, M> where
R: Rng,
M: QmcManager, { /* fields omitted */ }
Expand description
A manager for QMC and interactions.
Implementations
Make a new QMC instance with nvars
.
Make a new QMC instance with nvars
.
Make a new QMC instance with nvars
. Allows hooking into manager construction with f
.
Get interactions.
Add an interaction to the QMC instance.
Add an interaction to the QMC instance, adjust with a diagonal offset.
Add an interaction to the QMC instance.
Add an interaction to the QMC instance, adjust with a diagonal offset.
Perform a single diagonal update.
Perform a single loop update. Will be inefficient without XX terms.
Flip spins using quantum cluster updates if QMC has ising symmetry.
Flip spins using thermal fluctuations.
Enable or disable the heatbath diagonal update.
Should the model do heatbath diagonal updates.
Change whether loop updates will be performed.
Should the model do loop updates.
Should the model do cluster updates.
Get the total energy offset.
Get a reference to the diagonal op manager.
Get the cutoff.
Set the cutoff to a new value
Set the cutoff to a new value so long as that new value is larger than the old one.
Check if two instances can safely swap managers and initial states
Swap managers and initial states
Clone the state at p=0.
Trait Implementations
Performs the conversion.
Take a single QMC step and return a reference to the state
Get the average energy given the average number of ops and beta.
Get the number of a given bond
Fold through imaginary time states.
Take t qmc timesteps at beta and sample states.
Take t qmc timesteps at beta and sample states, apply f to each.
Take t qmc timesteps at beta and sample states, apply f to each and the zipped iterator.
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>,
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>,
Take t qmc timesteps at beta and sample states, apply f to each and the zipped iterator.
Auto Trait Implementations
impl<R, M> RefUnwindSafe for Qmc<R, M> where
M: RefUnwindSafe,
R: RefUnwindSafe,
impl<R, M> UnwindSafe for Qmc<R, M> where
M: UnwindSafe,
R: UnwindSafe,
Blanket Implementations
Mutably borrows from an owned value. Read more