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
536 stars 205 forks source link

fix out of place `WOperator` #2291

Closed oscardssmith closed 2 months ago

oscardssmith commented 2 months ago

https://github.com/SciML/OrdinaryDiffEq.jl/pull/2252 made it so there were some cases in which we weren't updating J correctly leading to convergence failures. Debugging this was hell, and all of this code needs to be ripped out in the nearish future and replaced with DifferentiationInterface and a sane layout. While I was at it, I also fixed a couple places where the stats were completely broken for out of place. Tests incoming.

oscardssmith commented 2 months ago

https://github.com/SciML/StochasticDiffEq.jl/pull/574 fixes the StochasticDiffEq test failure (which was caused by testing that you can call calc_W! on an out of place ODE which you just can't do). The other test failures look unrelated. I think this is finally ready to merge.