Struct qmc::sse::qmc_ising::QmcIsingGraph [−][src]
pub struct QmcIsingGraph<R: Rng, M: IsingManager> { /* fields omitted */ }
Expand description
A container to run QMC simulations.
Implementations
Make a new QMC graph with an rng instance and a function to construct the op manager from the number of variables and number of interactions / bonds.
Make a new QMC graph with an rng instance.
pub fn new_from_graph<Rg: Rng>(
graph: GraphState<Rg>,
transverse: f64,
longitudinal: f64,
cutoff: usize
) -> QmcIsingGraph<Rg, M>
pub fn new_from_graph<Rg: Rng>(
graph: GraphState<Rg>,
transverse: f64,
longitudinal: f64,
cutoff: usize
) -> QmcIsingGraph<Rg, M>
Make a new QMC graph with an rng instance.
Make the hamiltonian struct.
Evaluate the hamiltonian using the HamInfo for the graph.
Take a single diagonal step.
Take a single cluster step and return the number of cluster found.
Perform a single rvb step and return the number of successes and attempts.
Enable or disable automatic rvb steps. Errors if all js not equal magnitude.
Enable heatbath diagonal updates.
Print debug output.
Get a mutable reference to the state at p=0 (can break integrity)
Clone the state at p=0.
Get the transverse field on the system.
Get the longitudinal field on the system.
Get the cutoff used for qmc calculations (pmax).
Set the cutoff.
Get a reference to the op manager.
Get a mutable reference to the op manager.
Get internal energy offset.
Check if two instances can safely swap managers and initial states
Swap managers and initial states
Average rvb success rate.
Trait Implementations
Performs the conversion.
type M = M
type M = M
The type of the debuggable manager.
The manager which can be debugged.
Count the number of diagonal and offdiagonal ops.
Count the number of constant ops.
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 QmcIsingGraph<R, M> where
M: RefUnwindSafe,
R: RefUnwindSafe,
impl<R, M> Send for QmcIsingGraph<R, M> where
M: Send,
R: Send,
impl<R, M> Sync for QmcIsingGraph<R, M> where
M: Sync,
R: Sync,
impl<R, M> Unpin for QmcIsingGraph<R, M> where
M: Unpin,
R: Unpin,
impl<R, M> UnwindSafe for QmcIsingGraph<R, M> where
M: UnwindSafe,
R: UnwindSafe,
Blanket Implementations
Mutably borrows from an owned value. Read more
pub fn vzip(self) -> V