Closed oameye closed 3 weeks ago
CorrelatedWienerProcess
does not have the bridge function defined, so it won't be compatible here. That's already tracked in https://github.com/SciML/DiffEqNoiseProcess.jl/issues/85
Should we maybe add a warning or error when adaptive solver is used with correlated noise? Similar to https://github.com/SciML/StochasticDiffEq.jl/issues/578.
Yes, it would be good to add traits to https://github.com/SciML/SciMLBase.jl/blob/master/src/alg_traits.jl for allows_non_wiener_noise
which is false for any high order (that uses levy areas) or adaptive method, and then check for it.
Okay will make a PR this week
Besides adding traits for allows_non_wiener_noise
, I think the line
https://github.com/SciML/DiffEqNoiseProcess.jl/blob/master/src/correlated_noisefunc.jl#L11
should be fixed to have the correct number of arguments:
Current L11
bridge = function (W, W0, Wh, q, h, u, p, t, rng)
should be
bridge = function (dW, W, W0, Wh, q, h, u, p, t, rng)
Yes good point. Both would cause an error of course, but you'd get the nicer error message.
Describe the bug 🐞
When adding a
CorrelatedWienerProcess
to the lorenz ODE, the intergrator errors as it can not find the correct method for the bridge function made in the construction of theCorrelatedWienerProcess
. The integrator gives 10 arguments, but the bridge function has 9.Minimal Reproducible Example 👇
Error & Stacktrace ⚠️
Environment (please complete the following information):
using Pkg; Pkg.status()
using Pkg; Pkg.status(; mode = PKGMODE_MANIFEST)
versioninfo()