SciML/NonlinearSolve.jl
High-performance and differentiation-enabled nonlinear solvers (Newton methods), bracketed rootfinding (bisection, Falsi), with sparsity and Newton-Krylov support.
What it solves
NonlinearSolve.jl provides high-performance and robust tools for finding the roots of systems of nonlinear equations, which is a fundamental requirement for many scientific and engineering simulations.
How it works
It implements a suite of root-finding algorithms natively in Julia using a unified API. The library leverages several advanced techniques to handle different problem scales:
- Automatic Selection: It can automatically choose the best algorithm based on runtime analysis.
- GPU Optimization: It uses static array kernels to improve performance on GPUs for smaller problems.
- Large-Scale Handling: For massive problems, it utilizes sparse automatic differentiation and Jacobian-free Krylov methods.
Who it’s for
It is designed for researchers and practitioners in scientific computing, engineering, and modeling who need to solve complex nonlinear systems efficiently.
Highlights
- Unified API for a diverse range of solver specifications.
- Support for both standard and bracketing methods.
- High-performance implementations that compete with established tools like PETSc SNES and Sundials KINSOL.
- Native Julia implementation allowing for deep integration with the SciML ecosystem.
Related
- Project
- Project
- Project
- Project
- Project