From 306e03ff6d8d29da5ad7ebb4e46b3e2b330297c4 Mon Sep 17 00:00:00 2001 From: Yash Raj Singh Date: Wed, 2 Aug 2023 19:39:49 +0200 Subject: [PATCH 1/4] minor tr docstring fix --- src/trustRegion.jl | 1 + 1 file changed, 1 insertion(+) diff --git a/src/trustRegion.jl b/src/trustRegion.jl index 828eeb9b1..f6e86a678 100644 --- a/src/trustRegion.jl +++ b/src/trustRegion.jl @@ -11,6 +11,7 @@ end TrustRegion(; chunk_size = Val{0}(), autodiff = Val{true}(), standardtag = Val{true}(), concrete_jac = nothing, diff_type = Val{:forward}, linsolve = nothing, precs = DEFAULT_PRECS, + radius_update_scheme = RadiusUpdateSchemes.Simple, max_trust_radius::Real = 0 // 1, initial_trust_radius::Real = 0 // 1, step_threshold::Real = 1 // 10, From 72998dda468b183cf6b8b4d3d6b7465e90457735 Mon Sep 17 00:00:00 2001 From: Yash Raj Singh Date: Wed, 2 Aug 2023 19:55:30 +0200 Subject: [PATCH 2/4] Update BracketingSolvers.md added itp def --- docs/src/solvers/BracketingSolvers.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/docs/src/solvers/BracketingSolvers.md b/docs/src/solvers/BracketingSolvers.md index 5d15b29c1..f09e64cc2 100644 --- a/docs/src/solvers/BracketingSolvers.md +++ b/docs/src/solvers/BracketingSolvers.md @@ -7,6 +7,7 @@ Solves for ``f(t)=0`` in the problem defined by `prob` using the algorithm ## Recommended Methods +`ITP()` is the recommended method for the scalar interval root-finding problems. `Falsi()` can have a faster convergence and is discretely differentiable, but is less stable than `Bisection`. `Ridder` is a hybrid method that uses the value of function at the midpoint of the interval to perform an exponential interpolation to the root. This gives a fast convergence with a guaranteed convergence of at most twice the number of iterations as the bisection method. @@ -19,6 +20,7 @@ less stable than `Bisection`. These methods are automatically included as part of NonlinearSolve.jl. Though, one can use SimpleNonlinearSolve.jl directly to decrease the dependencies and improve load time. + - `ITP`: A non-allocating ITP (Interpolate, Truncate & Project) method - `Falsi`: A non-allocating regula falsi method - `Bisection`: A common bisection method - `Ridder`: A non-allocating Ridder method From 706111b11fb74872a5a08582325a578c4c9e0243 Mon Sep 17 00:00:00 2001 From: Yash Raj Singh Date: Mon, 14 Aug 2023 23:19:40 +0200 Subject: [PATCH 3/4] itp recommended method --- README.md | 2 +- docs/src/solvers/BracketingSolvers.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 142021ec9..c4b70d413 100644 --- a/README.md +++ b/README.md @@ -32,7 +32,7 @@ solver = solve(probN, NewtonRaphson(), abstol = 1e-9) f(u, p) = u .* u .- 2.0 u0 = (1.0, 2.0) # brackets probB = IntervalNonlinearProblem(f, u0) -sol = solve(probB, Falsi()) +sol = solve(probB, ITP()) ``` ## v1.0 Breaking Release Highlights! diff --git a/docs/src/solvers/BracketingSolvers.md b/docs/src/solvers/BracketingSolvers.md index f09e64cc2..d86f79b4e 100644 --- a/docs/src/solvers/BracketingSolvers.md +++ b/docs/src/solvers/BracketingSolvers.md @@ -7,7 +7,7 @@ Solves for ``f(t)=0`` in the problem defined by `prob` using the algorithm ## Recommended Methods -`ITP()` is the recommended method for the scalar interval root-finding problems. +`ITP()` is the recommended method for the scalar interval root-finding problems. It is particularly well-suited for cases where the function is smooth and well-behaved; and achieved superlinear convergence while retaining the optimal worst-case performance of the Bisection method. For more details, consult the detailed solver API docs. `Falsi()` can have a faster convergence and is discretely differentiable, but is less stable than `Bisection`. `Ridder` is a hybrid method that uses the value of function at the midpoint of the interval to perform an exponential interpolation to the root. This gives a fast convergence with a guaranteed convergence of at most twice the number of iterations as the bisection method. From 34aa535b322d194d30e5113d592a10e32b9dd5fe Mon Sep 17 00:00:00 2001 From: Christopher Rackauckas Date: Tue, 15 Aug 2023 00:21:38 +0200 Subject: [PATCH 4/4] Update docs/src/solvers/BracketingSolvers.md --- docs/src/solvers/BracketingSolvers.md | 2 -- 1 file changed, 2 deletions(-) diff --git a/docs/src/solvers/BracketingSolvers.md b/docs/src/solvers/BracketingSolvers.md index d86f79b4e..0aeae323b 100644 --- a/docs/src/solvers/BracketingSolvers.md +++ b/docs/src/solvers/BracketingSolvers.md @@ -8,8 +8,6 @@ Solves for ``f(t)=0`` in the problem defined by `prob` using the algorithm ## Recommended Methods `ITP()` is the recommended method for the scalar interval root-finding problems. It is particularly well-suited for cases where the function is smooth and well-behaved; and achieved superlinear convergence while retaining the optimal worst-case performance of the Bisection method. For more details, consult the detailed solver API docs. -`Falsi()` can have a faster convergence and is discretely differentiable, but is -less stable than `Bisection`. `Ridder` is a hybrid method that uses the value of function at the midpoint of the interval to perform an exponential interpolation to the root. This gives a fast convergence with a guaranteed convergence of at most twice the number of iterations as the bisection method. `Brent` is a combination of the bisection method, the secant method and inverse quadratic interpolation. At every iteration, Brent's method decides which method out of these three is likely to do best, and proceeds by doing a step according to that method. This gives a robust and fast method, which therefore enjoys considerable popularity.