Hutch++: Optimal Stochastic Trace Estimation
We study the problem of estimating the trace of a matrix A that can only be accessed through matrix-vector multiplication. We introduce a new randomized algorithm, Hutch++, which computes a (1 ±ϵ) approximation to tr(A) for any positive semidefinite (PSD) A using just O(1/ϵ) matrix-vector products. This improves on the ubiquitous Hutchinson's estimator, which requires O(1/ϵ^2) matrix-vector products. Our approach is based on a simple technique for reducing the variance of Hutchinson's estimator using a low-rank approximation step, and is easy to implement and analyze. Moreover, we prove that, up to a logarithmic factor, the complexity of Hutch++ is optimal amongst all matrix-vector query algorithms, even when queries can be chosen adaptively. We show that it significantly outperforms Hutchinson's method in experiments. While our theory requires A to be positive semidefinite, empirical gains extend to applications involving non-PSD matrices, such as triangle estimation in networks.
READ FULL TEXT