[−][src]Trait qmc::sse::qmc_traits::rvb::RVBUpdater
Resonating bond update.
Required methods
pub fn constant_ops_on_var(&self, var: usize, ps: &mut Vec<usize>)
[src]
Fill ps
with the p values of constant (Hij=k) ops for a given var.
An implementation by the same name is provided for LoopUpdaters
pub fn spin_flips_on_var(&self, var: usize, ps: &mut Vec<usize>)
[src]
Fill ps
with the p values of spin flips for a given var.
An implementation by the same name is provided for LoopUpdaters
Provided methods
pub fn rvb_update<R: Rng, EN: EdgeNavigator, H>(
&mut self,
edges: &EN,
state: &mut [bool],
updates: usize,
diagonal_edge_hamiltonian: H,
rng: &mut R
) -> usize where
H: Fn(usize, bool, bool) -> f64,
[src]
&mut self,
edges: &EN,
state: &mut [bool],
updates: usize,
diagonal_edge_hamiltonian: H,
rng: &mut R
) -> usize where
H: Fn(usize, bool, bool) -> f64,
Perform a resonating bond update.
edges
lists all the 2-site bonds which define the lattice.
state
is the propagated state at time 0.
updates
is the number of updated to perform.
diagonal_edge_hamiltonian
gives the weight of a diagonal edge given a spin state.
rng
prng instance to use.
pub fn rvb_update_with_ising_weight<R: Rng, EN: EdgeNavigator, H, F>(
&mut self,
edges: &EN,
state: &mut [bool],
updates: usize,
diagonal_edge_hamiltonian: H,
ising_ratio: F,
rng: &mut R
) -> usize where
H: Fn(usize, bool, bool) -> f64,
F: Fn(&Self::Op) -> f64,
[src]
&mut self,
edges: &EN,
state: &mut [bool],
updates: usize,
diagonal_edge_hamiltonian: H,
ising_ratio: F,
rng: &mut R
) -> usize where
H: Fn(usize, bool, bool) -> f64,
F: Fn(&Self::Op) -> f64,
Perform a resonating bond update.
edges
lists all the 2-site bonds which define the lattice.
state
is the propagated state at time 0.
updates
is the number of updated to perform.
diagonal_edge_hamiltonian
gives the weight of a diagonal edge given a spin state.
ising_ratio
provides the weight ratio of a node after a global ising flip to current.
rng
prng instance to use.