Skip to main content

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".

Implementors§