Move

Trait Move 

Source
pub trait Move<P>
where P: Params,
{ // Required method fn propose<'a, O, R>(&self, this: &'a P, other: O, rng: &mut R) -> (P, f64) where O: FnMut(&mut R) -> &'a P, R: Rng; }
Expand description

A move defines how new estimates of the model parameters are proposed

Required Methods§

Source

fn propose<'a, O, R>(&self, this: &'a P, other: O, rng: &mut R) -> (P, f64)
where O: FnMut(&mut R) -> &'a P, R: Rng,

Propose new estimates of the model parameters

The proposal is based on the current estimate this and optionally, randomly sampled estimates of other walkers.

In addition to the new estimate, a correction factor to be added to the difference of logarithmic probabilities can be returned.

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§

Source§

impl<P> Move<P> for DifferentialEvolution
where P: Params,

Source§

impl<P> Move<P> for RandomGaussian
where P: Params,

Source§

impl<P> Move<P> for Stretch
where P: Params,

Source§

impl<W, A, B, C, D, E, F, G, H, I, J, P> Move<P> for Mixture<W, (A, B, C, D, E, F, G, H, I, J)>
where W: AliasableWeight, P: Params, A: Move<P>, B: Move<P>, C: Move<P>, D: Move<P>, E: Move<P>, F: Move<P>, G: Move<P>, H: Move<P>, I: Move<P>, J: Move<P>,

Source§

impl<W, A, B, C, D, E, F, G, H, I, P> Move<P> for Mixture<W, (A, B, C, D, E, F, G, H, I)>
where W: AliasableWeight, P: Params, A: Move<P>, B: Move<P>, C: Move<P>, D: Move<P>, E: Move<P>, F: Move<P>, G: Move<P>, H: Move<P>, I: Move<P>,

Source§

impl<W, A, B, C, D, E, F, G, H, P> Move<P> for Mixture<W, (A, B, C, D, E, F, G, H)>
where W: AliasableWeight, P: Params, A: Move<P>, B: Move<P>, C: Move<P>, D: Move<P>, E: Move<P>, F: Move<P>, G: Move<P>, H: Move<P>,

Source§

impl<W, A, B, C, D, E, F, G, P> Move<P> for Mixture<W, (A, B, C, D, E, F, G)>
where W: AliasableWeight, P: Params, A: Move<P>, B: Move<P>, C: Move<P>, D: Move<P>, E: Move<P>, F: Move<P>, G: Move<P>,

Source§

impl<W, A, B, C, D, E, F, P> Move<P> for Mixture<W, (A, B, C, D, E, F)>
where W: AliasableWeight, P: Params, A: Move<P>, B: Move<P>, C: Move<P>, D: Move<P>, E: Move<P>, F: Move<P>,

Source§

impl<W, A, B, C, D, E, P> Move<P> for Mixture<W, (A, B, C, D, E)>
where W: AliasableWeight, P: Params, A: Move<P>, B: Move<P>, C: Move<P>, D: Move<P>, E: Move<P>,

Source§

impl<W, A, B, C, D, P> Move<P> for Mixture<W, (A, B, C, D)>
where W: AliasableWeight, P: Params, A: Move<P>, B: Move<P>, C: Move<P>, D: Move<P>,

Source§

impl<W, A, B, C, P> Move<P> for Mixture<W, (A, B, C)>
where W: AliasableWeight, P: Params, A: Move<P>, B: Move<P>, C: Move<P>,

Source§

impl<W, A, B, P> Move<P> for Mixture<W, (A, B)>
where W: AliasableWeight, P: Params, A: Move<P>, B: Move<P>,