Open vitusbenson opened 2 years ago
Don't use an in-place noise process with scalars. You need to use an out-of-place noise process with immutable u0
objects.
Don't use an in-place noise process with scalars. You need to use an out-of-place noise process with immutable
u0
objects.
Thank you, this solved the fill!
issues, still another error persists, which might just be a missmatch between the documentation and implementation, I've updated the issue.
I still see an in-place one. See how WienerProcess
is implemented, the non !
one.
https://github.com/SciML/DiffEqNoiseProcess.jl/blob/v5.9.0/src/wiener.jl#L1-L49
Oh yes, the signatures look like they are missing u,p,t, things.
Edited. I am trying to reproduce this example from the Documentation with the 3D Lorenz example: https://diffeq.sciml.ai/stable/features/noise_process/#Direct-Construction-of-a-NoiseProcess
This gives me MethodErrors:
MethodError: no method matching INPLACE_WHITE_NOISE_DIST(::Vector{Float64}, ::NoiseProcess{Float64, 2, Float64, Vector{Float64}, Nothing, Nothing, typeof(INPLACE_WHITE_NOISE_DIST), typeof(INPLACE_WHITE_NOISE_BRIDGE), false, ResettableStacks.ResettableStack{Tuple{Float64, Vector{Float64}, Nothing}, false}, ResettableStacks.ResettableStack{Tuple{Float64, Vector{Float64}, Nothing}, false}, RSWM{Float64}, Nothing, RandomNumbers.Xorshifts.Xoroshiro128Plus}, ::Float64, ::Vector{Float64}, ::SciMLBase.NullParameters, ::Float64, ::RandomNumbers.Xorshifts.Xoroshiro128Plus)
, which is because in https://github.com/SciML/DiffEqNoiseProcess.jl/blob/b2467a0639a13e15938b80583e3fd830e10dfbd5/src/noise_interfaces/noise_process_interface.jl#L145 and onwards, a different signature for thedist!
function is used than described in https://github.com/SciML/DiffEqDocs.jl/blob/e432ad33c723776868bf8a39bcafcd3e3b893a60/docs/src/features/noise_process.md?plain=1#L244 . This can be fixed by defining two identical methods fordist!
, one with 3 extra arguments before therng
.MethodError: no method matching INPLACE_WHITE_NOISE_BRIDGE(::Vector{Float64}, ::NoiseProcess{Float64, 2, Float64, Vector{Float64}, Nothing, Nothing, typeof(INPLACE_WHITE_NOISE_DIST), typeof(INPLACE_WHITE_NOISE_BRIDGE), true, ResettableStacks.ResettableStack{Tuple{Float64, Vector{Float64}, Nothing}, true}, ResettableStacks.ResettableStack{Tuple{Float64, Vector{Float64}, Nothing}, true}, RSWM{Float64}, Nothing, RandomNumbers.Xorshifts.Xoroshiro128Plus}, ::Int64, ::Vector{Float64}, ::Float64, ::Float64, ::Vector{Float64}, ::SciMLBase.NullParameters, ::Float64, ::RandomNumbers.Xorshifts.Xoroshiro128Plus)
, the same as before, e.g. here https://github.com/SciML/DiffEqNoiseProcess.jl/blob/b2467a0639a13e15938b80583e3fd830e10dfbd5/src/noise_interfaces/noise_process_interface.jl#L278 signature is different than given in documentation here https://github.com/SciML/DiffEqDocs.jl/blob/e432ad33c723776868bf8a39bcafcd3e3b893a60/docs/src/features/noise_process.md?plain=1#L256. Again can be fixed by givingbridge!
3 extra arguments before therng
.Help is much appreciated! :-)
Versions: julia v1.6.3 DifferentialEquations.jl v6.20.0