Trait qmc::sse::qmc_traits::HeatBathDiagonalUpdater[][src]

pub trait HeatBathDiagonalUpdater: DiagonalUpdater {
    fn make_heatbath_diagonal_update<'b, H: Hamiltonian<'b>>(
        &mut self,
        cutoff: usize,
        beta: f64,
        state: &[bool],
        hamiltonian: &H,
        bond_weights: &BondWeights
    ) { ... }
fn make_heatbath_diagonal_update_with_rng<'b, H: Hamiltonian<'b>, R: Rng>(
        &mut self,
        cutoff: usize,
        beta: f64,
        state: &[bool],
        hamiltonian: &H,
        bond_weights: &BondWeights,
        rng: &mut R
    ) { ... }
fn make_heatbath_diagonal_update_with_rng_and_state_ref<'b, H: Hamiltonian<'b>, R: Rng>(
        &mut self,
        cutoff: usize,
        beta: f64,
        state: &mut [bool],
        hamiltonian: &H,
        bond_weights: &BondWeights,
        rng: &mut R
    ) { ... }
fn make_bond_weights<'b, H, E>(
        hamiltonian: H,
        num_bonds: usize,
        bonds_fn: E
    ) -> BondWeights
    where
        H: Fn(&[usize], usize, &[bool], &[bool]) -> f64,
        E: Fn(usize) -> &'b [usize]
, { ... }
fn heat_bath_single_diagonal_update<'b, H: Hamiltonian<'b>, R: Rng>(
        op: Option<&Self::Op>,
        cutoff: usize,
        n: usize,
        beta: f64,
        state: &mut [bool],
        hamiltonian_and_weights: (&H, &BondWeights),
        rng: &mut R
    ) -> Option<Option<Self::Op>> { ... } }
Expand description

Heatbath updates for a diagonal updater.

Provided methods

Perform a single heatbath update.

Perform a single heatbath update.

Perform a single heatbath update.

Make the bond weights struct for this container.

Perform a single heatbath update.

Implementors