Approximation of the Diagonal of a Laplacian’s Pseudoinverse for Complex Network Analysis

  • Eugenio Angriman

  • Maria Predari

  • Alexander van der Grinten

  • Henning Meyerhenke






28th Annual European Symposium on Algorithms, ESA 2020, September 7-9, 2020, Pisa, Italy (Virtual Conference)


Schloss Dagstuhl - Leibniz-Zentrum für Informatik


Leibniz International Proceedings in Informatics (LIPIcs)



Conference Version





Google Scholar, arXiv, Research Gate


The ubiquity of massive graph data sets in numerous applications requires fast algorithms for extracting knowledge from these data. We are motivated here by three electrical measures for the analysis of large small-world graphs \(G = (V, E)\) - i. e., graphs with diameter in \(O(\log |V|)\), which are abundant in complex network analysis. From a computational point of view, the three measures have in common that their crucial component is the diagonal of the graph Laplacian’s pseudoinverse, \(L^+\). Computing \(diag(L^+)\) exactly by pseudoinversion, however, is as expensive as dense matrix multiplication - and the standard tools in practice even require cubic time. Moreover, the pseudoinverse requires quadratic space - hardly feasible for large graphs.

Resorting to approximation by, e. g., using the Johnson-Lindenstrauss transform, requires the solution of \(O(\log |V| / ε²)\) Laplacian linear systems to guarantee a relative error, which is still very expensive for large inputs. In this paper, we present a novel approximation algorithm that requires the solution of only one Laplacian linear system. The remaining parts are purely combinatorial - mainly sampling uniform spanning trees, which we relate to \(diag(L^+)\) via effective resistances. For small-world networks, our algorithm obtains \(a ± \epsilon-approximation\) with high probability, in a time that is nearly-linear in \(|E|\) and quadratic in \(1 / \epsilon\).

Another positive aspect of our algorithm is its parallel nature due to independent sampling. We thus provide two parallel implementations of our algorithm: one using OpenMP, one MPI + OpenMP. In our experiments against the state of the art, our algorithm (i) yields more accurate approximation results for \(diag(L^+)\), (ii) is much faster and more memory-efficient, and (iii) obtains good parallel speedups, in particular in the distributed setting.