pub struct JumpDiffusionProblem<Drift, Diffusion, JumpSampler>where
Drift: Fn(f64, f64) -> f64,
Diffusion: Fn(f64, f64) -> f64,
JumpSampler: Fn(&mut StdRng) -> f64,{
pub drift: Drift,
pub diffusion: Diffusion,
pub jump_intensity: f64,
pub jump_sampler: JumpSampler,
pub x0: f64,
pub t_span: (f64, f64),
}Expand description
Generic jump-diffusion problem specification.
dX = f(X,t) dt + g(X,t) dW + dJwhere dJ is a compound Poisson process with intensity jump_intensity
and jumps sampled from jump_sampler.
Fields§
§drift: DriftDrift coefficient f(x, t)
diffusion: DiffusionDiffusion coefficient g(x, t)
jump_intensity: f64Poisson jump intensity (λ ≥ 0)
jump_sampler: JumpSamplerCallable returning a jump size: fn(&mut StdRng) -> f64
x0: f64Initial value X(t0)
t_span: (f64, f64)Time span (t0, t1)
Implementations§
Source§impl<Drift, Diffusion, JumpSampler> JumpDiffusionProblem<Drift, Diffusion, JumpSampler>
impl<Drift, Diffusion, JumpSampler> JumpDiffusionProblem<Drift, Diffusion, JumpSampler>
Auto Trait Implementations§
impl<Drift, Diffusion, JumpSampler> Freeze for JumpDiffusionProblem<Drift, Diffusion, JumpSampler>
impl<Drift, Diffusion, JumpSampler> RefUnwindSafe for JumpDiffusionProblem<Drift, Diffusion, JumpSampler>
impl<Drift, Diffusion, JumpSampler> Send for JumpDiffusionProblem<Drift, Diffusion, JumpSampler>
impl<Drift, Diffusion, JumpSampler> Sync for JumpDiffusionProblem<Drift, Diffusion, JumpSampler>
impl<Drift, Diffusion, JumpSampler> Unpin for JumpDiffusionProblem<Drift, Diffusion, JumpSampler>
impl<Drift, Diffusion, JumpSampler> UnsafeUnpin for JumpDiffusionProblem<Drift, Diffusion, JumpSampler>
impl<Drift, Diffusion, JumpSampler> UnwindSafe for JumpDiffusionProblem<Drift, Diffusion, JumpSampler>
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<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
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 more