Full Access
Software and High-Performance Computing

Estimating the Largest Elements of a Matrix

We derive an algorithm for estimating the largest $p \geq 1$ values $a_{ij}$ or $|a_{ij}|$ for an $m \times n$ matrix $A$, along with their locations in the matrix. The matrix is accessed using only matrix--vector or matrix--matrix products. For p = 1 the algorithm estimates the norm $\|A\|_M := \max_{i,j} |a_{ij}|$ or $\max_{i,j} a_{ij}$. The algorithm is based on a power method for mixed subordinate matrix norms and iterates on $n \times t$ matrices, where $t \geq p$ is a parameter. For p = t = 1 we show that the algorithm is essentially equivalent to rook pivoting in Gaussian elimination; we also obtain a bound for the expected number of matrix--vector products for random matrices and give a class of counterexamples. Our numerical experiments show that for p = 1 the algorithm usually converges in just two iterations, requiring the equivalent of 4t matrix--vector products, and for t = 2 the algorithm already provides excellent estimates that are usually within a factor 2 of the largest element and frequently exact. For p > 1 we incorporate deflation to improve the performance of the algorithm. Experiments on real-life datasets show that the algorithm is highly effective in practice.