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

fn make_heatbath_diagonal_update<'b, H: Hamiltonian<'b>>(
    &mut self,
    cutoff: usize,
    beta: f64,
    state: &[bool],
    hamiltonian: &H,
    bond_weights: &BondWeights
)
[src]

Expand description

Perform a single heatbath update.

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
)
[src]

Expand description

Perform a single heatbath update.

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
)
[src]

Expand description

Perform a single heatbath update.

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]
[src]

Expand description

Make the bond weights struct for this container.

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>>
[src]

Expand description

Perform a single heatbath update.

Implementors