Christopher Rackauckas
Christopher Rackauckas
I thought in that work it's the pullback of errors at the final value? @YingboMa
@YingboMa @DhairyaLGandhi , I think we will need a pretty specific overload here?
No, https://github.com/SciML/SciMLBase.jl/blob/master/src/solutions/solution_interface.jl#L37-L53 is what it is. If it's a known symbol, then it's essentially `@nograd` just a translation to an index. If it's not a known symbol, there's a function...
I think we only need to differentiate it half of the time though? It might be fixed by a few more `@nograd`s on symbol handling stuff.
So is the fix just to overload https://github.com/SciML/RecursiveArrayTools.jl/pull/151/files#diff-507801ba9a07a606d6519898b2d4da0592747f44c3940056176b4e03f088c5aeR46-R54 ?
Yeah I think it needs to pass `Δ` into the pullback of the observed function itself?
yeah I think so.
Let's break this problem down into steps. Could you PR what you have and throw an error on the not handled case? And then it can continue to improve.
It's probably just because the rootfind defaults to a bisection which is relatively exact for robustness, just like how it defaults to using extra interpolation points for checking for sign...
Yeah we've noticed that Sundials does something funny with its stats, but never really figured out how to correct it.