@@ -4,11 +4,14 @@ using LinearSolve: LinearSolve, BLASELTYPES, pattern_changed, ArrayInterface,
44 @get_cacheval , CHOLMODFactorization, GenericFactorization, GenericLUFactorization,
55 KLUFactorization, LUFactorization, NormalCholeskyFactorization, OperatorAssumptions,
66 QRFactorization, RFLUFactorization, UMFPACKFactorization, solve
7- using LinearAlgebra: LinearAlgebra, I, Hermitian, Symmetric, cholesky, ldiv!, lu, lu!
7+ using ArrayInterface: ArrayInterface
8+ using LinearAlgebra: LinearAlgebra, I, Hermitian, Symmetric, cholesky, ldiv!, lu, lu!, QR
89using SparseArrays: SparseArrays, AbstractSparseArray, AbstractSparseMatrixCSC, SparseMatrixCSC,
910 nonzeros, rowvals, getcolptr, sparse, sprand
11+ using SparseArrays. UMFPACK: UMFPACK_OK
1012using Base: / , \ , convert
1113using SciMLBase: SciMLBase, LinearProblem, ReturnCode
14+ import StaticArraysCore: SVector
1215
1316# Can't `using KLU` because cannot have a dependency in there without
1417# requiring the user does `using KLU`
@@ -192,7 +195,7 @@ function SciMLBase.solve!(
192195 end
193196
194197 F = LinearSolve. @get_cacheval (cache, :UMFPACKFactorization )
195- if F. status == SparseArrays . UMFPACK . UMFPACK_OK
198+ if F. status == UMFPACK_OK
196199 y = ldiv! (cache. u, F, cache. b)
197200 SciMLBase. build_linear_solution (alg, y, nothing , cache; retcode = ReturnCode. Success)
198201 else
@@ -303,36 +306,36 @@ function LinearSolve.init_cacheval(alg::NormalCholeskyFactorization,
303306 Symmetric{T, <: AbstractSparseArray{T} }}, b, u, Pl, Pr,
304307 maxiters:: Int , abstol, reltol, verbose:: Bool ,
305308 assumptions:: OperatorAssumptions ) where {T <: BLASELTYPES }
306- LinearSolve . ArrayInterface. cholesky_instance (convert (AbstractMatrix, A))
309+ ArrayInterface. cholesky_instance (convert (AbstractMatrix, A))
307310end
308311
309312# Specialize QR for the non-square case
310313# Missing ldiv! definitions: https://github.com/JuliaSparse/SparseArrays.jl/issues/242
311314function LinearSolve. _ldiv! (x:: Vector ,
312- A:: Union {SparseArrays . QR, LinearAlgebra. QRCompactWY,
315+ A:: Union {QR, LinearAlgebra. QRCompactWY,
313316 SparseArrays. SPQR. QRSparse,
314317 SparseArrays. CHOLMOD. Factor}, b:: Vector )
315318 x .= A \ b
316319end
317320
318321function LinearSolve. _ldiv! (x:: AbstractVector ,
319- A:: Union {SparseArrays . QR, LinearAlgebra. QRCompactWY,
322+ A:: Union {QR, LinearAlgebra. QRCompactWY,
320323 SparseArrays. SPQR. QRSparse,
321324 SparseArrays. CHOLMOD. Factor}, b:: AbstractVector )
322325 x .= A \ b
323326end
324327
325328# Ambiguity removal
326- function LinearSolve. _ldiv! (:: LinearSolve. SVector ,
329+ function LinearSolve. _ldiv! (:: SVector ,
327330 A:: Union {SparseArrays. CHOLMOD. Factor, LinearAlgebra. QR,
328331 LinearAlgebra. QRCompactWY, SparseArrays. SPQR. QRSparse},
329332 b:: AbstractVector )
330333 (A \ b)
331334end
332- function LinearSolve. _ldiv! (:: LinearSolve. SVector ,
335+ function LinearSolve. _ldiv! (:: SVector ,
333336 A:: Union {SparseArrays. CHOLMOD. Factor, LinearAlgebra. QR,
334337 LinearAlgebra. QRCompactWY, SparseArrays. SPQR. QRSparse},
335- b:: LinearSolve. SVector )
338+ b:: SVector )
336339 (A \ b)
337340end
338341
@@ -365,16 +368,10 @@ function LinearSolve.init_cacheval(
365368 nothing
366369end
367370
368- function LinearSolve. init_cacheval (alg:: QRFactorization , A:: SparseMatrixCSC{Float64, Int } , b, u, Pl, Pr,
371+ function LinearSolve. init_cacheval (alg:: QRFactorization , A:: SparseMatrixCSC{Float64, <:Integer } , b, u, Pl, Pr,
369372 maxiters:: Int , abstol, reltol, verbose:: Bool ,
370373 assumptions:: OperatorAssumptions )
371- LinearSolve. ArrayInterface. qr_instance (convert (AbstractMatrix, A), alg. pivot)
372- end
373-
374- function LinearSolve. init_cacheval (alg:: QRFactorization , A:: SparseMatrixCSC{Float64, Int32} , b, u, Pl, Pr,
375- maxiters:: Int , abstol, reltol, verbose:: Bool ,
376- assumptions:: OperatorAssumptions )
377- LinearSolve. ArrayInterface. qr_instance (convert (AbstractMatrix, A), alg. pivot)
374+ ArrayInterface. qr_instance (convert (AbstractMatrix, A), alg. pivot)
378375end
379376
380377function LinearSolve. init_cacheval (
0 commit comments