Skip to content

Commit 2b48908

Browse files
Fix up QA tests
1 parent 2889418 commit 2b48908

File tree

1 file changed

+13
-16
lines changed

1 file changed

+13
-16
lines changed

ext/LinearSolveSparseArraysExt.jl

Lines changed: 13 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -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
89
using SparseArrays: SparseArrays, AbstractSparseArray, AbstractSparseMatrixCSC, SparseMatrixCSC,
910
nonzeros, rowvals, getcolptr, sparse, sprand
11+
using SparseArrays.UMFPACK: UMFPACK_OK
1012
using Base: /, \, convert
1113
using 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))
307310
end
308311

309312
# Specialize QR for the non-square case
310313
# Missing ldiv! definitions: https://github.com/JuliaSparse/SparseArrays.jl/issues/242
311314
function 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
316319
end
317320

318321
function 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
323326
end
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)
331334
end
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)
337340
end
338341

@@ -365,16 +368,10 @@ function LinearSolve.init_cacheval(
365368
nothing
366369
end
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)
378375
end
379376

380377
function LinearSolve.init_cacheval(

0 commit comments

Comments
 (0)