pub struct Mixture<W, M>(/* private fields */)
where
W: AliasableWeight;Expand description
Combines multiple moves into a single mixture
Mixtures are constructed from tuples of (Move, Weight) pairs.
For each step, a single move is selected to determine the next proposal. The probability of selecting a given move is determined by its relative weight.
let move_ = Mixture::from((
(Stretch::default(), 2),
(RandomGaussian::new(1.0e-3), 1),
));
let (chain, accepted) = sample(&model, &move_, walkers, MinChainLen(100_000), Serial);Trait Implementations§
Source§impl<W, A, B, C> From<((A, W), (B, W), (C, W))> for Mixture<W, (A, B, C)>where
W: AliasableWeight,
impl<W, A, B, C> From<((A, W), (B, W), (C, W))> for Mixture<W, (A, B, C)>where
W: AliasableWeight,
Source§impl<W, A, B, C, D> From<((A, W), (B, W), (C, W), (D, W))> for Mixture<W, (A, B, C, D)>where
W: AliasableWeight,
impl<W, A, B, C, D> From<((A, W), (B, W), (C, W), (D, W))> for Mixture<W, (A, B, C, D)>where
W: AliasableWeight,
Source§impl<W, A, B, C, D, E> From<((A, W), (B, W), (C, W), (D, W), (E, W))> for Mixture<W, (A, B, C, D, E)>where
W: AliasableWeight,
impl<W, A, B, C, D, E> From<((A, W), (B, W), (C, W), (D, W), (E, W))> for Mixture<W, (A, B, C, D, E)>where
W: AliasableWeight,
Source§impl<W, A, B, C, D, E, F> From<((A, W), (B, W), (C, W), (D, W), (E, W), (F, W))> for Mixture<W, (A, B, C, D, E, F)>where
W: AliasableWeight,
impl<W, A, B, C, D, E, F> From<((A, W), (B, W), (C, W), (D, W), (E, W), (F, W))> for Mixture<W, (A, B, C, D, E, F)>where
W: AliasableWeight,
Source§impl<W, A, B, C, D, E, F, G> From<((A, W), (B, W), (C, W), (D, W), (E, W), (F, W), (G, W))> for Mixture<W, (A, B, C, D, E, F, G)>where
W: AliasableWeight,
impl<W, A, B, C, D, E, F, G> From<((A, W), (B, W), (C, W), (D, W), (E, W), (F, W), (G, W))> for Mixture<W, (A, B, C, D, E, F, G)>where
W: AliasableWeight,
Source§impl<W, A, B, C, D, E, F, G, H> From<((A, W), (B, W), (C, W), (D, W), (E, W), (F, W), (G, W), (H, W))> for Mixture<W, (A, B, C, D, E, F, G, H)>where
W: AliasableWeight,
impl<W, A, B, C, D, E, F, G, H> From<((A, W), (B, W), (C, W), (D, W), (E, W), (F, W), (G, W), (H, W))> for Mixture<W, (A, B, C, D, E, F, G, H)>where
W: AliasableWeight,
Source§impl<W, A, B, C, D, E, F, G, H, I> From<((A, W), (B, W), (C, W), (D, W), (E, W), (F, W), (G, W), (H, W), (I, W))> for Mixture<W, (A, B, C, D, E, F, G, H, I)>where
W: AliasableWeight,
impl<W, A, B, C, D, E, F, G, H, I> From<((A, W), (B, W), (C, W), (D, W), (E, W), (F, W), (G, W), (H, W), (I, W))> for Mixture<W, (A, B, C, D, E, F, G, H, I)>where
W: AliasableWeight,
Source§impl<W, A, B, C, D, E, F, G, H, I, J> From<((A, W), (B, W), (C, W), (D, W), (E, W), (F, W), (G, W), (H, W), (I, W), (J, W))> for Mixture<W, (A, B, C, D, E, F, G, H, I, J)>where
W: AliasableWeight,
impl<W, A, B, C, D, E, F, G, H, I, J> From<((A, W), (B, W), (C, W), (D, W), (E, W), (F, W), (G, W), (H, W), (I, W), (J, W))> for Mixture<W, (A, B, C, D, E, F, G, H, I, J)>where
W: AliasableWeight,
Source§impl<W, A, B, C, D, P> Move<P> for Mixture<W, (A, B, C, D)>
impl<W, A, B, C, D, P> Move<P> for Mixture<W, (A, B, C, D)>
Source§impl<W, A, B, C, D, E, P> Move<P> for Mixture<W, (A, B, C, D, E)>
impl<W, A, B, C, D, E, P> Move<P> for Mixture<W, (A, B, C, D, E)>
Source§impl<W, A, B, C, D, E, F, P> Move<P> for Mixture<W, (A, B, C, D, E, F)>
impl<W, A, B, C, D, E, F, P> Move<P> for Mixture<W, (A, B, C, D, E, F)>
Source§impl<W, A, B, C, D, E, F, G, P> Move<P> for Mixture<W, (A, B, C, D, E, F, G)>
impl<W, A, B, C, D, E, F, G, P> Move<P> for Mixture<W, (A, B, C, D, E, F, G)>
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)>
impl<W, A, B, C, D, E, F, G, H, P> Move<P> for Mixture<W, (A, B, C, D, E, F, G, H)>
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)>
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)>
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)>
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)>
Auto Trait Implementations§
impl<W, M> Freeze for Mixture<W, M>
impl<W, M> RefUnwindSafe for Mixture<W, M>
impl<W, M> Send for Mixture<W, M>
impl<W, M> Sync for Mixture<W, M>
impl<W, M> Unpin for Mixture<W, M>
impl<W, M> UnwindSafe for Mixture<W, M>
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more