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

pub trait HeatBathDiagonalUpdater: DiagonalUpdater {
    pub fn make_heatbath_diagonal_update<'b, H: Hamiltonian<'b>>(
        &mut self,
        cutoff: usize,
        beta: f64,
        state: &[bool],
        hamiltonian: &H,
        bond_weights: &BondWeights
    ) { ... }
pub 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
    ) { ... }
pub 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
    ) { ... }
pub 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]
, { ... }
pub 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>> { ... } }

Heatbath updates for a diagonal updater.

Provided methods

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

Perform a single heatbath update.

pub 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]

Perform a single heatbath update.

pub 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]

Perform a single heatbath update.

pub 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]

Make the bond weights struct for this container.

pub 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]

Perform a single heatbath update.

Loading content...

Implementors

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

Loading content...