Papers › Hutch++: Optimal Stochastic Trace Estimation

Hutch++: Optimal Stochastic Trace Estimation

19 Oct 2020arXiv:2010.09649archive 2025-07-28

Raphael A. Meyer, Cameron Musco, Christopher Musco, David P. Woodruff

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/ϵ²) 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 mainly requires A to be positive semidefinite, we provide generalized guarantees for general square matrices, and show empirical gains in such applications.

PaperPDFCode

In Syntology Open this paper in Syntology's Atlas, the map of the papers in Syntology's graph and their citations.

Code

RaphaelArkadyMeyerNYU/HutchPlusPlus officialmentioned in papermentioned on GitHubMIT report

Repository list and official/mentioned flags are the archive's, frozen 2025-07-28. Reachability, where shown, is from one Syntology probe window (2026-09-16 to 2026-09-18); repositories not probed show nothing. GitHub stars are not tracked.

Code Syntology ran Syntology

Not run by Syntology. Nothing on this page verifies that the listed code works.

Results from the paper archive 2025-07-28

No leaderboard rows for this paper in the archive.

Report a problem or propose a change · a person checks every report against the paper or source before anything changes; decisions are listed on /corrections