@@ -169,7 +169,7 @@ include("trace.jl")
169
169
include (" extension_algs.jl" )
170
170
include (" linesearch.jl" )
171
171
include (" raphson.jl" )
172
- # include("trustRegion.jl")
172
+ include (" trustRegion.jl" )
173
173
include (" levenberg.jl" )
174
174
include (" gaussnewton.jl" )
175
175
include (" dfsane.jl" )
@@ -179,54 +179,54 @@ include("klement.jl")
179
179
include (" lbroyden.jl" )
180
180
include (" jacobian.jl" )
181
181
include (" 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
230
230
231
231
export RadiusUpdateSchemes
232
232
0 commit comments