AdvancedTarget

Trait AdvancedTarget 

Source
pub trait AdvancedTarget<F>: Send + Sync
where F: Float + Copy + Display,
{ // Required methods fn log_density(&self, x: &Array1<F>) -> F; fn gradient(&self, x: &Array1<F>) -> Array1<F>; fn dim(&self) -> usize; // Provided methods fn log_density_and_gradient(&self, x: &Array1<F>) -> (F, Array1<F>) { ... } fn hessian(x: &Array1<F>) -> Option<Array2<F>> { ... } fn fisher_information(x: &Array1<F>) -> Option<Array2<F>> { ... } fn riemann_metric(x: &Array1<F>) -> Option<Array2<F>> { ... } fn modeldimension(&self, modelid: usize) -> usize { ... } fn model_transition_prob(from_model: usize, _tomodel: usize) -> F { ... } fn batch_log_density(&self, xbatch: &Array2<F>) -> Array1<F> { ... } }
Expand description

Advanced-advanced target distribution interface

Required Methods§

Source

fn log_density(&self, x: &Array1<F>) -> F

Compute log probability density

Source

fn gradient(&self, x: &Array1<F>) -> Array1<F>

Compute gradient of log density

Source

fn dim(&self) -> usize

Get dimensionality

Provided Methods§

Source

fn log_density_and_gradient(&self, x: &Array1<F>) -> (F, Array1<F>)

Compute both log density and gradient efficiently

Source

fn hessian(x: &Array1<F>) -> Option<Array2<F>>

Compute Hessian matrix (for manifold methods)

Source

fn fisher_information(x: &Array1<F>) -> Option<Array2<F>>

Compute Fisher information matrix

Source

fn riemann_metric(x: &Array1<F>) -> Option<Array2<F>>

Compute Riemann metric tensor (for Riemannian methods)

Source

fn modeldimension(&self, modelid: usize) -> usize

Support for discontinuous model spaces (for Reversible Jump)

Source

fn model_transition_prob(from_model: usize, _tomodel: usize) -> F

Model transition probability (for Reversible Jump)

Source

fn batch_log_density(&self, xbatch: &Array2<F>) -> Array1<F>

Support parallel evaluation of multiple points

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§