pub struct MclmcChain<M, R, A, T>where
M: Math,
R: Rng,
T: Transformation<M>,
A: AdaptStrategy<M, Hamiltonian = TransformedHamiltonian<M, T>>,{ /* private fields */ }Expand description
Single-chain MCLMC sampler.
Implementations§
Source§impl<M, R, A, T> MclmcChain<M, R, A, T>
impl<M, R, A, T> MclmcChain<M, R, A, T>
Trait Implementations§
Source§impl<M, R, A, T> Chain<M> for MclmcChain<M, R, A, T>
impl<M, R, A, T> Chain<M> for MclmcChain<M, R, A, T>
type AdaptStrategy = A
Source§fn set_position(&mut self, position: &[f64]) -> Result<()>
fn set_position(&mut self, position: &[f64]) -> Result<()>
Initialize the sampler to a position. This should be called
before calling draw. Read more
Source§fn draw(&mut self) -> Result<(Box<[f64]>, Progress)>
fn draw(&mut self) -> Result<(Box<[f64]>, Progress)>
Draw a new sample and return the position and some diagnosic information.
fn expanded_draw( &mut self, ) -> Result<(Box<[f64]>, M::ExpandedVector, Self::Stats, Progress)>
fn math(&self) -> Ref<'_, M>
Source§impl<M, R, A, T> SamplerStats<M> for MclmcChain<M, R, A, T>
impl<M, R, A, T> SamplerStats<M> for MclmcChain<M, R, A, T>
type Stats = MclmcStats<StatsDims, <TransformedHamiltonian<M, T> as SamplerStats<M>>::Stats, <A as SamplerStats<M>>::Stats, <TransformedPoint<M> as SamplerStats<M>>::Stats>
type StatsOptions = StatOptions<M, A>
fn extract_stats( &self, math: &mut M, options: Self::StatsOptions, ) -> Self::Stats
Auto Trait Implementations§
impl<M, R, A, T> !Freeze for MclmcChain<M, R, A, T>
impl<M, R, A, T> !RefUnwindSafe for MclmcChain<M, R, A, T>
impl<M, R, A, T> !Send for MclmcChain<M, R, A, T>
impl<M, R, A, T> !Sync for MclmcChain<M, R, A, T>
impl<M, R, A, T> Unpin for MclmcChain<M, R, A, T>where
<A as AdaptStrategy<M>>::Collector: Unpin,
A: Unpin,
R: Unpin,
<M as Math>::Vector: Unpin,
T: Unpin,
<A as SamplerStats<M>>::StatsOptions: Unpin,
<T as SamplerStats<M>>::StatsOptions: Unpin,
M: Unpin,
impl<M, R, A, T> UnsafeUnpin for MclmcChain<M, R, A, T>where
<A as AdaptStrategy<M>>::Collector: UnsafeUnpin,
A: UnsafeUnpin,
R: UnsafeUnpin,
<M as Math>::Vector: UnsafeUnpin,
T: UnsafeUnpin,
<A as SamplerStats<M>>::StatsOptions: UnsafeUnpin,
<T as SamplerStats<M>>::StatsOptions: UnsafeUnpin,
M: UnsafeUnpin,
impl<M, R, A, T> !UnwindSafe for MclmcChain<M, R, A, T>
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