@@ -169,7 +169,7 @@ include("trace.jl")
169169include (" extension_algs.jl" )
170170include (" linesearch.jl" )
171171include (" raphson.jl" )
172- # include("trustRegion.jl")
172+ include (" trustRegion.jl" )
173173include (" levenberg.jl" )
174174include (" gaussnewton.jl" )
175175include (" dfsane.jl" )
@@ -179,54 +179,54 @@ include("klement.jl")
179179include (" lbroyden.jl" )
180180include (" jacobian.jl" )
181181include (" ad.jl" )
182- # include("default.jl")
183-
184- # @setup_workload begin
185- # nlfuncs = ((NonlinearFunction{false}((u, p) -> u .* u .- p), 0.1),
186- # (NonlinearFunction{false}((u, p) -> u .* u .- p), [0.1]),
187- # (NonlinearFunction{true}((du, u, p) -> du .= u .* u .- p), [0.1]))
188- # probs_nls = NonlinearProblem[]
189- # for T in (Float32, Float64), (fn, u0) in nlfuncs
190- # push!(probs_nls, NonlinearProblem(fn, T.(u0), T(2)))
191- # end
192-
193- # nls_algs = (NewtonRaphson(), TrustRegion(), LevenbergMarquardt(), PseudoTransient(),
194- # GeneralBroyden(), GeneralKlement(), DFSane(), nothing)
195-
196- # probs_nlls = NonlinearLeastSquaresProblem[]
197- # nlfuncs = ((NonlinearFunction{false}((u, p) -> (u .^ 2 .- p)[1:1]), [0.1, 0.0]),
198- # (NonlinearFunction{false}((u, p) -> vcat(u .* u .- p, u .* u .- p)), [0.1, 0.1]),
199- # (NonlinearFunction{true}((du, u, p) -> du[1] = u[1] * u[1] - p,
200- # resid_prototype = zeros(1)), [0.1, 0.0]),
201- # (NonlinearFunction{true}((du, u, p) -> du .= vcat(u .* u .- p, u .* u .- p),
202- # resid_prototype = zeros(4)), [0.1, 0.1]))
203- # for (fn, u0) in nlfuncs
204- # push!(probs_nlls, NonlinearLeastSquaresProblem(fn, u0, 2.0))
205- # end
206- # nlfuncs = ((NonlinearFunction{false}((u, p) -> (u .^ 2 .- p)[1:1]), Float32[0.1, 0.0]),
207- # (NonlinearFunction{false}((u, p) -> vcat(u .* u .- p, u .* u .- p)),
208- # Float32[0.1, 0.1]),
209- # (NonlinearFunction{true}((du, u, p) -> du[1] = u[1] * u[1] - p,
210- # resid_prototype = zeros(Float32, 1)), Float32[0.1, 0.0]),
211- # (NonlinearFunction{true}((du, u, p) -> du .= vcat(u .* u .- p, u .* u .- p),
212- # resid_prototype = zeros(Float32, 4)), Float32[0.1, 0.1]))
213- # for (fn, u0) in nlfuncs
214- # push!(probs_nlls, NonlinearLeastSquaresProblem(fn, u0, 2.0f0))
215- # end
216-
217- # nlls_algs = (LevenbergMarquardt(), GaussNewton(),
218- # LevenbergMarquardt(; linsolve = LUFactorization()),
219- # GaussNewton(; linsolve = LUFactorization()))
220-
221- # @compile_workload begin
222- # for prob in probs_nls, alg in nls_algs
223- # solve(prob, alg, abstol = 1e-2)
224- # end
225- # for prob in probs_nlls, alg in nlls_algs
226- # solve(prob, alg, abstol = 1e-2)
227- # end
228- # end
229- # end
182+ include (" default.jl" )
183+
184+ @setup_workload begin
185+ nlfuncs = ((NonlinearFunction {false} ((u, p) -> u .* u .- p), 0.1 ),
186+ (NonlinearFunction {false} ((u, p) -> u .* u .- p), [0.1 ]),
187+ (NonlinearFunction {true} ((du, u, p) -> du .= u .* u .- p), [0.1 ]))
188+ probs_nls = NonlinearProblem[]
189+ for T in (Float32, Float64), (fn, u0) in nlfuncs
190+ push! (probs_nls, NonlinearProblem (fn, T .(u0), T (2 )))
191+ end
192+
193+ nls_algs = (NewtonRaphson (), TrustRegion (), LevenbergMarquardt (), PseudoTransient (),
194+ GeneralBroyden (), GeneralKlement (), DFSane (), nothing )
195+
196+ probs_nlls = NonlinearLeastSquaresProblem[]
197+ nlfuncs = ((NonlinearFunction {false} ((u, p) -> (u .^ 2 .- p)[1 : 1 ]), [0.1 , 0.0 ]),
198+ (NonlinearFunction {false} ((u, p) -> vcat (u .* u .- p, u .* u .- p)), [0.1 , 0.1 ]),
199+ (NonlinearFunction {true} ((du, u, p) -> du[1 ] = u[1 ] * u[1 ] - p,
200+ resid_prototype = zeros (1 )), [0.1 , 0.0 ]),
201+ (NonlinearFunction {true} ((du, u, p) -> du .= vcat (u .* u .- p, u .* u .- p),
202+ resid_prototype = zeros (4 )), [0.1 , 0.1 ]))
203+ for (fn, u0) in nlfuncs
204+ push! (probs_nlls, NonlinearLeastSquaresProblem (fn, u0, 2.0 ))
205+ end
206+ nlfuncs = ((NonlinearFunction {false} ((u, p) -> (u .^ 2 .- p)[1 : 1 ]), Float32[0.1 , 0.0 ]),
207+ (NonlinearFunction {false} ((u, p) -> vcat (u .* u .- p, u .* u .- p)),
208+ Float32[0.1 , 0.1 ]),
209+ (NonlinearFunction {true} ((du, u, p) -> du[1 ] = u[1 ] * u[1 ] - p,
210+ resid_prototype = zeros (Float32, 1 )), Float32[0.1 , 0.0 ]),
211+ (NonlinearFunction {true} ((du, u, p) -> du .= vcat (u .* u .- p, u .* u .- p),
212+ resid_prototype = zeros (Float32, 4 )), Float32[0.1 , 0.1 ]))
213+ for (fn, u0) in nlfuncs
214+ push! (probs_nlls, NonlinearLeastSquaresProblem (fn, u0, 2.0f0 ))
215+ end
216+
217+ nlls_algs = (LevenbergMarquardt (), GaussNewton (),
218+ LevenbergMarquardt (; linsolve = LUFactorization ()),
219+ GaussNewton (; linsolve = LUFactorization ()))
220+
221+ @compile_workload begin
222+ for prob in probs_nls, alg in nls_algs
223+ solve (prob, alg, abstol = 1e-2 )
224+ end
225+ for prob in probs_nlls, alg in nlls_algs
226+ solve (prob, alg, abstol = 1e-2 )
227+ end
228+ end
229+ end
230230
231231export RadiusUpdateSchemes
232232
0 commit comments