From be6d69eb6e4c088be3e93723c1d158c9add30519 Mon Sep 17 00:00:00 2001 From: Avik Pal Date: Sun, 5 Nov 2023 22:15:36 -0500 Subject: [PATCH] Add to docs --- docs/src/api/nonlinearsolve.md | 2 ++ docs/src/solvers/NonlinearLeastSquaresSolvers.md | 12 ++++-------- test/23_test_problems.jl | 2 +- 3 files changed, 7 insertions(+), 9 deletions(-) diff --git a/docs/src/api/nonlinearsolve.md b/docs/src/api/nonlinearsolve.md index 5da204f07..3e6009017 100644 --- a/docs/src/api/nonlinearsolve.md +++ b/docs/src/api/nonlinearsolve.md @@ -16,7 +16,9 @@ GeneralKlement ## Polyalgorithms ```@docs +NonlinearSolvePolyAlgorithm FastShortcutNonlinearPolyalg +FastShortcutNLLSPolyalg RobustMultiNewton ``` diff --git a/docs/src/solvers/NonlinearLeastSquaresSolvers.md b/docs/src/solvers/NonlinearLeastSquaresSolvers.md index e414acdd8..1690671d9 100644 --- a/docs/src/solvers/NonlinearLeastSquaresSolvers.md +++ b/docs/src/solvers/NonlinearLeastSquaresSolvers.md @@ -7,7 +7,10 @@ Solves the nonlinear least squares problem defined by `prob` using the algorithm ## Recommended Methods -`LevenbergMarquardt` is a good choice for most problems. +The default method `FastShortcutNLLSPolyalg` is a good choice for most +problems. It is a polyalgorithm that attempts to use a fast algorithm +(`GaussNewton`) and if that fails it falls back to a more robust +algorithm (`LevenbergMarquardt`). ## Full List of Methods @@ -21,10 +24,3 @@ Solves the nonlinear least squares problem defined by `prob` using the algorithm problems. - `SimpleNewtonRaphson()`: Simple Gauss Newton Implementation with `QRFactorization` to solve a linear least squares problem at each step! - -## Example usage - -```julia -using NonlinearSolve -sol = solve(prob, LevenbergMarquardt()) -``` diff --git a/test/23_test_problems.jl b/test/23_test_problems.jl index ee5b6b991..72843c42e 100644 --- a/test/23_test_problems.jl +++ b/test/23_test_problems.jl @@ -88,7 +88,7 @@ end alg_ops = (GeneralBroyden(; max_resets = 10),) broken_tests = Dict(alg => Int[] for alg in alg_ops) - broken_tests[alg_ops[1]] = [1, 2, 4, 5, 6, 11, 12, 13, 14, 22] + broken_tests[alg_ops[1]] = [1, 2, 4, 5, 6, 11, 12, 13, 14] test_on_library(problems, dicts, alg_ops, broken_tests) end