# Preconditioned Spectral Clustering for Stochastic Block Partition Streaming Graph Challenge

arXiv: https://arxiv.org/abs/1708.07481 · HTML: https://mlsanity.com/paper/1708.07481/

## Key facts

- Cited by 4 papers in the map (data through 14 Oct 2026).
- First posted on arXiv 21 Aug 2017.

## Built on by (most cited first, 4 of 4)

- [Deep Learning and Spectral Embedding for Graph Partitioning](https://mlsanity.com/paper/2110.08614/) (2021)
- [Towards Faster Graph Partitioning via Pre-training and Inductive Inference](https://mlsanity.com/paper/2409.00670/) (2024)
- [Spectral Clustering via Orthogonalization-Free Methods](https://mlsanity.com/paper/2305.10356/) (2023)
- [InfraredGP: Efficient Graph Partitioning via Spectral Graph Neural Networks with Negative Corrections](https://mlsanity.com/paper/2508.19737/) (2025)

## Abstract (arXiv)

Locally Optimal Block Preconditioned Conjugate Gradient (LOBPCG) is demonstrated to efficiently solve eigenvalue problems for graph Laplacians that appear in spectral clustering. For static graph partitioning, 10-20 iterations of LOBPCG without preconditioning result in ~10x error reduction, enough to achieve 100% correctness for all Challenge datasets with known truth partitions, e.g., for graphs with 5K/.1M (50K/1M) Vertices/Edges in 2 (7) seconds, compared to over 5,000 (30,000) seconds needed by the baseline Python code. Our Python code 100% correctly determines 98 (160) clusters from the Challenge static graphs with 0.5M (2M) vertices in 270 (1,700) seconds using 10GB (50GB) of memory. Our single-precision MATLAB code calculates the same clusters at half time and memory. For streaming graph partitioning, LOBPCG is initiated with approximate eigenvectors of the graph Laplacian already computed for the previous graph, in many cases reducing 2-3 times the number of required LOBPCG iterations, compared to the static case. Our spectral clustering is generic, i.e. assuming nothing specific of the block model or streaming, used to generate the graphs for the Challenge, in contrast to the base code. Nevertheless, in 10-stage streaming comparison with the base code for the 5K graph, the quality of our clusters is similar or better starting at stage 4 (7) for emerging edging (snowballing) streaming, while the computations are over 100-1000 faster.
