@@ -3,6 +3,7 @@ module LinearSolveSparseArraysExt
33using LinearSolve, LinearAlgebra
44using SparseArrays
55using SparseArrays: AbstractSparseMatrixCSC, nonzeros, rowvals, getcolptr
6+ using LinearSolve: BLASELTYPES
67
78# Can't `using KLU` because cannot have a dependency in there without
89# requiring the user does `using KLU`
@@ -39,7 +40,7 @@ function LinearSolve.handle_sparsematrixcsc_lu(A::AbstractSparseMatrixCSC)
3940end
4041
4142function LinearSolve. defaultalg (
42- A:: Symmetric{<:Number , <:SparseMatrixCSC} , b, :: OperatorAssumptions{Bool} )
43+ A:: Symmetric{<:BLASELTYPES , <:SparseMatrixCSC} , b, :: OperatorAssumptions{Bool} )
4344 LinearSolve. DefaultLinearSolver (LinearSolve. DefaultAlgorithmChoice. CHOLMODFactorization)
4445end
4546
@@ -78,7 +79,7 @@ function LinearSolve.init_cacheval(
7879end
7980
8081function LinearSolve. init_cacheval (
81- alg:: UMFPACKFactorization , A:: AbstractSparseArray , b, u, Pl, Pr,
82+ alg:: UMFPACKFactorization , A:: AbstractSparseArray{Float64} , b, u, Pl, Pr,
8283 maxiters:: Int , abstol,
8384 reltol,
8485 verbose:: Bool , assumptions:: OperatorAssumptions )
@@ -136,7 +137,7 @@ function LinearSolve.init_cacheval(
136137end
137138
138139function LinearSolve. init_cacheval (
139- alg:: KLUFactorization , A:: AbstractSparseArray , b, u, Pl, Pr,
140+ alg:: KLUFactorization , A:: AbstractSparseArray{Float64} , b, u, Pl, Pr,
140141 maxiters:: Int , abstol,
141142 reltol,
142143 verbose:: Bool , assumptions:: OperatorAssumptions )
@@ -186,15 +187,15 @@ function LinearSolve.init_cacheval(alg::CHOLMODFactorization,
186187 Pl, Pr,
187188 maxiters:: Int , abstol, reltol,
188189 verbose:: Bool , assumptions:: OperatorAssumptions ) where {T < :
189- Union{Float32, Float64} }
190+ BLASELTYPES }
190191 PREALLOCATED_CHOLMOD
191192end
192193
193194function LinearSolve. init_cacheval (alg:: NormalCholeskyFactorization ,
194- A:: Union {AbstractSparseArray, LinearSolve. GPUArraysCore. AnyGPUArray,
195- Symmetric{<: Number , <: AbstractSparseArray }}, b, u, Pl, Pr,
195+ A:: Union {AbstractSparseArray{T} , LinearSolve. GPUArraysCore. AnyGPUArray,
196+ Symmetric{T , <: AbstractSparseArray{T} }}, b, u, Pl, Pr,
196197 maxiters:: Int , abstol, reltol, verbose:: Bool ,
197- assumptions:: OperatorAssumptions )
198+ assumptions:: OperatorAssumptions ) where {T <: BLASELTYPES }
198199 LinearSolve. ArrayInterface. cholesky_instance (convert (AbstractMatrix, A))
199200end
200201
0 commit comments