pub struct PoissonProcess;Expand description
Homogeneous and inhomogeneous Poisson process generators.
Implementations§
Source§impl PoissonProcess
impl PoissonProcess
Sourcepub fn homogeneous(lambda: f64, t: f64, seed: u64) -> Vec<f64>
pub fn homogeneous(lambda: f64, t: f64, seed: u64) -> Vec<f64>
Simulate a homogeneous Poisson process with rate lambda on [0, T].
Returns the arrival times as a sorted vector.
Sourcepub fn inhomogeneous<F>(
lambda: F,
lambda_max: f64,
t: f64,
seed: u64,
) -> Vec<f64>
pub fn inhomogeneous<F>( lambda: F, lambda_max: f64, t: f64, seed: u64, ) -> Vec<f64>
Simulate an inhomogeneous Poisson process with intensity function lambda(t).
Uses thinning (Lewis-Shedler algorithm): first generate a homogeneous PP
with rate lambda_max, then accept each event with probability lambda(t)/lambda_max.
Sourcepub fn compound<F>(
lambda: f64,
t: f64,
jump_dist: F,
seed: u64,
) -> (Vec<f64>, Vec<f64>)
pub fn compound<F>( lambda: f64, t: f64, jump_dist: F, seed: u64, ) -> (Vec<f64>, Vec<f64>)
Simulate a compound Poisson process: N(T) events each with random jump size.
Returns (arrival_times, cumulative_sum_of_jumps).
Sourcepub fn expected_count(lambda: f64, t: f64) -> f64
pub fn expected_count(lambda: f64, t: f64) -> f64
Return the expected number of events E[N(t)] = lambda * t.
Sourcepub fn inter_arrival_cdf(lambda: f64, t: f64) -> f64
pub fn inter_arrival_cdf(lambda: f64, t: f64) -> f64
Inter-arrival distribution CDF: P(T <= t) = 1 - exp(-lambda * t).
Sourcepub fn empirical_rate(times: &[f64], t: f64) -> f64
pub fn empirical_rate(times: &[f64], t: f64) -> f64
Compute the empirical rate from observed arrival times.
Auto Trait Implementations§
impl Freeze for PoissonProcess
impl RefUnwindSafe for PoissonProcess
impl Send for PoissonProcess
impl Sync for PoissonProcess
impl Unpin for PoissonProcess
impl UnsafeUnpin for PoissonProcess
impl UnwindSafe for PoissonProcess
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
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.