Skip to content

Commit a9b9c7c

Browse files
committed
Merge branch 'master' into ys/rad_updt
2 parents 3903d75 + 37f92e3 commit a9b9c7c

File tree

3 files changed

+4
-3
lines changed

3 files changed

+4
-3
lines changed

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ solver = solve(probN, NewtonRaphson(), abstol = 1e-9)
3232
f(u, p) = u .* u .- 2.0
3333
u0 = (1.0, 2.0) # brackets
3434
probB = IntervalNonlinearProblem(f, u0)
35-
sol = solve(probB, Falsi())
35+
sol = solve(probB, ITP())
3636
```
3737

3838
## v1.0 Breaking Release Highlights!

docs/src/solvers/BracketingSolvers.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,7 @@ Solves for ``f(t)=0`` in the problem defined by `prob` using the algorithm
77

88
## Recommended Methods
99

10-
`Falsi()` can have a faster convergence and is discretely differentiable, but is
11-
less stable than `Bisection`.
10+
`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.
1211
`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.
1312
`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.
1413

@@ -19,6 +18,7 @@ less stable than `Bisection`.
1918
These methods are automatically included as part of NonlinearSolve.jl. Though, one can use
2019
SimpleNonlinearSolve.jl directly to decrease the dependencies and improve load time.
2120

21+
- `ITP`: A non-allocating ITP (Interpolate, Truncate & Project) method
2222
- `Falsi`: A non-allocating regula falsi method
2323
- `Bisection`: A common bisection method
2424
- `Ridder`: A non-allocating Ridder method

src/trustRegion.jl

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,7 @@ end
5555
TrustRegion(; chunk_size = Val{0}(), autodiff = Val{true}(),
5656
standardtag = Val{true}(), concrete_jac = nothing,
5757
diff_type = Val{:forward}, linsolve = nothing, precs = DEFAULT_PRECS,
58+
radius_update_scheme = RadiusUpdateSchemes.Simple,
5859
max_trust_radius::Real = 0 // 1,
5960
initial_trust_radius::Real = 0 // 1,
6061
step_threshold::Real = 1 // 10,

0 commit comments

Comments
 (0)