Struct opensrdk_probability::mcmc::sir::ParticleFilter
source · pub struct ParticleFilter<Y, X, DY, DX, PD>where
Y: RandomVariable,
X: RandomVariable + PartialEq,
DY: Distribution<Value = Y, Condition = X>,
DX: Distribution<Value = X, Condition = X>,
PD: SampleableDistribution<Value = X, Condition = (Vec<X>, Vec<Y>)>,{ /* private fields */ }Implementations
sourceimpl<Y, X, DY, DX, PD> ParticleFilter<Y, X, DY, DX, PD>where
Y: RandomVariable,
X: RandomVariable + PartialEq,
DY: Distribution<Value = Y, Condition = X>,
DX: Distribution<Value = X, Condition = X>,
PD: SampleableDistribution<Value = X, Condition = (Vec<X>, Vec<Y>)>,
impl<Y, X, DY, DX, PD> ParticleFilter<Y, X, DY, DX, PD>where
Y: RandomVariable,
X: RandomVariable + PartialEq,
DY: Distribution<Value = Y, Condition = X>,
DX: Distribution<Value = X, Condition = X>,
PD: SampleableDistribution<Value = X, Condition = (Vec<X>, Vec<Y>)>,
pub fn new(
observable: Vec<Y>,
distr_x: DX,
distr_y: DY,
proposal: PD
) -> Result<Self, DistributionError>
pub fn filtering(
&self,
particles_initial: Vec<X>,
thr: f64
) -> Result<Vec<ContinuousSamplesDistribution<X>>, DistributionError>
Auto Trait Implementations
impl<Y, X, DY, DX, PD> RefUnwindSafe for ParticleFilter<Y, X, DY, DX, PD>where
DX: RefUnwindSafe,
DY: RefUnwindSafe,
PD: RefUnwindSafe,
Y: RefUnwindSafe,
impl<Y, X, DY, DX, PD> Send for ParticleFilter<Y, X, DY, DX, PD>
impl<Y, X, DY, DX, PD> Sync for ParticleFilter<Y, X, DY, DX, PD>
impl<Y, X, DY, DX, PD> Unpin for ParticleFilter<Y, X, DY, DX, PD>where
DX: Unpin,
DY: Unpin,
PD: Unpin,
Y: Unpin,
impl<Y, X, DY, DX, PD> UnwindSafe for ParticleFilter<Y, X, DY, DX, PD>where
DX: UnwindSafe,
DY: UnwindSafe,
PD: UnwindSafe,
Y: UnwindSafe,
Blanket Implementations
sourceimpl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more