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

ipopt nlpmodels nonlinear-programming performance-profile sparse-matrix sparse-matrices permutation factorization amd linear-systems
Last synced: 7 months ago · JSON representation ·

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
Created about 7 years ago · Last pushed about 1 year ago
Metadata Files
Readme License Citation

README.md

SuiteSparseMatrixCollection.jl

| Documentation | Linux/macOS/Windows/FreeBSD | Coverage | DOI | |:-----------------:|:-------------------------------:|:------------:|:-------:| | docs-stable docs-dev | build-gh build-cirrus | codecov | 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:

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

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 Email 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
bug (1) documentation (1)
Pull Request Labels
formatting (15) automated pr (15) no changelog (15)

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

  • Versions: 15
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Downloads: 12 Total
Rankings
Dependent repos count: 9.9%
Forks count: 28.1%
Average: 28.7%
Stargazers count: 37.7%
Dependent packages count: 38.9%
Last synced: 8 months ago

Dependencies

.github/workflows/Aqua.yml actions
  • actions/checkout v3 composite
  • julia-actions/setup-julia latest composite
.github/workflows/CompatHelper.yml actions
  • julia-actions/setup-julia v1 composite
.github/workflows/Documentation.yml actions
  • actions/checkout v3 composite
  • julia-actions/setup-julia latest composite
.github/workflows/Invalidations.yml actions
  • actions/checkout v3 composite
  • julia-actions/julia-buildpkg v1 composite
  • julia-actions/julia-invalidations v1 composite
  • julia-actions/setup-julia v1 composite
.github/workflows/TagBot.yml actions
  • JuliaRegistries/TagBot v1 composite
.github/workflows/ci.yml actions
  • 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
.github/workflows/format_pr.yml actions
  • actions/checkout v2 composite
  • peter-evans/create-pull-request v3 composite
.github/workflows/Breakage.yml actions
  • 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