@@ -33,7 +33,7 @@ Julia's built in `lu`. Equivalent to calling `lu!(A)`
33
33
* On dense matrices, this uses the current BLAS implementation of the user's computer,
34
34
which by default is OpenBLAS but will use MKL if the user does `using MKL` in their
35
35
system.
36
- * On sparse matrices, this will use UMFPACK from SuiteSparse . Note that this will not
36
+ * On sparse matrices, this will use UMFPACK from SparseArrays . Note that this will not
37
37
cache the symbolic factorization.
38
38
* On CuMatrix, it will use a CUDA-accelerated LU from CuSolver.
39
39
* On BandedMatrix and BlockBandedMatrix, it will use a banded LU.
@@ -139,7 +139,7 @@ Julia's built in `qr`. Equivalent to calling `qr!(A)`.
139
139
* On dense matrices, this uses the current BLAS implementation of the user's computer
140
140
which by default is OpenBLAS but will use MKL if the user does `using MKL` in their
141
141
system.
142
- * On sparse matrices, this will use SPQR from SuiteSparse
142
+ * On sparse matrices, this will use SPQR from SparseArrays
143
143
* On CuMatrix, it will use a CUDA-accelerated QR from CuSolver.
144
144
* On BandedMatrix and BlockBandedMatrix, it will use a banded QR.
145
145
"""
@@ -681,7 +681,7 @@ patterns with “more structure”.
681
681
682
682
!!! note
683
683
684
- By default, the SuiteSparse .jl are implemented for efficiency by caching the
684
+ By default, the SparseArrays .jl are implemented for efficiency by caching the
685
685
symbolic factorization. I.e., if `set_A` is used, it is expected that the new
686
686
`A` has the same sparsity pattern as the previous `A`. If this algorithm is to
687
687
be used in a context where that assumption does not hold, set `reuse_symbolic=false`.
@@ -692,11 +692,11 @@ Base.@kwdef struct UMFPACKFactorization <: AbstractFactorization
692
692
end
693
693
694
694
@static if VERSION < v " 1.9.0-DEV.1622"
695
- const PREALLOCATED_UMFPACK = SuiteSparse . UMFPACK. UmfpackLU (C_NULL , C_NULL , 0 , 0 ,
695
+ const PREALLOCATED_UMFPACK = SparseArrays . UMFPACK. UmfpackLU (C_NULL , C_NULL , 0 , 0 ,
696
696
[0 ], Int[], Float64[], 0 )
697
- finalizer (SuiteSparse . UMFPACK. umfpack_free_symbolic, PREALLOCATED_UMFPACK)
697
+ finalizer (SparseArrays . UMFPACK. umfpack_free_symbolic, PREALLOCATED_UMFPACK)
698
698
else
699
- const PREALLOCATED_UMFPACK = SuiteSparse . UMFPACK. UmfpackLU (SparseMatrixCSC (0 , 0 , [1 ],
699
+ const PREALLOCATED_UMFPACK = SparseArrays . UMFPACK. UmfpackLU (SparseMatrixCSC (0 , 0 , [1 ],
700
700
Int[],
701
701
Float64[]))
702
702
end
@@ -722,17 +722,17 @@ function init_cacheval(alg::UMFPACKFactorization, A::AbstractSparseArray, b, u,
722
722
A = convert (AbstractMatrix, A)
723
723
zerobased = SparseArrays. getcolptr (A)[1 ] == 0
724
724
@static if VERSION < v " 1.9.0-DEV.1622"
725
- res = SuiteSparse . UMFPACK. UmfpackLU (C_NULL , C_NULL , size (A, 1 ), size (A, 2 ),
725
+ res = SparseArrays . UMFPACK. UmfpackLU (C_NULL , C_NULL , size (A, 1 ), size (A, 2 ),
726
726
zerobased ?
727
727
copy (SparseArrays. getcolptr (A)) :
728
- SuiteSparse . decrement (SparseArrays. getcolptr (A)),
728
+ SparseArrays . decrement (SparseArrays. getcolptr (A)),
729
729
zerobased ? copy (rowvals (A)) :
730
- SuiteSparse . decrement (rowvals (A)),
730
+ SparseArrays . decrement (rowvals (A)),
731
731
copy (nonzeros (A)), 0 )
732
- finalizer (SuiteSparse . UMFPACK. umfpack_free_symbolic, res)
732
+ finalizer (SparseArrays . UMFPACK. umfpack_free_symbolic, res)
733
733
return res
734
734
else
735
- return SuiteSparse . UMFPACK. UmfpackLU (SparseMatrixCSC (size (A)... , getcolptr (A),
735
+ return SparseArrays . UMFPACK. UmfpackLU (SparseMatrixCSC (size (A)... , getcolptr (A),
736
736
rowvals (A), nonzeros (A)))
737
737
end
738
738
end
@@ -744,9 +744,9 @@ function SciMLBase.solve!(cache::LinearCache, alg::UMFPACKFactorization; kwargs.
744
744
cacheval = @get_cacheval (cache, :UMFPACKFactorization )
745
745
if alg. reuse_symbolic
746
746
# Caches the symbolic factorization: https://github.com/JuliaLang/julia/pull/33738
747
- if alg. check_pattern && ! (SuiteSparse . decrement (SparseArrays. getcolptr (A)) ==
747
+ if alg. check_pattern && ! (SparseArrays . decrement (SparseArrays. getcolptr (A)) ==
748
748
cacheval. colptr &&
749
- SuiteSparse . decrement (SparseArrays. getrowval (A)) ==
749
+ SparseArrays . decrement (SparseArrays. getrowval (A)) ==
750
750
cacheval. rowval)
751
751
fact = lu (SparseMatrixCSC (size (A)... , getcolptr (A), rowvals (A),
752
752
nonzeros (A)))
@@ -773,7 +773,7 @@ A fast sparse LU-factorization which specializes on sparsity patterns with “le
773
773
774
774
!!! note
775
775
776
- By default, the SuiteSparse .jl are implemented for efficiency by caching the
776
+ By default, the SparseArrays .jl are implemented for efficiency by caching the
777
777
symbolic factorization. I.e., if `set_A` is used, it is expected that the new
778
778
`A` has the same sparsity pattern as the previous `A`. If this algorithm is to
779
779
be used in a context where that assumption does not hold, set `reuse_symbolic=false`.
@@ -816,9 +816,9 @@ function SciMLBase.solve!(cache::LinearCache, alg::KLUFactorization; kwargs...)
816
816
if cache. isfresh
817
817
cacheval = @get_cacheval (cache, :KLUFactorization )
818
818
if cacheval != = nothing && alg. reuse_symbolic
819
- if alg. check_pattern && ! (SuiteSparse . decrement (SparseArrays. getcolptr (A)) ==
819
+ if alg. check_pattern && ! (SparseArrays . decrement (SparseArrays. getcolptr (A)) ==
820
820
cacheval. colptr &&
821
- SuiteSparse . decrement (SparseArrays. getrowval (A)) == cacheval. rowval)
821
+ SparseArrays . decrement (SparseArrays. getrowval (A)) == cacheval. rowval)
822
822
fact = KLU. klu (SparseMatrixCSC (size (A)... , getcolptr (A), rowvals (A),
823
823
nonzeros (A)))
824
824
else
@@ -1378,4 +1378,4 @@ for alg in InteractiveUtils.subtypes(AbstractFactorization)
1378
1378
maxiters:: Int , abstol, reltol, verbose:: Bool ,
1379
1379
assumptions:: OperatorAssumptions )
1380
1380
end
1381
- end
1381
+ end
0 commit comments