Graph-aware spectral analysis on top of Spectral.jl: Laplacians, spectra, distances, and rank-1 Laplacian updates.
GraphSpectra.jl is an early-stage research package tested for the workflows represented by its test suite and the ROSA reproduction environment. Uses outside that tested envelope should be validated against an appropriate reference implementation.
using Pkg
Pkg.add(url="https://github.com/systems-mechanobiology/GraphSpectra.jl.git")using Graphs, GraphSpectra, Spectral
g = smallgraph(:petersen)
res = graph_spectrum(g) # combinatorial Laplacian
res = graph_spectrum(g; mode=Normalized()) # normalized Laplacian
res = graph_spectrum(g; method=Largest(5)) # partial spectrum
d = graph_distance(g, g)
w = wasserstein_distance(res.λ, res.λ)For the full API reference and additional examples, see
docs/src/api.md.
- GraphSpectra provides graph-spectral primitives. ROSA-specific synchronized filtration workflows live in ROSA.jl.
- Spectral.jl — matrix-level eigensolvers
- ROSA.jl — graph trajectory analysis consuming GraphSpectra
- Graphs.jl — graph data structures used here
MIT
AI-assisted development. Generative-AI coding tools, including OpenAI Codex and Claude, were used for scoped software-engineering tasks such as repository scaffolding, implementing specified algorithms, and drafting tests and documentation. The maintainers determined the mathematical formulation, requirements, and acceptance criteria, and reviewed and validated AI-assisted changes before inclusion. The maintainers retain responsibility for the released software.