Release selection: 30_sept_2026. The package catalogue contains 85
graphs: 80 graphs selected in the comparison gallery and six original
examples, with HB/494_bus shared between the two collections. Gallery
membership is frozen in selection-30_sept_2026.json;
mutable viewer favorites are not build inputs.
Use suitesparse.graphs() to browse and
suitesparse.graph("494_bus") to load. Only base R is needed
to read the installed xz-compressed graphs.rds. No
embeddings, distance matrices, or experiment archives are bundled with
it. The entire small bundle is read on first access and cached
privately; subsequent calls return ordinary R objects with
copy-on-modify behavior.
The SuiteSparse Matrix
Collection policy, checked on 30_sept_2026, distributes matrices and
metadata under CC
BY 4.0, separately from grip’s software license. Credit the original
contributors in each graph’s provenance$source_header.
Those headers are preserved in full, including source-specific notes and
citations, for all 85 records. provenance$name ends in
_unweighted_graph to distinguish the derived object from
its matrix. Full collection IDs identify sources; component IDs
additionally identify the retained induced graph. The runtime graph is
not the original numeric matrix.
Cite Davis, T. A. and Hu, Y. (2011), The University of Florida Sparse Matrix Collection, ACM TOMS 38(1), Article 1, DOI. The original six examples were selected from Zheng, Pawar and Goodman (2018), Graph Drawing by Stochastic Gradient Descent. For Les Miserables also cite Knuth (1993), The Stanford GraphBase.
Square conversions sum duplicate entries, remove numerical zeros and diagonal entries, and take the union of the remaining support with its transpose. Rectangular conversions create distinct row and column vertices, joining each nonzero row/column pair. Negative values contribute edges. All edges have unit traversal length; signs, magnitudes and physical units are not distances. Full graphs retain every source vertex, including isolates. Component graphs retain the explicitly recorded largest component in original vertex order, with one-based original indices. They never replace a full graph under its ID.
From a grip source checkout, run:
python3 data-raw/build-suitesparse.py /path/to/suitesparse_embedding_comparison
Maintainer dependencies are Python with NumPy/SciPy and R with
jsonlite. These are not runtime dependencies. Obtain the archived
acquisition directory from the maintainer; the selection records
relative paths and SHA-256 hashes. Source URLs are stored in each graph.
The builder never downloads or fits embeddings. It checks graph JSON,
source archives, component mappings, original graphs and the archived
six matrices against frozen checksums. It independently reconstructs
numerical support from Matrix Market, verifies every selected edge and
vertex count, then writes a deterministic R version-2 xz object and
checks an exact round trip. The original six metadata are reconstructed
by data-raw/original_six.R; their matrices and Les
Miserables names remain in inst/extdata/zheng-graphs/.
Only use --freeze to deliberately replace the release
selection after user curation. Review and version the resulting manifest
before release. Normal builds ignore the current viewer manifest.
Neither operation edits the viewer, archives, favorites or saved
embedding runs.