pub struct GaussianDensityProvider { /* private fields */ }Expand description
Independent Gaussian density provider with Gauss–Hermite quadrature.
probability returns the product of univariate N(μ, σ²) densities for factor
variables. Self::quadrature returns product Gauss–Hermite nodes in
Lebesgue measure (suitable for ∫ body(x) dx near each Gaussian mode).
Implementations§
Source§impl GaussianDensityProvider
impl GaussianDensityProvider
Sourcepub fn set_gaussian(&mut self, var: VariableId, mean: f64, variance: f64)
pub fn set_gaussian(&mut self, var: VariableId, mean: f64, variance: f64)
Declare an independent Gaussian for var with mean mean and variance variance.
§Panics
Never panics; non-positive variance is rejected by returning early no-op… actually we clamp: variance must be > 0 or the insert is skipped. Prefer validating at call sites.
Trait Implementations§
Source§impl Clone for GaussianDensityProvider
impl Clone for GaussianDensityProvider
Source§fn clone(&self) -> GaussianDensityProvider
fn clone(&self) -> GaussianDensityProvider
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for GaussianDensityProvider
impl Debug for GaussianDensityProvider
Source§impl Default for GaussianDensityProvider
impl Default for GaussianDensityProvider
Source§fn default() -> GaussianDensityProvider
fn default() -> GaussianDensityProvider
Returns the “default value” for a type. Read more
Source§impl DistributionProvider for GaussianDensityProvider
impl DistributionProvider for GaussianDensityProvider
Source§fn probability(
&self,
spec: &FactorSpec<'_>,
assignment: &Assignment,
_ctx: &EvalContext,
) -> Result<f64, EvalError>
fn probability( &self, spec: &FactorSpec<'_>, assignment: &Assignment, _ctx: &EvalContext, ) -> Result<f64, EvalError>
Probability / density mass for a factor under an assignment. Read more
Source§fn support(
&self,
vars: &[VariableId],
_ctx: &EvalContext,
) -> Result<Arc<[Arc<[Value]>]>, EvalError>
fn support( &self, vars: &[VariableId], _ctx: &EvalContext, ) -> Result<Arc<[Arc<[Value]>]>, EvalError>
Discrete support for variables (cartesian rows of values aligned to
vars). Read moreSource§fn quadrature(
&self,
vars: &[VariableId],
_ctx: &EvalContext,
) -> Result<Option<QuadratureNodes>, EvalError>
fn quadrature( &self, vars: &[VariableId], _ctx: &EvalContext, ) -> Result<Option<QuadratureNodes>, EvalError>
Optional continuous quadrature nodes
(assignment_row, Lebesgue weight) for
crate::ExprNode::IntegralOut. Read moreSource§fn outcome(
&self,
var: VariableId,
assignment: &Assignment,
_ctx: &EvalContext,
) -> Result<f64, EvalError>
fn outcome( &self, var: VariableId, assignment: &Assignment, _ctx: &EvalContext, ) -> Result<f64, EvalError>
Outcome function value (identity: the bound value of
var). Read moreAuto Trait Implementations§
impl Freeze for GaussianDensityProvider
impl RefUnwindSafe for GaussianDensityProvider
impl Send for GaussianDensityProvider
impl Sync for GaussianDensityProvider
impl Unpin for GaussianDensityProvider
impl UnsafeUnpin for GaussianDensityProvider
impl UnwindSafe for GaussianDensityProvider
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