Skip to content

Commit 37f92e3

Browse files
Merge pull request #198 from yash2798/ys/itp_docs
Updating docs and tutorials for ITP
2 parents c71184c + 34aa535 commit 37f92e3

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
@@ -11,6 +11,7 @@ end
1111
TrustRegion(; chunk_size = Val{0}(), autodiff = Val{true}(),
1212
standardtag = Val{true}(), concrete_jac = nothing,
1313
diff_type = Val{:forward}, linsolve = nothing, precs = DEFAULT_PRECS,
14+
radius_update_scheme = RadiusUpdateSchemes.Simple,
1415
max_trust_radius::Real = 0 // 1,
1516
initial_trust_radius::Real = 0 // 1,
1617
step_threshold::Real = 1 // 10,

0 commit comments

Comments
 (0)