Partitioning Sparse Graphs using the Second Eigenvector of their Graph Laplacian
David De Wit
TL;DR
This work addresses partitioning sparse graphs into two large connected banks separated by a small vertex set using the second eigenvector of the graph Laplacian $L$, enabling efficient divide-and-conquer strategies for large-scale problems. It combines spectral theory (via the eigenpair $(\lambda_2,\mathbf{v}_2)$) with a practical pipeline: form an edge separator $E_1$, derive a vertex bipartite graph $H=(A_1,B_1,E_1)$, and compute a minimum cover $S$ to obtain the vertex partition $(A,B)$ with a small separator $S$; this is then recursively applied to achieve a full hierarchical decomposition. The paper provides a complete C implementation (including decomp, graph generators, and utilities) and demonstrates results on various grid graphs, while also discussing issues like the Lanczos parameter $m$ and ghost eigenvalues that affect reliability. The combination of theory, implementation, and empirical testing advances the applicability of spectral partitioning to large sparse systems and lays groundwork for integrated hierarchical solvers via nested dissection and parallelism.
Abstract
Partitioning a graph into three pieces, with two of them large and connected, and the third a small ``separator'' set, is useful for improving the performance of a number of combinatorial algorithms. This is done using the second eigenvector of a matrix defined solely in terms of the incidence matrix, called the graph Laplacian. For sparse graphs, the eigenvector can be efficiently computed using the Lanczos algorithm. This graph partitioning algorithm is extended to provide a complete hierarchical subdivision of the graph. The method has been implemented and numerical results obtained both for simple test problems and for several grid graphs.
