[][src]Trait qmc::sse::qmc_traits::rvb::RVBUpdater

pub trait RVBUpdater: DiagonalUpdater + Factory<Vec<usize>> + Factory<Vec<bool>> + Factory<BondContainer<usize>> {
    fn constant_ops_on_var(&self, var: usize, ps: &mut Vec<usize>);
fn spin_flips_on_var(&self, var: usize, ps: &mut Vec<usize>); fn rvb_update<R: Rng, EN: EdgeNavigator>(
        &mut self,
        edges: &EN,
        state: &mut [bool],
        rng: R
    ) -> (usize, bool) { ... }
fn get_up_to_n_contiguous_vars<R: Rng, EN: EdgeNavigator>(
        &self,
        n: usize,
        starting_var: usize,
        edges: &EN,
        selected_vars: &mut Vec<bool>,
        vars: &mut Vec<usize>,
        rng: R
    ) { ... } }

Resonating bond update.

Required methods

fn constant_ops_on_var(&self, var: usize, ps: &mut Vec<usize>)

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

fn spin_flips_on_var(&self, var: usize, ps: &mut Vec<usize>)

Fill ps with the p values of spin flips for a given var. An implementation by the same name is provided for LoopUpdaters

Loading content...

Provided methods

fn rvb_update<R: Rng, EN: EdgeNavigator>(
    &mut self,
    edges: &EN,
    state: &mut [bool],
    rng: R
) -> (usize, bool)

Perform a resonating bond update.

fn get_up_to_n_contiguous_vars<R: Rng, EN: EdgeNavigator>(
    &self,
    n: usize,
    starting_var: usize,
    edges: &EN,
    selected_vars: &mut Vec<bool>,
    vars: &mut Vec<usize>,
    rng: R
)

Get up to n contiguous variables by following bonds on edges.

Loading content...

Implementors

impl<O: Op + Clone> RVBUpdater for FastOpsTemplate<O>[src]

Loading content...