NonlinearSolve.jl icon indicating copy to clipboard operation
NonlinearSolve.jl copied to clipboard

Completeness for use in OrdinaryDiffEq.jl

Open ChrisRackauckas opened this issue 2 years ago • 1 comments
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:

  1. First step is completing the iterator interface https://github.com/SciML/NonlinearSolve.jl/issues/241
  2. 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 SingleFactorizeNewton and some extended TerminationCondition stuff.
  3. For this SingleFactorizeNewton, we'd need to allow it in the iterator form to have a mode where changing u does not cause a new Jacobian to be taken. Thus in the cache interface, we'd need a reevalute_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?

ChrisRackauckas avatar Oct 18 '23 20:10 ChrisRackauckas

Related https://github.com/SciML/NonlinearSolve.jl/pull/206 @frankschae

ChrisRackauckas avatar Oct 18 '23 20:10 ChrisRackauckas

@ChrisRackauckas I believe this can now be closed, right?

oscardssmith avatar May 17 '24 17:05 oscardssmith