Skip to content

Commit

Permalink
Make SparseArrays an extension package
Browse files Browse the repository at this point in the history
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
  • Loading branch information
ChrisRackauckas committed Feb 1, 2025
1 parent 99a9625 commit 4b547d6
Show file tree
Hide file tree
Showing 6 changed files with 958 additions and 919 deletions.
9 changes: 8 additions & 1 deletion Project.toml
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,12 @@ LinearAlgebra = "37e2e46d-f89d-539d-b4ee-838fcccc9c8e"
Printf = "de0858da-6303-5e67-8744-51eddeeeb8d7"
SparseArrays = "2f01184e-e22b-5df5-ae63-d93ebab69eaf"

[weakdeps]
SparseArrays = "2f01184e-e22b-5df5-ae63-d93ebab69eaf"

[extensions]
KrylovSparseArraysExt = "SparseArrays"

[compat]
julia = "1.6"
LinearAlgebra = "1.6"
Expand All @@ -17,7 +23,8 @@ Test = "1.6"

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

[targets]
test = ["Random", "Test"]
test = ["Random", "SparseArrays", "Test"]
Loading

0 comments on commit 4b547d6

Please sign in to comment.