Problem with LinearSolve.jl and PardisoJL()

I encounter a problem using LinearSolve to solve a sparse linear system with PardisoJL():
The test case, test_PardisoJL.jl:

using Pkg
Pkg.activate(; temp=true)
Pkg.add("LinearSolve")
Pkg.add("Pardiso")

using LinearAlgebra
using LinearSolve
using Random
using SparseArrays
import Pardiso

include("A.jl")

A = makeA()
b = ones(size(A, 1))

linprob = LinearProblem(A, b)
x1 = LinearSolve.solve(linprob, PardisoJL())
x2 = A\b

@show norm(x1 - x2)

the result is clearly wrong. Matrix A is a 60x60 SparseMatrixCSC constructed in A.jl

test_pardiso.jl show that using Pardiso directly works fine:

using Pkg
Pkg.activate(; temp=true)
Pkg.add("MKL")
Pkg.add("Pardiso")

using LinearAlgebra
using MKL
using Random
using SparseArrays
using Pardiso

include("A.jl")

A = makeA()
b = ones(size(A, 1))

ps = MKLPardisoSolver()

x1 = similar(b)
Pardiso.solve!(ps, x1, A, b)

x2 = A\b

@show norm(x1 - x2)

test_PardisoJL.jl (321 Bytes)
test_pardiso.jl (300 Bytes)
A.jl (4.2 KB)

1 Like

Can you open an issue? This is more of a bug report than a discussion.

Sure. Iā€™m doing it now

1 Like