SciML / OrdinaryDiffEq.jl

High performance ordinary differential equation (ODE) and differential-algebraic equation (DAE) solvers, including neural ordinary differential equations (neural ODEs) and scientific machine learning (SciML)
https://diffeq.sciml.ai/latest/
Other
521 stars 198 forks source link

fix out of place `linsolve=KrylovJL*` #2252

Closed oscardssmith closed 1 week ago

oscardssmith commented 2 weeks ago

fixes https://github.com/SciML/OrdinaryDiffEq.jl/issues/2197. This works, but I'm not 100% sure why we are treating StaticWOperator differently here, but it is just copying from the in place method.

oscardssmith commented 2 weeks ago

@ChrisRackauckas does https://github.com/SciML/OrdinaryDiffEq.jl/actions/runs/9550147409/job/26321432771?pr=2252 look related to you? I can't tell.

ChrisRackauckas commented 2 weeks ago

Yes, that looks related. It looks like it may just be a tolerance issue though, so the tests there may just have too strict of a tolerance. But definitely related.

ChrisRackauckas commented 2 weeks ago

StaticWOperator is immutable and is rebuilt each time instead of modifying, so it doesn't update coefficients in place but instead just makes a new operator.

ChrisRackauckas commented 2 weeks ago

The DDE test looks relevant.

oscardssmith commented 2 weeks ago

The Delay issues are unrelated (but very concerning). I can reproduce the failures without this PR.

ChrisRackauckas commented 1 week ago

Okay, follow up with downstream for a bit because it seems DDE and SDE have gotten out of sync with the last few changes.

prbzrg commented 1 week ago

When does this change get a release? I'm still getting the error with the latest version.

oscardssmith commented 1 week ago

It already has been. Do you have a MWE for the error? It's possibly something similar but different.

prbzrg commented 1 week ago

I'm using v6.84.0 and it seems that this PR isn't included in it. https://github.com/SciML/OrdinaryDiffEq.jl/compare/v6.84.0...master