pub struct ConstrainedPosteriorGeometry {
pub constraints: LinearInequalityConstraints,
pub mode: Array1<f64>,
pub unconstrained_center: Array1<f64>,
pub correction: Option<ConstrainedPosteriorCorrection>,
}Expand description
Persisted identity of an inequality-truncated Laplace posterior.
These three objects must remain distinct:
modeis the feasible optimizer solution and the reflective sampler’s valid starting point;unconstrained_centeris the centre of the ambient Gaussian before truncation and therefore the reflective sampler’s target centre;- the user-facing coefficient vector is the ambient centre plus the retained correction’s normal-coordinate mean shift (or exactly the ambient centre when truncation is invisible at f64 resolution).
Keeping the two locations next to the factored moment correction prevents a saved model from re-deriving either location from row evidence or from treating the reported posterior mean as though it were the optimizer mode.
Fields§
§constraints: LinearInequalityConstraintsExact inequality system Aβ ≥ b in the same coefficient frame as the
locations, correction lift, and ambient precision.
mode: Array1<f64>§unconstrained_center: Array1<f64>§correction: Option<ConstrainedPosteriorCorrection>Moment correction when at least one inequality changes the answer at
f64 resolution. None still records that an inequality system was
fitted; it means the ambient centre is far enough inside every row that
truncation is numerically invisible.
Implementations§
Source§impl ConstrainedPosteriorGeometry
impl ConstrainedPosteriorGeometry
pub fn posterior_mean(&self) -> Array1<f64>
pub fn validate_for_dimension(&self, dimension: usize) -> Result<(), String>
Trait Implementations§
Source§impl Clone for ConstrainedPosteriorGeometry
impl Clone for ConstrainedPosteriorGeometry
Source§fn clone(&self) -> ConstrainedPosteriorGeometry
fn clone(&self) -> ConstrainedPosteriorGeometry
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 ConstrainedPosteriorGeometry
impl Debug for ConstrainedPosteriorGeometry
Source§impl<'de> Deserialize<'de> for ConstrainedPosteriorGeometry
impl<'de> Deserialize<'de> for ConstrainedPosteriorGeometry
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations§
impl Freeze for ConstrainedPosteriorGeometry
impl RefUnwindSafe for ConstrainedPosteriorGeometry
impl Send for ConstrainedPosteriorGeometry
impl Sync for ConstrainedPosteriorGeometry
impl Unpin for ConstrainedPosteriorGeometry
impl UnsafeUnpin for ConstrainedPosteriorGeometry
impl UnwindSafe for ConstrainedPosteriorGeometry
Blanket Implementations§
impl<T> Allocation for T
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
Source§impl<T> DistributionExt for Twhere
T: ?Sized,
impl<T> DistributionExt for Twhere
T: ?Sized,
impl<T, U> Imply<T> for U
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 moreSource§impl<T> Pointable for T
impl<T> Pointable for T
impl<T> Read<Exclusive, BecauseExclusive> for Twhere
T: ?Sized,
Source§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
Source§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
The inverse inclusion map: attempts to construct
self from the equivalent element of its
superset. Read moreSource§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
Checks if
self is actually part of its subset T (and can be converted to it).Source§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
Use with care! Same as
self.to_subset but without any property checks. Always succeeds.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
The inclusion map: converts
self to the equivalent element of its superset.