求解大型稀疏矩阵方程组AX=B,A和B都为稀疏矩阵的方法

我现在想要解决一个大型稀疏矩阵方程组,类似AX=B,当A为稀疏矩阵,B为普通矩阵可以利用Pardiso.jl库包正常求解。但因为A和B都是稀疏矩阵,所以在使用Pardiso.jl库包时,出现方法不匹配的错误。代码如下:
using Pardiso;
using SparseArrays;
ps = MKLPardisoSolver()
A = sparse(rand(10, 10))
B = sparse(rand(10, 2))
X = zeros(10, 2)
solve!(ps, X, A, B)
出现如下错误:
julia> solve!(ps, X, A, B)
ERROR: MethodError: no method matching solve!(::MKLPardisoSolver, ::Array{Float64,2}, ::SparseMatrixCSC{Float64,Int64}, ::SparseMatrixCSC{Float64,Int64})
Closest candidates are:
solve!(::Pardiso.AbstractPardisoSolver, ::StridedVecOrMat{Tv}, ::SparseMatrixCSC{Tv,Ti}, ::StridedVecOrMat{Tv}) where {Ti, Tv<:Union{Complex{Float64}, Float64}} at C:\Users\你好.julia\packages\Pardiso\yZsYO\src\Pardiso.jl:235
solve!(::Pardiso.AbstractPardisoSolver, ::StridedVecOrMat{Tv}, ::SparseMatrixCSC{Tv,Ti}, ::StridedVecOrMat{Tv}, ::Symbol) where {Ti, Tv<:Union{Complex{Float64}, Float64}} at C:\Users\你好.julia\packages\Pardiso\yZsYO\src\Pardiso.jl:235
Stacktrace:
[1] top-level scope at REPL[114]:1

所以想问一下,
1.有没有什么方法可以求解AX=B,其中A和B都为稀疏矩阵的方程组的方法。
2.为什么A和B都为稀疏矩阵时,用Pardiao.jl求解会出错。
感谢您的回复!

京ICP备17009874号-2