@@ -72,19 +72,13 @@ const PREALLOCATED_UMFPACK = SparseArrays.UMFPACK.UmfpackLU(SparseMatrixCSC(0, 0
7272 Int[], Float64[]))
7373
7474function LinearSolve. init_cacheval (
75- alg:: Union{LUFactorization, QRFactorization, GenericLUFactorization} , A:: AbstractSparseArray{<:Number, <:Integer} , b, u,
75+ alg:: Union{LUFactorization, GenericLUFactorization} , A:: AbstractSparseArray{<:Number, <:Integer} , b, u,
7676 Pl, Pr,
7777 maxiters:: Int , abstol, reltol,
7878 verbose:: Bool , assumptions:: OperatorAssumptions )
7979 nothing
8080end
8181
82- function init_cacheval (alg:: QRFactorization , A:: SparseMatrixCSC{Float64, Int} , b, u, Pl, Pr,
83- maxiters:: Int , abstol, reltol, verbose:: Bool ,
84- assumptions:: OperatorAssumptions )
85- ArrayInterface. qr_instance (convert (AbstractMatrix, A), alg. pivot)
86- end
87-
8882function LinearSolve. init_cacheval (
8983 alg:: UMFPACKFactorization , A:: AbstractArray , b, u,
9084 Pl, Pr,
@@ -259,6 +253,21 @@ function LinearSolve.defaultalg(
259253 end
260254end
261255
256+ # SPQR Handling
257+ function LinearSolve. init_cacheval (
258+ alg:: Union{QRFactorization} , A:: AbstractSparseArray{<:Number, <:Integer} , b, u,
259+ Pl, Pr,
260+ maxiters:: Int , abstol, reltol,
261+ verbose:: Bool , assumptions:: OperatorAssumptions )
262+ nothing
263+ end
264+
265+ function init_cacheval (alg:: QRFactorization , A:: SparseMatrixCSC{Float64, Int} , b, u, Pl, Pr,
266+ maxiters:: Int , abstol, reltol, verbose:: Bool ,
267+ assumptions:: OperatorAssumptions )
268+ ArrayInterface. qr_instance (convert (AbstractMatrix, A), alg. pivot)
269+ end
270+
262271LinearSolve. PrecompileTools. @compile_workload begin
263272 A = sprand (4 , 4 , 0.3 ) + I
264273 b = rand (4 )
0 commit comments