File tree Expand file tree Collapse file tree 2 files changed +28
-20
lines changed
lib/LinearSolvePardiso/test Expand file tree Collapse file tree 2 files changed +28
-20
lines changed Original file line number Diff line number Diff line change 11using LinearSolve, LinearSolvePardiso, SparseArrays
22
3- A1 = sparse ([ 1. 0 - 2 3
4- 0 5 1 2
5- - 2 1 4 - 7
6- 3 2 - 7 5 ])
3+ A1 = sparse ([1.0 0 - 2 3
4+ 0 5 1 2
5+ - 2 1 4 - 7
6+ 3 2 - 7 5 ])
77b1 = rand (4 )
88prob1 = LinearProblem (A1, b1)
99
1010lambda = 3
1111e = ones (n)
12- e2 = ones (n- 1 )
13- A2 = spdiagm (- 1 => im* e2, 0 => lambda* e, 1 => - im* e2)
12+ e2 = ones (n - 1 )
13+ A2 = spdiagm (- 1 => im * e2, 0 => lambda * e, 1 => - im * e2)
1414b2 = rand (n) + im * zeros (n)
1515
1616prob2 = LinearProblem (A2, b2)
1717
1818for alg in (
19- PardisoJL (),
20- MKLPardisoFactorize (),
21- MKLPardisoIterate (),
22- )
19+ PardisoJL (),
20+ MKLPardisoFactorize (),
21+ MKLPardisoIterate (),
22+ )
2323
2424 u = solve (prob1, alg; cache_kwargs... ). u
2525 @test A1 * u ≈ b1
2626
2727 u = solve (prob2, alg; cache_kwargs... ). u
2828 @test eltype (u) <: Complex
2929 @test_broken A2 * u ≈ b2
30- end
30+ end
31+
32+ n = 4
33+ Random. seed! (10 )
34+ A = sprand (n, n, 0.8 );
35+ A2 = 2.0 .* A;
36+ b1 = rand (n);
37+ b2 = rand (n);
38+ prob = LinearProblem (copy (A), copy (b1))
39+
40+ linsolve = init (prob, MKLPardisoFactorize ())
41+ sol31 = solve (linsolve)
42+ linsolve = LinearSolve. set_b (sol31. cache, copy (b2))
43+ sol32 = solve (linsolve)
44+ linsolve = LinearSolve. set_A (sol32. cache, copy (A2))
45+ sol33 = solve (linsolve)
46+ @test sol13. u ≈ sol23. u
47+ @test sol13. u ≈ sol33. u
Original file line number Diff line number Diff line change @@ -236,19 +236,10 @@ end
236236 linsolve = LinearSolve. set_A (sol22. cache,copy (A2))
237237 sol23 = solve (linsolve)
238238
239- linsolve = init (prob,MKLPardisoFactorize ())
240- sol31 = solve (linsolve)
241- linsolve = LinearSolve. set_b (sol31. cache,copy (b2))
242- sol32 = solve (linsolve)
243- linsolve = LinearSolve. set_A (sol32. cache,copy (A2))
244- sol33 = solve (linsolve)
245-
246239 @test sol11. u ≈ sol21. u
247240 @test sol11. u ≈ sol31. u
248241 @test sol12. u ≈ sol22. u
249242 @test sol12. u ≈ sol32. u
250- @test sol13. u ≈ sol23. u
251- @test sol13. u ≈ sol33. u
252243end
253244
254245@testset " Solve Function" begin
You can’t perform that action at this time.
0 commit comments