diff --git a/lib/SimpleNonlinearSolve/Project.toml b/lib/SimpleNonlinearSolve/Project.toml index 493766ead..ca40b1ed6 100644 --- a/lib/SimpleNonlinearSolve/Project.toml +++ b/lib/SimpleNonlinearSolve/Project.toml @@ -1,7 +1,7 @@ name = "SimpleNonlinearSolve" uuid = "727e6d20-b764-4bd8-a329-72de5adea6c7" authors = ["SciML"] -version = "1.3.0" +version = "1.3.1" [deps] ADTypes = "47edcb42-4c32-4615-8424-f2b9edc5f35b" diff --git a/lib/SimpleNonlinearSolve/src/nlsolve/broyden.jl b/lib/SimpleNonlinearSolve/src/nlsolve/broyden.jl index ad19d765b..15e544795 100644 --- a/lib/SimpleNonlinearSolve/src/nlsolve/broyden.jl +++ b/lib/SimpleNonlinearSolve/src/nlsolve/broyden.jl @@ -1,22 +1,16 @@ """ SimpleBroyden(; linesearch = Val(false), alpha = nothing) -A low-overhead implementation of Broyden. This method is non-allocating on scalar -and static array problems. +A low-overhead implementation of Broyden. This method is non-allocating on scalar and static +array problems. ### Keyword Arguments - `linesearch`: If `linesearch` is `Val(true)`, then we use the `LiFukushimaLineSearch` - [1] line search else no line search is used. For advanced customization of the line - search, use the [`Broyden`](@ref) algorithm in `NonlinearSolve.jl`. + [li2000derivative](@cite) line search else no line search is used. For advanced + customization of the line search, use `Broyden` from `NonlinearSolve.jl`. - `alpha`: Scale the initial jacobian initialization with `alpha`. If it is `nothing`, we will compute the scaling using `2 * norm(fu) / max(norm(u), true)`. - -### References - -[1] Li, Dong-Hui, and Masao Fukushima. "A derivative-free line search and global convergence -of Broyden-like method for nonlinear equations." Optimization methods and software 13.3 -(2000): 181-201. """ @concrete struct SimpleBroyden{linesearch} <: AbstractSimpleNonlinearSolveAlgorithm alpha diff --git a/lib/SimpleNonlinearSolve/src/nlsolve/dfsane.jl b/lib/SimpleNonlinearSolve/src/nlsolve/dfsane.jl index 6931e6101..856e31fd4 100644 --- a/lib/SimpleNonlinearSolve/src/nlsolve/dfsane.jl +++ b/lib/SimpleNonlinearSolve/src/nlsolve/dfsane.jl @@ -5,7 +5,7 @@ A low-overhead implementation of the df-sane method for solving large-scale nonlinear systems of equations. For in depth information about all the parameters and the algorithm, -see the paper [1]. +see [la2006spectral](@citet). ### Keyword Arguments @@ -35,12 +35,6 @@ see the paper [1]. ``f_1=||F(x_1)||^{nexp}``, `k` is the iteration number, `x` is the current `x`-value and `F` the current residual. Should satisfy ``η_k > 0`` and ``∑ₖ ηₖ < ∞``. Defaults to ``||F||^2 / k^2``. - -### References - -[1] W LaCruz, JM Martinez, and M Raydan (2006), Spectral residual mathod without gradient -information for solving large-scale nonlinear systems of equations, Mathematics of -Computation, 75, 1429-1448. """ @concrete struct SimpleDFSane{M} <: AbstractSimpleNonlinearSolveAlgorithm σ_min diff --git a/lib/SimpleNonlinearSolve/src/nlsolve/klement.jl b/lib/SimpleNonlinearSolve/src/nlsolve/klement.jl index 9351b45f1..680b9cd7c 100644 --- a/lib/SimpleNonlinearSolve/src/nlsolve/klement.jl +++ b/lib/SimpleNonlinearSolve/src/nlsolve/klement.jl @@ -1,7 +1,7 @@ """ SimpleKlement() -A low-overhead implementation of [Klement](https://jatm.com.br/jatm/article/view/373). This +A low-overhead implementation of `Klement` [klement2014using](@citep). This method is non-allocating on scalar and static array problems. """ struct SimpleKlement <: AbstractSimpleNonlinearSolveAlgorithm end diff --git a/lib/SimpleNonlinearSolve/src/nlsolve/lbroyden.jl b/lib/SimpleNonlinearSolve/src/nlsolve/lbroyden.jl index eb7b1bbaf..9f8896ed1 100644 --- a/lib/SimpleNonlinearSolve/src/nlsolve/lbroyden.jl +++ b/lib/SimpleNonlinearSolve/src/nlsolve/lbroyden.jl @@ -9,18 +9,12 @@ If the threshold is larger than the problem size, then this method will use `Sim ### Keyword Arguments: - - `linesearch`: If `linesearch` is `Val(true)`, then we use the - `LiFukushimaLineSearch` [1] line search else no line search is used. For advanced - customization of the line search, use the [`LimitedMemoryBroyden`](@ref) algorithm in + - `linesearch`: If `linesearch` is `Val(true)`, then we use the `LiFukushimaLineSearch` + [li2000derivative](@cite) line search else no line search is used. For advanced + customization of the line search, use the `LimitedMemoryBroyden` algorithm in `NonlinearSolve.jl`. - `alpha`: Scale the initial jacobian initialization with `alpha`. If it is `nothing`, we will compute the scaling using `2 * norm(fu) / max(norm(u), true)`. - -### References - -[1] Li, Dong-Hui, and Masao Fukushima. "A derivative-free line search and global convergence -of Broyden-like method for nonlinear equations." Optimization methods and software 13.3 -(2000): 181-201. """ @concrete struct SimpleLimitedMemoryBroyden{threshold, linesearch} <: AbstractSimpleNonlinearSolveAlgorithm