|
1 | 1 | @testsetup module CoreRootfindTesting
|
2 | 2 | using Reexport
|
3 | 3 | @reexport using BenchmarkTools, LinearSolve, NonlinearSolve, StaticArrays, Random,
|
4 |
| - LinearAlgebra, ForwardDiff, Zygote, Enzyme, DiffEqBase |
| 4 | + LinearAlgebra, ForwardDiff, Zygote, Enzyme, DiffEqBase, |
| 5 | + SparseConnectivityTracer |
5 | 6 | using LineSearches: LineSearches
|
6 | 7 |
|
7 | 8 | _nameof(x) = applicable(nameof, x) ? nameof(x) : _nameof(typeof(x))
|
@@ -116,12 +117,12 @@ end
|
116 | 117 | @test nlprob_iterator_interface(quadratic_f, p, Val(false), NewtonRaphson()) ≈ sqrt.(p)
|
117 | 118 | @test nlprob_iterator_interface(quadratic_f!, p, Val(true), NewtonRaphson()) ≈ sqrt.(p)
|
118 | 119 |
|
119 |
| - @testset "ADType: $(autodiff) u0: $(_nameof(u0))" for autodiff in ( |
120 |
| - AutoSparse(AutoForwardDiff()), AutoSparse(AutoFiniteDiff()), |
121 |
| - AutoZygote(), AutoSparse(AutoZygote()), AutoSparse(AutoEnzyme())), |
| 120 | + @testset "Sparsity ADType: $(autodiff) u0: $(_nameof(u0))" for autodiff in ( |
| 121 | + AutoForwardDiff(), AutoFiniteDiff(), AutoZygote(), AutoEnzyme()), |
122 | 122 | u0 in (1.0, [1.0, 1.0])
|
123 | 123 |
|
124 |
| - probN = NonlinearProblem(quadratic_f, u0, 2.0) |
| 124 | + probN = NonlinearProblem( |
| 125 | + NonlinearFunction(quadratic_f; sparsity = TracerSparsityDetector()), u0, 2.0) |
125 | 126 | @test all(solve(probN, NewtonRaphson(; autodiff)).u .≈ sqrt(2.0))
|
126 | 127 | end
|
127 | 128 |
|
@@ -180,12 +181,12 @@ end
|
180 | 181 | @test nlprob_iterator_interface(quadratic_f!, p, Val(true), TrustRegion()) ≈ sqrt.(p)
|
181 | 182 |
|
182 | 183 | @testset "$(_nameof(autodiff)) u0: $(_nameof(u0)) $(radius_update_scheme)" for autodiff in (
|
183 |
| - AutoSparse(AutoForwardDiff()), AutoSparse(AutoFiniteDiff()), |
184 |
| - AutoZygote(), AutoSparse(AutoZygote()), AutoSparse(AutoEnzyme())), |
| 184 | + AutoForwardDiff(), AutoFiniteDiff(), AutoZygote(), AutoEnzyme()), |
185 | 185 | u0 in (1.0, [1.0, 1.0]),
|
186 | 186 | radius_update_scheme in radius_update_schemes
|
187 | 187 |
|
188 |
| - probN = NonlinearProblem(quadratic_f, u0, 2.0) |
| 188 | + probN = NonlinearProblem( |
| 189 | + NonlinearFunction(quadratic_f; sparsity = TracerSparsityDetector()), u0, 2.0) |
189 | 190 | @test all(solve(probN, TrustRegion(; autodiff, radius_update_scheme)).u .≈
|
190 | 191 | sqrt(2.0))
|
191 | 192 | end
|
@@ -276,11 +277,11 @@ end
|
276 | 277 | end
|
277 | 278 |
|
278 | 279 | @testset "ADType: $(autodiff) u0: $(_nameof(u0))" for autodiff in (
|
279 |
| - AutoSparse(AutoForwardDiff()), AutoSparse(AutoFiniteDiff()), |
280 |
| - AutoZygote(), AutoSparse(AutoZygote()), AutoSparse(AutoEnzyme())), |
| 280 | + AutoForwardDiff(), AutoFiniteDiff(), AutoZygote(), AutoEnzyme()), |
281 | 281 | u0 in (1.0, [1.0, 1.0])
|
282 | 282 |
|
283 |
| - probN = NonlinearProblem(quadratic_f, u0, 2.0) |
| 283 | + probN = NonlinearProblem( |
| 284 | + NonlinearFunction(quadratic_f; sparsity = TracerSparsityDetector()), u0, 2.0) |
284 | 285 | @test all(solve(
|
285 | 286 | probN, LevenbergMarquardt(; autodiff); abstol = 1e-9, reltol = 1e-9).u .≈
|
286 | 287 | sqrt(2.0))
|
@@ -458,11 +459,11 @@ end
|
458 | 459 | quadratic_f!, p, Val(true), PseudoTransient(; alpha_initial = 10.0)) ≈ sqrt.(p)
|
459 | 460 |
|
460 | 461 | @testset "ADType: $(autodiff) u0: $(_nameof(u0))" for autodiff in (
|
461 |
| - AutoSparse(AutoForwardDiff()), AutoSparse(AutoFiniteDiff()), |
462 |
| - AutoZygote(), AutoSparse(AutoZygote()), AutoSparse(AutoEnzyme())), |
| 462 | + AutoForwardDiff(), AutoFiniteDiff(), AutoZygote(), AutoEnzyme()), |
463 | 463 | u0 in (1.0, [1.0, 1.0])
|
464 | 464 |
|
465 |
| - probN = NonlinearProblem(quadratic_f, u0, 2.0) |
| 465 | + probN = NonlinearProblem( |
| 466 | + NonlinearFunction(quadratic_f; sparsity = TracerSparsityDetector()), u0, 2.0) |
466 | 467 | @test all(solve(probN, PseudoTransient(; alpha_initial = 10.0, autodiff)).u .≈
|
467 | 468 | sqrt(2.0))
|
468 | 469 | end
|
|
0 commit comments