Review of the past two weeks
In the last two weeks, my work can be summarized as two parts: Refactoring the BoundaryValueDiffEq.jl to use NonlinearSolveFirstOrder and fix the new CI.
With the v4 version of NonlinearSolve.jl released, there is no need to introduce the whole NonlinearSolve.jl into BoundaryValueDiffEq.jl, we can just use the first order emthods like
NewtonRaphson
,LevenbergMarquardt
andTrustRegion
etc. So with PR Use NonlinearSolveFirstOrder subpackage and use new CI, we can just use the subpackage now and reduce the overhead of using the whole NonlinearSolve package.Also in the PR Use NonlinearSolveFirstOrder subpackage and use new CI, the CI is now configured to develop the newest version of each subpackage and execute the tests, which would be quite convenient to directly test some breaking changes.
In the process of imlementing PR Use NonlinearSolveFirstOrder subpackage and use new CI, there are several issues complaining about the failing precompiling of BoundaryValueDiffEq.jl, inluding Nested_nlsolve in RadauIIa7 issue, Deprecated use of NonlinearSolve.LineSearch, BoundaryValueDiffEq does not precompile on Windows 11
With the BVDAE sovlers merged, I also found several issues for this solver when I am configuring the new CI, mainly about the cache expansion of Ascher methods, and several patches have been sent in the same PR Use NonlinearSolveFirstOrder subpackage and use new CI.
More TODOs:
With the NonlinearSolve v4 are now using DifferentiationInterface.jl, BoundaryValueDiffEq.jl are now should use DifferentiationInterface.jl and unify the whole ecosystem。
Opened an issue to sort several things out in the implementation of infinite final time BVP solver, and will start on this when the above feature is done.