Thank you!
In my use case of A\B, A has off-diagonal terms, for example, A = spdiagm((2*ones(200),ones(199),ones(199)),(0,-1,1))
But the inverse leads to an error, A\speye(200) ERROR: MethodError: no method matching lufact!(::Hermitian{Float64,SparseMatrixCSC{Float64,Int64}}, ::Type{Val{true}}) Closest candidates are:
Not sure why this happens.
Edit: A\eye(200) returns a dense matrix.
spdiagm((2*ones(200),ones(100),ones(100)),(0,-100,100)) \ speye(200) should be a sparse matrix, but neither Julia-0.6.4 nor Julia-1.0.0 can handle it.
If we know A and A^{-1} are sparse, we may need to construct A^{-1} instead of A \ speye.
Realize that, for almost any sparse matrices A and B, A \ B is not sparse. Only if A is extremely special, e.g. a diagonal matrix, will the result be sparse, and in such cases you should probably take advantage of A’s special properties rather than using a general sparse solver.