Skip to content

Commit 28188d9

Browse files
Move last of pardiso to the subpackage
1 parent 29aecf0 commit 28188d9

File tree

2 files changed

+28
-20
lines changed

2 files changed

+28
-20
lines changed
Lines changed: 28 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,30 +1,47 @@
11
using 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])
77
b1 = rand(4)
88
prob1 = LinearProblem(A1, b1)
99

1010
lambda = 3
1111
e = 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)
1414
b2 = rand(n) + im * zeros(n)
1515

1616
prob2 = LinearProblem(A2, b2)
1717

1818
for 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

test/basictests.jl

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff 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
252243
end
253244

254245
@testset "Solve Function" begin

0 commit comments

Comments
 (0)