NonlinearSolve.jl
NonlinearSolve.jl copied to clipboard
High-performance and differentiation-enabled nonlinear solvers (Newton methods), bracketed rootfinding (bisection, Falsi), with sparsity and Newton-Krylov support.
```julia using NonlinearSolve N = 100_000; levels = 1.5 .* rand(N); out = zeros(N); myfun(x, lv) = x * sin(x) - lv function f(out, levels, u0) for i in 1:N...
**What kind of problems is it mostly used for? Please describe.** Determining the roots of univariate complex functions. Muller's method is commonly used to determine the (quasi-normal) oscillation modes of...
Add Halley's method by computing Hessian-vector-vector product with TaylorDiff.jl in $O(n)$ time. Note that this isn't structured as something like "HessianCache", but instead structured as a descent method, which can...
https://link.springer.com/article/10.1007/s40314-022-02159-9
See https://docs.scipy.org/doc/scipy/reference/generated/scipy.optimize.broyden2.html#scipy-optimize-broyden2 and https://web.archive.org/web/20161022015821/http://www.math.leidenuniv.nl/scripties/Rotten.pdf for rank-reduction. The currently implemented version corresponds to "simple". We would want to have the other variants as well.
- [ ] Accelerated DF-SANE https://arxiv.org/pdf/2104.13447.pdf - [ ] DF-SAUNE for Under-determined LS Problems https://www.scielo.br/j/cam/a/6nML5bXvthQ7nKRpFSjqyjH/?lang=en #345 sets up spectral methods in a nicer way but it would be nice to...
**What kind of problems is it mostly used for? Please describe.** Nonlinear algebraic equations, including but not limited to the [AC power flow models](https://en.wikipedia.org/wiki/Power-flow_study). **Describe the algorithm you’d like** As...
Unfortunately, this introduces a massive circular dependency if Optimization is loaded. But we only pay the price in CI rn.
**Multiple root like capabilities from Roots.jl ?.** Many Roots.jl solvers can be included or Roots.jl package can be included in NonlinearSolve.jl for its use as common interface I think @ChrisRackauckas...
See the last part of http://ceres-solver.org/nnls_solving.html#levenberg-marquardt. This is basically already there and this is mostly a internal solver selection mechanism: 1. Add a forcing function to LM 2. Add a...