NonlinearSolve.jl
NonlinearSolve.jl copied to clipboard
Completeness for use in OrdinaryDiffEq.jl
trafficstars
This package is almost complete to be used in OrdinaryDiffEq.jl. For other discussions on this topic, see https://github.com/SciML/OrdinaryDiffEq.jl/issues/1570
However, there are some special things done in its nonlinear solvers which we would need to allow for here:
- First step is completing the iterator interface https://github.com/SciML/NonlinearSolve.jl/issues/241
- We need to have a version of a Quasi-Newton method which forces Jacobian reuse and terminates if convergence starts to fail. I think this can be done just with a
SingleFactorizeNewtonand some extendedTerminationConditionstuff. - For this
SingleFactorizeNewton, we'd need to allow it in the iterator form to have a mode where changingudoes not cause a new Jacobian to be taken. Thus in thecacheinterface, we'd need areevalute_jacobian!that can be handled outside the solver for such cases.
Once those are together, then I think we're good to try it in OrdinaryDiffEq?
Related https://github.com/SciML/NonlinearSolve.jl/pull/206 @frankschae
@ChrisRackauckas I believe this can now be closed, right?