11"""
22```julia
3- TrustRegion (max_trust_radius::Number; chunk_size = Val{0}(),
3+ SimpleTrustRegion (max_trust_radius::Number; chunk_size = Val{0}(),
44 autodiff = Val{true}(), diff_type = Val{:forward})
55```
66
@@ -49,16 +49,16 @@ solver
4949- `max_shrink_times`: the maximum number of times to shrink the trust region radius in a
5050 row, `max_shrink_times` is exceeded, the algorithm returns. Defaults to `32`.
5151"""
52- struct TrustRegion{ CS, AD, FDT} <: AbstractNewtonAlgorithm{CS, AD, FDT}
53- max_trust_radius:: Number
54- initial_trust_radius:: Number
55- step_threshold:: Number
56- shrink_threshold:: Number
57- expand_threshold:: Number
58- shrink_factor:: Number
59- expand_factor:: Number
52+ struct SimpleTrustRegion{T, CS, AD, FDT} <: AbstractNewtonAlgorithm{CS, AD, FDT}
53+ max_trust_radius:: T
54+ initial_trust_radius:: T
55+ step_threshold:: T
56+ shrink_threshold:: T
57+ expand_threshold:: T
58+ shrink_factor:: T
59+ expand_factor:: T
6060 max_shrink_times:: Int
61- function TrustRegion (max_trust_radius:: Number ; chunk_size = Val {0} (),
61+ function SimpleTrustRegion (max_trust_radius:: Number ; chunk_size = Val {0} (),
6262 autodiff = Val {true} (),
6363 diff_type = Val{:forward },
6464 initial_trust_radius:: Number = max_trust_radius / 11 ,
@@ -68,8 +68,9 @@ struct TrustRegion{CS, AD, FDT} <: AbstractNewtonAlgorithm{CS, AD, FDT}
6868 shrink_factor:: Number = 0.25 ,
6969 expand_factor:: Number = 2.0 ,
7070 max_shrink_times:: Int = 32 )
71- new{SciMLBase. _unwrap_val (chunk_size), SciMLBase. _unwrap_val (autodiff),
72- SciMLBase. _unwrap_val (diff_type)}(max_trust_radius, initial_trust_radius,
71+ new{typeof (initial_trust_radius), SciMLBase. _unwrap_val (chunk_size),
72+ SciMLBase. _unwrap_val (autodiff), SciMLBase. _unwrap_val (diff_type)}(
73+ max_trust_radius, initial_trust_radius,
7374 step_threshold,
7475 shrink_threshold, expand_threshold,
7576 shrink_factor,
@@ -78,7 +79,7 @@ struct TrustRegion{CS, AD, FDT} <: AbstractNewtonAlgorithm{CS, AD, FDT}
7879end
7980
8081function SciMLBase. __solve (prob:: NonlinearProblem ,
81- alg:: TrustRegion , args... ; abstol = nothing ,
82+ alg:: SimpleTrustRegion , args... ; abstol = nothing ,
8283 reltol = nothing ,
8384 maxiters = 1000 , kwargs... )
8485 f = Base. Fix2 (prob. f, prob. p)
0 commit comments