Oscar Smith
Oscar Smith
I think we should merge this. Now that tab complete relies on proving termination and effectfree-ness, this PR also makes tab complete better.
I got most of the way time with a Julia implementation in https://github.com/JuliaMath/Primes.jl/pull/104
what happens if you simulate this without adaptive false? turning off adaptivity could easily lead to loss of precision
slightly better repoducer: ``` using OrdinaryDiffEq using ForwardDiff: gradient ode_f(du, u, p, t) = du[1] = -u[1] function f(initial) tspan = (0.0,1.0) prob = ODEProblem(ode_f, initial, tspan) solve(prob, Rodas5P())[end][1] end...
fixed by https://github.com/SciML/OrdinaryDiffEq.jl/pull/2051
I'm really not sure why you think try catch has so much overhead. I measure it as ~10ns in the case where no exception is thrown. ``` julia> function f(n)...
Also worth pointing out that catching an error is pretty expensive. ``` julia> @btime f(Any["hi"]) 20.599 μs (3 allocations: 128 bytes) ```
so the current status is that out of place solves now work (although something is going wrong since it is getting a lot of nonlinear solver convergence failures). In place...
with `recompute_jacobian=false` this actually is looking really good! I'm getting better stats than `NLNewton` (admitadly so far I've only been testing on `f(u,p,t)=u. That said, I do seem to have...
it is worth mentioning that it is very possible that the better stats come from me not updating the stats properly. Still needs testing.