SciML / NonlinearSolve.jl

High-performance and differentiation-enabled nonlinear solvers (Newton methods), bracketed rootfinding (bisection, Falsi), with sparsity and Newton-Krylov support.
https://docs.sciml.ai/NonlinearSolve/stable/
MIT License
216 stars 39 forks source link

Add autoscaling for trust region #425

Open m-bossart opened 1 month ago

m-bossart commented 1 month ago

Add autoscaling option for trust region (and possibly other) methods.

m-bossart commented 3 days ago

@avik-pal Can you point me to where this should be implemented. I'm trying to transition from NLsolve.jl to NonlinearSolve.jl but for some larger cases NLsolve.jl converges and NonlinearSolve.jl does not (for TrustRegion and Raphson algorithms). The lack of scaling is the most obvious difference to me.

avik-pal commented 3 days ago

I haven't looked too much into how NLsolve does autoscaling. But it should probably go in https://github.com/SciML/NonlinearSolve.jl/blob/45c4465d35c7e830094cb866ec76d9f80179fdf5/src/internal/jacobian.jl#L115-L152

m-bossart commented 2 days ago

Thanks. I will try to look into it