test_stochasticIntegratorsPaper

Numerical-equivalence tests against PAPER-FAITHFUL references for the weak-order-2 integrators whose multi-noise / non-commutative path StochasticDiffEq.jl cannot reference:

  • RS1 / RS2 (Roessler 2007, Stratonovich) - StochasticDiffEq.jl’s in-place RS cache has an array-aliasing defect in its multi-noise cross-terms.

  • DRI1 / RI1 / RI3 / RI5 / RI6 (Debrabant-Roessler / Roessler, Ito) - StochasticDiffEq.jl’s DRI1 and RI non-diagonal branches raise an UndefVarError and cannot solve a coupled-noise problem at all. The RI methods share DRI1’s step but with different coefficient tableaus.

The references (paperReference/*.json) are generated directly from the primary sources and validated against the authors’ published weak-error tables / by weak-order convergence (see paperReference/generate_rs_reference.py and generate_dri1_reference.py). As with the Julia tests, the reference prescribes the underlying Gaussian increments and we replay them through Basilisk and require an exact match - exercising the genuinely non-commutative, coupled-noise paths that the scalar/diagonal Julia tests cannot.

test_stochasticIntegratorsPaper.test_paperEquivalence(caseId: str, case: dict)[source]

Basilisk RS1/RS2/DRI1 must reproduce the paper-faithful multi-noise references.