pub struct SpdeOptions<S: Scalar> {
pub dt: S,
pub n_output: usize,
pub method: SpdeMethod,
pub seed: Option<u64>,
pub adaptive: bool,
pub rtol: S,
pub atol: S,
pub dt_min: S,
pub dt_max: S,
}Expand description
Options for SPDE solver.
Divergence from numra_ode::SolverOptions (per Foundation Spec §2.5):
SPDE solvers carry both stochastic noise (like SDE — Wiener time
control, seed) and an explicit method selector (SpdeMethod,
EulerMaruyama | Milstein). The method selector is unusual:
numra-ode solvers dispatch at the type level
(DoPri5::solve(...), Tsit5::solve(...)); SPDE collapses to a single
solve entry that branches on the enum because noise-discretisation
logic is shared across methods. n_output discretises sampled-output
count rather than SolverOptions::t_eval-style explicit time grid —
appropriate for stochastic workloads where exact output times matter
less than density. adaptive: bool gates between fixed-step EM
(default) and adaptive variants. See
docs/architecture/foundation-specification.md §2.5.
Fields§
§dt: STime step
n_output: usizeNumber of output time points
method: SpdeMethodSDE method
seed: Option<u64>Random seed
adaptive: boolEnable adaptive time stepping
rtol: SRelative tolerance for adaptive stepping
atol: SAbsolute tolerance for adaptive stepping
dt_min: SMinimum time step for adaptive stepping
dt_max: SMaximum time step for adaptive stepping
Implementations§
Source§impl<S: Scalar> SpdeOptions<S>
impl<S: Scalar> SpdeOptions<S>
Sourcepub fn method(self, method: SpdeMethod) -> Self
pub fn method(self, method: SpdeMethod) -> Self
Set SDE method.
Trait Implementations§
Source§impl<S: Clone + Scalar> Clone for SpdeOptions<S>
impl<S: Clone + Scalar> Clone for SpdeOptions<S>
Source§fn clone(&self) -> SpdeOptions<S>
fn clone(&self) -> SpdeOptions<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 SpdeOptions<S>where
S: Freeze,
impl<S> RefUnwindSafe for SpdeOptions<S>where
S: RefUnwindSafe,
impl<S> Send for SpdeOptions<S>
impl<S> Sync for SpdeOptions<S>
impl<S> Unpin for SpdeOptions<S>where
S: Unpin,
impl<S> UnsafeUnpin for SpdeOptions<S>where
S: UnsafeUnpin,
impl<S> UnwindSafe for SpdeOptions<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