pub struct SdeOptions<S: Scalar> {
pub dt: S,
pub rtol: S,
pub atol: S,
pub dt_max: S,
pub dt_min: S,
pub max_steps: usize,
pub save_trajectory: bool,
pub seed: Option<u64>,
}Expand description
Options for SDE solvers.
Divergence from numra_ode::SolverOptions (per Foundation Spec §2.5):
SDE solvers carry stochastic noise, so step size also controls the Wiener
increment δW ~ N(0, h) — not just truncation accuracy. The fixed dt
field is distinguished from rtol / atol (used by adaptive SRA-family
methods) rather than collapsed onto a shared h0 / h_max, because the
noise-discretisation interpretation matters at every step. seed: Option<u64> is required for reproducibility — deterministic ODE
configuration has no analog. save_trajectory: bool toggles
trajectory-vs-final-only collection for Monte Carlo workloads where
intermediate states aren’t kept. See
docs/architecture/foundation-specification.md §2.5.
Fields§
§dt: SFixed time step (for non-adaptive methods)
rtol: SRelative tolerance (for adaptive methods)
atol: SAbsolute tolerance (for adaptive methods)
dt_max: SMaximum time step
dt_min: SMinimum time step
max_steps: usizeMaximum number of steps
save_trajectory: boolSave solution at all steps (vs. just final)
seed: Option<u64>Random seed (None = use system entropy)
Implementations§
Source§impl<S: Scalar> SdeOptions<S>
impl<S: Scalar> SdeOptions<S>
Sourcepub fn save_trajectory(self, save: bool) -> Self
pub fn save_trajectory(self, save: bool) -> Self
Enable/disable trajectory saving.
Trait Implementations§
Source§impl<S: Clone + Scalar> Clone for SdeOptions<S>
impl<S: Clone + Scalar> Clone for SdeOptions<S>
Source§fn clone(&self) -> SdeOptions<S>
fn clone(&self) -> SdeOptions<S>
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreAuto Trait Implementations§
impl<S> Freeze for SdeOptions<S>where
S: Freeze,
impl<S> RefUnwindSafe for SdeOptions<S>where
S: RefUnwindSafe,
impl<S> Send for SdeOptions<S>
impl<S> Sync for SdeOptions<S>
impl<S> Unpin for SdeOptions<S>where
S: Unpin,
impl<S> UnsafeUnpin for SdeOptions<S>where
S: UnsafeUnpin,
impl<S> UnwindSafe for SdeOptions<S>where
S: UnwindSafe,
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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>
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>
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