A Fast Monte Carlo algorithm for evaluating matrix functions with application in complex networks
Nicolas L. Guidotti, Juan A. Acebrón, José Monteiro
TL;DR
This paper introduces RandFunm, a randomized algorithm that estimates matrix functions $f(\mathbf{A})$ by sampling full rows and columns and using a power-series expansion. It provides a probabilistic framework showing $\mathbb{E}[\mathbf{Z}]=\mathbf{U}$ and develops practical variants RandFunmDiag and RandFunmAction for diagonal and vector applications, with convergence guarantees. The approach yields faster convergence than classical Monte Carlo, scales efficiently on multi-core systems (up to 64 cores), and accurately estimates subgraph centrality $f(\mathbf{A})_{ii}$ and total communicability $(f(\mathbf{A})\mathbf{1})_i$ in large networks, often outperforming expm, Gaussian quadrature, and Krylov methods in practice. The findings highlight the method's potential for a wide range of matrix-function computations in complex networks and point to future extensions to additional functions and applications.
Abstract
We propose a novel stochastic algorithm that randomly samples entire rows and columns of the matrix as a way to approximate an arbitrary matrix function using the power series expansion. This contrasts with existing Monte Carlo methods, which only work with one entry at a time, resulting in a significantly better convergence rate than the original approach. To assess the applicability of our method, we compute the subgraph centrality and total communicability of several large networks. In all benchmarks analyzed so far, the performance of our method was significantly superior to the competition, being able to scale up to 64 CPU cores with remarkable efficiency.
