pub trait Chain {
type Hamiltonian: Hamiltonian;
type AdaptStrategy: AdaptStrategy;
type Stats: SampleStats + 'static;
type Builder: ArrowBuilder<Self::Stats>;
// Required methods
fn set_position(&mut self, position: &[f64]) -> Result<(), NutsError>;
fn draw(&mut self) -> Result<(Box<[f64]>, Self::Stats), NutsError>;
fn dim(&self) -> usize;
fn stats_builder(&self, dim: usize, settings: &SamplerArgs) -> Self::Builder;
}
Expand description
Draw samples from the posterior distribution using Hamiltonian MCMC.
Required Associated Types§
type Hamiltonian: Hamiltonian
type AdaptStrategy: AdaptStrategy
type Stats: SampleStats + 'static
type Builder: ArrowBuilder<Self::Stats>
Required Methods§
sourcefn set_position(&mut self, position: &[f64]) -> Result<(), NutsError>
fn set_position(&mut self, position: &[f64]) -> Result<(), NutsError>
Initialize the sampler to a position. This should be called before calling draw.
This fails if the logp function returns an error.
sourcefn draw(&mut self) -> Result<(Box<[f64]>, Self::Stats), NutsError>
fn draw(&mut self) -> Result<(Box<[f64]>, Self::Stats), NutsError>
Draw a new sample and return the position and some diagnosic information.