test_stochasticIntegratorsJulia

Numerical-equivalence tests for the native Basilisk stochastic integrators against StochasticDiffEq.jl (SciML).

The reference trajectories in juliaReference/reference_trajectories.json were produced by juliaReference/generate_reference.jl using StochasticDiffEq.jl. That generator draws a fixed sequence of Wiener increments (dW, and for the Roessler methods a second increment dZ) and solves each toy SDE with a prescribed NoiseGrid so the increments are deterministic inputs rather than RNG outputs. It covers the full range of noise structures: scalar, diagonal, additive, non-diagonal (coupled), and time-dependent coefficients.

Here we replay the identical increments through the corresponding Basilisk integrator (via a PrescribedGaussianNoiseGenerator) and assert the resulting trajectory matches the reference to floating-point tolerance. Because the integrators consume the same increments, agreement shows the Basilisk implementation reproduces the reference algorithm exactly (hence also its convergence order).

The SDE for each case is not re-typed here: the generator serializes a drift/diffusion coefficient spec into the JSON, and referenceSDE rebuilds f and g from it, so the SDE is defined once (in the generator).

The Julia reference is generated offline and committed; it is not run in CI. See juliaReference/README.md for how to regenerate it.

test_stochasticIntegratorsJulia.test_juliaEquivalence(caseId: str, case: dict)[source]

Basilisk must reproduce the StochasticDiffEq.jl trajectory for the same noise.