Skip to content

Commit 4b547d6

Browse files
Make SparseArrays an extension package
While this may seem a bit weird since the most normal case for Krylov subspace methods is on sparse arrays, there are multiple reasons for this. 1. SparseArrays pulls in SuiteSparse and thus GPL dependencies 2. This is by far the biggest part of the load. Normal Krylov.jl loads in about 8ms, but the SparseArrays part is ~150ms. So if you want to just work on operators, then you'd taking a decently sized hit. 3. This is required for downstream dependency reduction SciML/LinearSolve.jl#570
1 parent 99a9625 commit 4b547d6

File tree

6 files changed

+958
-919
lines changed

6 files changed

+958
-919
lines changed

Project.toml

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,12 @@ LinearAlgebra = "37e2e46d-f89d-539d-b4ee-838fcccc9c8e"
77
Printf = "de0858da-6303-5e67-8744-51eddeeeb8d7"
88
SparseArrays = "2f01184e-e22b-5df5-ae63-d93ebab69eaf"
99

10+
[weakdeps]
11+
SparseArrays = "2f01184e-e22b-5df5-ae63-d93ebab69eaf"
12+
13+
[extensions]
14+
KrylovSparseArraysExt = "SparseArrays"
15+
1016
[compat]
1117
julia = "1.6"
1218
LinearAlgebra = "1.6"
@@ -17,7 +23,8 @@ Test = "1.6"
1723

1824
[extras]
1925
Random = "9a3f8284-a2c9-5f02-9a11-845980a1fd5c"
26+
SparseArrays = "2f01184e-e22b-5df5-ae63-d93ebab69eaf"
2027
Test = "8dfed614-e22c-5e08-85e1-65c5234f0b40"
2128

2229
[targets]
23-
test = ["Random", "Test"]
30+
test = ["Random", "SparseArrays", "Test"]

0 commit comments

Comments
 (0)