|
38 | 38 | @testset "[IIP] u0: $(typeof(u0))" for u0 in ([1.0, 1.0],)
|
39 | 39 | ad isa AutoZygote && continue
|
40 | 40 |
|
41 |
| - @testset for linsolve in ( |
42 |
| - nothing, |
43 |
| - KrylovJL_GMRES(; precs = nothing), |
44 |
| - KrylovJL_GMRES(; |
45 |
| - precs = (A, p = nothing) -> ( |
46 |
| - Diagonal(randn!(similar(A, size(A, 1)))), LinearAlgebra.I |
| 41 | + @testset for (concrete_jac, linsolve) in ( |
| 42 | + (Val(false), nothing), |
| 43 | + (Val(false), KrylovJL_GMRES(; precs = nothing)), |
| 44 | + ( |
| 45 | + Val(true), |
| 46 | + KrylovJL_GMRES(; |
| 47 | + precs = (A, p = nothing) -> ( |
| 48 | + Diagonal(randn!(similar(A, size(A, 1)))), LinearAlgebra.I |
| 49 | + ) |
47 | 50 | )
|
48 | 51 | ),
|
49 |
| - \ |
| 52 | + (Val(false), \) |
50 | 53 | )
|
51 |
| - solver = NewtonRaphson(; linsolve, linesearch, autodiff = ad) |
| 54 | + solver = NewtonRaphson(; |
| 55 | + linsolve, linesearch, autodiff = ad, concrete_jac |
| 56 | + ) |
52 | 57 |
|
53 | 58 | sol = solve_iip(quadratic_f!, u0; solver)
|
54 | 59 | @test SciMLBase.successful_retcode(sol)
|
@@ -114,17 +119,22 @@ end
|
114 | 119 | @testset "[IIP] u0: $(typeof(u0))" for u0 in ([1.0, 1.0],)
|
115 | 120 | ad isa AutoZygote && continue
|
116 | 121 |
|
117 |
| - @testset for linsolve in ( |
118 |
| - nothing, |
119 |
| - KrylovJL_GMRES(; precs = nothing), |
120 |
| - KrylovJL_GMRES(; |
121 |
| - precs = (A, p = nothing) -> ( |
122 |
| - Diagonal(randn!(similar(A, size(A, 1)))), LinearAlgebra.I |
| 122 | + @testset for (concrete_jac, linsolve) in ( |
| 123 | + (Val(false), nothing), |
| 124 | + (Val(false), KrylovJL_GMRES(; precs = nothing)), |
| 125 | + ( |
| 126 | + Val(true), |
| 127 | + KrylovJL_GMRES(; |
| 128 | + precs = (A, p = nothing) -> ( |
| 129 | + Diagonal(randn!(similar(A, size(A, 1)))), LinearAlgebra.I |
| 130 | + ) |
123 | 131 | )
|
124 | 132 | ),
|
125 |
| - \ |
| 133 | + (Val(false), \) |
126 | 134 | )
|
127 |
| - solver = PseudoTransient(; alpha_initial = 10.0, linsolve, autodiff = ad) |
| 135 | + solver = PseudoTransient(; |
| 136 | + alpha_initial = 10.0, linsolve, autodiff = ad, concrete_jac |
| 137 | + ) |
128 | 138 | sol = solve_iip(quadratic_f!, u0; solver)
|
129 | 139 | @test SciMLBase.successful_retcode(sol)
|
130 | 140 | err = maximum(abs, quadratic_f(sol.u, 2.0))
|
|
0 commit comments