SuiteSparseMatrixCollection
A straightforward interface to the SuiteSparse Matrix Collection
https://github.com/juliasmoothoptimizers/suitesparsematrixcollection.jl
Science Score: 57.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
✓CITATION.cff file
Found CITATION.cff file -
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
✓DOI references
Found 5 DOI reference(s) in README -
○Academic publication links
-
○Committers with academic emails
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (11.7%) to scientific vocabulary
Keywords from Contributors
Repository
A straightforward interface to the SuiteSparse Matrix Collection
Basic Info
- Host: GitHub
- Owner: JuliaSmoothOptimizers
- License: other
- Language: Julia
- Default Branch: main
- Size: 1.79 MB
Statistics
- Stars: 10
- Watchers: 3
- Forks: 4
- Open Issues: 1
- Releases: 15
Metadata Files
README.md
SuiteSparseMatrixCollection.jl
| Documentation | Linux/macOS/Windows/FreeBSD | Coverage | DOI |
|:-----------------:|:-------------------------------:|:------------:|:-------:|
|
|
|
|
|
A straightforward interface to the SuiteSparse Matrix Collection.
References
Davis, Timothy A. and Hu, Yifan (2011). The University of Florida sparse matrix collection. ACM Transactions on Mathematical Software, 38(1), 1--25. 10.1145/2049662.2049663
How to Cite
If you use SuiteSparseMatrixCollection.jl in your work, please cite using the format given in CITATION.bib.
How to install
julia
pkg> add SuiteSparseMatrixCollection
pkg> test SuiteSparseMatrixCollection
Updating the database
Clone this repository, activate the utils environment and run gen_db.jl to check if the database needs to be updated.
Updating Artifacts.toml
Clone this repository, activate the utils environment and run gen_artifacts.jl to check if Artifacts.toml needs to be updated.
Examples
```julia julia> using SuiteSparseMatrixCollection
julia> # name-based selection can be done with ssmc_matrices()
julia> ssmc = ssmcdb()
julia> ssmcmatrices(ssmc, "HB", "bcsstk") # all matrices whose group contains "HB" and name contains "bcsstk"
julia> ssmcmatrices(ssmc, "", "bcsstk") # all matrices whose name contains "bcsstk"
julia> ssmcmatrices(ssmc, "HB", "") # all matrices whose group contains "HB"
julia> # select symmetric positive definite matrices with ≤ 100 rows and columns julia> tiny = ssmc[(ssmc.numericalsymmetry .== 1) .& (ssmc.positivedefinite.== true) .& (ssmc.real .== true) .& (ssmc.nrows .≤ 100), :]
julia> # fetch the matrices selects in MatrixMarket format julia> paths = fetchssmc(tiny, format="MM") # matrices are downloaded in paths julia> downloadedmatrices = installedssmc() # name of all downloaded matrices julia> deletessmc("HB", "bcsstk02") # delete the matrix "bcsstk02" of group "HB" julia> deleteallssmc() # delete all matrices from the SuiteSparseMatrixCollection ```
Matrices are available in formats:
"RB": the Rutherford-Boeing format;"MM": the MatrixMarket format.
Use DataFrames syntax to further examine a list of selected matrices:
julia
julia> tiny[!, [:name, :nrows, :ncols, :positive_definite, :lower_bandwidth]]
12×5 DataFrame
│ Row │ name │ nrows │ ncols │ positive_definite │ lower_bandwidth │
│ │ String │ Int64 │ Int64 │ Bool │ Int64 │
├─────┼───────────────┼───────┼───────┼───────────────────┼─────────────────┤
│ 1 │ bcsstk01 │ 48 │ 48 │ 1 │ 35 │
│ 2 │ bcsstk02 │ 66 │ 66 │ 1 │ 65 │
│ 3 │ bcsstm02 │ 66 │ 66 │ 1 │ 0 │
│ 4 │ nos4 │ 100 │ 100 │ 1 │ 13 │
│ 5 │ ex5 │ 27 │ 27 │ 1 │ 20 │
│ 6 │ mesh1e1 │ 48 │ 48 │ 1 │ 47 │
│ 7 │ mesh1em1 │ 48 │ 48 │ 1 │ 47 │
│ 8 │ mesh1em6 │ 48 │ 48 │ 1 │ 47 │
│ 9 │ LF10 │ 18 │ 18 │ 1 │ 3 │
│ 10 │ LFAT5 │ 14 │ 14 │ 1 │ 5 │
│ 11 │ Trefethen_20b │ 19 │ 19 │ 1 │ 16 │
│ 12 │ Trefethen_20 │ 20 │ 20 │ 1 │ 16 │
Matrices in Rutherford-Boeing format can be opened with HarwellRutherfordBoeing.jl:
```julia
pkg> add HarwellRutherfordBoeing
julia> using HarwellRutherfordBoeing
julia> matrix = ssmc[ssmc.name .== "bcsstk01", :] 1×30 DataFrame. Omitted printing of 17 columns │ Row │ group │ nnzdiag │ nrows │ numericalsymmetry │ amdvnz │ binary │ structuralrank │ isnd │ isgraph │ RBtype │ lowerbandwidth │ explicitzeros │ amd_flops │ │ │ String │ Int64 │ Int64 │ Float64 │ Int64 │ Bool │ Int64 │ Bool │ Bool │ String │ Int64 │ Int64 │ Float64 │ ├─────┼────────┼─────────┼───────┼────────────────────┼─────────┼────────┼─────────────────┼───────┼──────────┼─────────┼─────────────────┼────────────────┼───────────┤ │ 1 │ HB │ 48 │ 48 │ 1.0 │ 651 │ 0 │ 48 │ 1 │ 0 │ rsa │ 35 │ 0 │ 6009.0 │
julia> path = fetch_ssmc(matrix, format="RB") 1-element Array{String,1}: "/Users/dpo/dev/JSO/SuiteSparseMatrixCollection.jl/src/../data/RB/HB/bcsstk01"
julia> A = RutherfordBoeingData(joinpath(path[1], "$(matrix.name[1]).rb")) Rutherford-Boeing data 23 of type rsa 48 rows, 48 cols, 224 nonzeros ```
Matrices in MM format can be opened with MatrixMarket.jl.
Owner
- Name: JuliaSmoothOptimizers
- Login: JuliaSmoothOptimizers
- Kind: organization
- Location: DOI: 10.5281/zenodo.2655082
- Website: https://juliasmoothoptimizers.github.io
- Repositories: 63
- Profile: https://github.com/JuliaSmoothOptimizers
Infrastructure and Solvers for Continuous Optimization in Julia
Citation (CITATION.bib)
@Misc{orban-suitesparsematrixcollection-2020,
author = {D. Orban and {contributors}},
title = {{SuiteSparseMatrixCollection.jl}: A straightforward interface to the {SuiteSparse} Matrix Collection},
month = {December},
howpublished = {\url{https://github.com/JuliaSmoothOptimizers/SuiteSparseMatrixCollection.jl}},
year = {2020},
DOI = {10.5281/zenodo.4324339}
}
GitHub Events
Total
- Create event: 6
- Commit comment event: 2
- Release event: 1
- Watch event: 2
- Delete event: 5
- Issue comment event: 6
- Push event: 17
- Pull request event: 12
Last Year
- Create event: 6
- Commit comment event: 2
- Release event: 1
- Watch event: 2
- Delete event: 5
- Issue comment event: 6
- Push event: 17
- Pull request event: 12
Committers
Last synced: about 3 years ago
All Time
- Total Commits: 78
- Total Committers: 9
- Avg Commits per committer: 8.667
- Development Distribution Score (DDS): 0.551
Top Committers
| Name | Commits | |
|---|---|---|
| Dominique Orban | d****n@g****m | 35 |
| Alexis Montoison | a****n@p****a | 28 |
| amontoison | a****n@u****m | 4 |
| dpo | d****o@u****m | 4 |
| Monssaf Toukal | t****f@g****m | 2 |
| Abel Soares Siqueira | a****a@g****m | 2 |
| Paul A. Patience | p****l@a****m | 1 |
| tmigot | t****t@g****m | 1 |
| Julia TagBot | 5****t@u****m | 1 |
Committer Domains (Top 20 + Academic)
Issues and Pull Requests
Last synced: 10 months ago
All Time
- Total issues: 8
- Total pull requests: 76
- Average time to close issues: 22 days
- Average time to close pull requests: 5 days
- Total issue authors: 6
- Total pull request authors: 9
- Average comments per issue: 3.38
- Average comments per pull request: 1.2
- Merged pull requests: 69
- Bot issues: 0
- Bot pull requests: 13
Past Year
- Issues: 0
- Pull requests: 11
- Average time to close issues: N/A
- Average time to close pull requests: 3 days
- Issue authors: 0
- Pull request authors: 4
- Average comments per issue: 0
- Average comments per pull request: 0.45
- Merged pull requests: 9
- Bot issues: 0
- Bot pull requests: 4
Top Authors
Issue Authors
- leonardosecchin (2)
- dpo (2)
- tmigot (1)
- amontoison (1)
- RalphAS (1)
- JuliaTagBot (1)
Pull Request Authors
- amontoison (31)
- dpo (24)
- github-actions[bot] (15)
- tmigot (5)
- JSOBot (2)
- LilithHafner (2)
- abelsiqueira (2)
- paulapatience (1)
- JuliaTagBot (1)
Top Labels
Issue Labels
Pull Request Labels
Packages
- Total packages: 1
-
Total downloads:
- julia 12 total
- Total dependent packages: 0
- Total dependent repositories: 0
- Total versions: 15
juliahub.com: SuiteSparseMatrixCollection
A straightforward interface to the SuiteSparse Matrix Collection
- Documentation: https://docs.juliahub.com/General/SuiteSparseMatrixCollection/stable/
- License: MPL-2.0
-
Latest release: 0.5.7
published over 1 year ago
Rankings
Dependencies
- actions/checkout v3 composite
- julia-actions/setup-julia latest composite
- julia-actions/setup-julia v1 composite
- actions/checkout v3 composite
- julia-actions/setup-julia latest composite
- actions/checkout v3 composite
- julia-actions/julia-buildpkg v1 composite
- julia-actions/julia-invalidations v1 composite
- julia-actions/setup-julia v1 composite
- JuliaRegistries/TagBot v1 composite
- actions/cache v3 composite
- actions/checkout v3 composite
- codecov/codecov-action v3 composite
- julia-actions/julia-buildpkg v1 composite
- julia-actions/julia-processcoverage v1 composite
- julia-actions/julia-runtest v1 composite
- julia-actions/setup-julia v1 composite
- actions/checkout v2 composite
- peter-evans/create-pull-request v3 composite
- actions/cache v4 composite
- actions/checkout v4 composite
- actions/download-artifact v4 composite
- actions/github-script v6 composite
- actions/upload-artifact v4 composite
- julia-actions/julia-buildpkg v1 composite
- julia-actions/setup-julia v2 composite