English

Fully Dynamic Spectral and Cut Sparsifiers for Directed Graphs

Data Structures and Algorithms 2025-07-29 v1

Abstract

Recent years have seen extensive research on directed graph sparsification. In this work, we initiate the study of fast fully dynamic spectral and cut sparsification algorithms for directed graphs. We introduce a new notion of spectral sparsification called degree-balance preserving spectral approximation, which maintains the difference between the in-degree and out-degree of each vertex. The approximation error is measured with respect to the corresponding undirected Laplacian. This notion is equivalent to direct Eulerian spectral approximation when the input graph is Eulerian. Our algorithm achieves an amortized update time of O(ε2polylog(n))O(\varepsilon^{-2} \cdot \text{polylog}(n)) and produces a sparsifier of size O(ε2npolylog(n))O(\varepsilon^{-2} n \cdot \text{polylog}(n)). Additionally, we present an algorithm that maintains a constant-factor approximation sparsifier of size O(npolylog(n))O(n \cdot \text{polylog}(n)) against an adaptive adversary for O(polylog(n))O(\text{polylog}(n))-partially symmetrized graphs, a notion introduced in [Kyng-Meierhans-Probst Gutenberg '22]. A β\beta-partial symmetrization of a directed graph G\vec{G} is the union of G\vec{G} and βG\beta \cdot G, where GG is the corresponding undirected graph of G\vec{G}. This algorithm also achieves a polylogarithmic amortized update time. Moreover, we develop a fully dynamic algorithm for maintaining a cut sparsifier for β\beta-balanced directed graphs, where the ratio between weighted incoming and outgoing edges of any cut is at most β\beta. This algorithm explicitly maintains a cut sparsifier of size O(ε2βnpolylog(n))O(\varepsilon^{-2}\beta n \cdot \text{polylog}(n)) in worst-case update time O(ε2βpolylog(n))O(\varepsilon^{-2}\beta \cdot \text{polylog}(n)).

Keywords

Cite

@article{arxiv.2507.19632,
  title  = {Fully Dynamic Spectral and Cut Sparsifiers for Directed Graphs},
  author = {Yibin Zhao},
  journal= {arXiv preprint arXiv:2507.19632},
  year   = {2025}
}
R2 v1 2026-07-01T04:19:34.571Z