[][src]Struct qmc::sse::qmc_ising::QMCIsingGraph

pub struct QMCIsingGraph<R: Rng, M: IsingManager> { /* fields omitted */ }

A container to run QMC simulations.

Implementations

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

pub fn new_with_rng<Rg: Rng>(
    edges: Vec<(Edge, f64)>,
    transverse: f64,
    longitudinal: f64,
    cutoff: usize,
    rng: Rg,
    state: Option<Vec<bool>>
) -> QMCIsingGraph<Rg, M>
[src]

Make a new QMC graph with an rng instance.

pub fn new_from_graph<Rg: Rng>(
    graph: GraphState,
    transverse: f64,
    longitudinal: f64,
    cutoff: usize,
    rng: Rg
) -> QMCIsingGraph<Rg, M>
[src]

Make a new QMC graph with an rng instance.

pub fn make_haminfo(&self) -> HamInfo<'_>[src]

Make the hamiltonian struct.

pub fn hamiltonian(
    info: &HamInfo<'_>,
    vars: &[usize],
    bond: usize,
    input_state: &[bool],
    output_state: &[bool]
) -> f64
[src]

Evaluate the hamiltonian using the HamInfo for the graph.

pub fn single_diagonal_step(&mut self, beta: f64)[src]

Take a single diagonal step.

pub fn single_offdiagonal_step(&mut self)[src]

Take a single offdiagonal step.

pub fn single_rvb_step(&mut self) -> Result<(), String>[src]

Perform a single rvb step.

pub fn set_run_rvb(&mut self, run_rvb: bool) -> Result<(), String>[src]

Enable or disable automatic rvb steps. Errors if all js not equal magnitude.

pub fn set_enable_heatbath(&mut self, enable_heatbath: bool)[src]

Enable heatbath diagonal updates.

pub fn print_debug(&self)[src]

Print debug output.

pub fn state_mut(&mut self) -> &mut Vec<bool>[src]

Get a mutable reference to the state at p=0 (can break integrity)

pub fn clone_state(&self) -> Vec<bool>[src]

Clone the state at p=0.

pub fn into_vec(self) -> Vec<bool>[src]

Convert the state to a vector.

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

Get the number of variables in the graph.

pub fn get_edges(&self) -> &[(Vec<usize>, f64)][src]

Get the edges on the graph

pub fn get_transverse_field(&self) -> f64[src]

Get the transverse field on the system.

pub fn get_longitudinal_field(&self) -> f64[src]

Get the longitudinal field on the system.

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

Get the cutoff used for qmc calculations (pmax).

pub fn set_cutoff(&mut self, cutoff: usize)[src]

Set the cutoff.

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

Get the number of ops in graph.

pub fn get_manager_ref(&self) -> &M[src]

Get a reference to the op manager.

pub fn get_manager_mut(&mut self) -> &mut M[src]

Get a mutable reference to the op manager.

pub fn get_offset(&self) -> f64[src]

Get internal energy offset.

pub fn can_swap_managers(&self, other: &Self) -> Result<(), String>[src]

Check if two instances can safely swap managers and initial states

pub fn swap_manager_and_state(&mut self, other: &mut Self)[src]

Swap managers and initial states

pub fn rvb_success_rate(&self) -> f64[src]

Average rvb success rate.

Trait Implementations

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

impl<R: Debug + Rng, M: Debug + IsingManager> Debug for QMCIsingGraph<R, M>[src]

impl<R, M> Into<QMC<R, M>> for QMCIsingGraph<R, M> where
    R: Rng,
    M: IsingManager + QMCManager
[src]

impl<R, M> IntoQMC<R, M> for QMCIsingGraph<R, M> where
    R: Rng,
    M: IsingManager + QMCManager
[src]

impl<R, M> QMCDebug for QMCIsingGraph<R, M> where
    R: Rng,
    M: IsingManager + DebugOps
[src]

type M = M

The type of the debuggable manager.

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> Verify for QMCIsingGraph<R, M> where
    R: Rng,
    M: IsingManager
[src]

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

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

impl<V, T> VZip<V> for T where
    V: MultiLane<T>,