Randomized Strong Recursive Skeletonization: Simultaneous compression and factorization of $\mathcal{H}$-matrices in the Black-Box Setting

Anna Yesypenko,Per-Gunnar Martinsson
2023-11-03
Abstract:The hierarchical matrix ($\mathcal{H}^{2}$-matrix) formalism provides a way to reinterpret the Fast Multipole Method and related fast summation schemes in linear algebraic terms. The idea is to tessellate a matrix into blocks in such as way that each block is either small or of numerically low rank; this enables the storage of the matrix and the application of it to a vector in linear or close to linear complexity. A key motivation for the reformulation is to extend the range of dense matrices that can be represented. Additionally, $\mathcal{H}^{2}$-matrices in principle also extend the range of operations that can be executed to include matrix inversion and factorization. While such algorithms can be highly efficient for certain specialized formats (such as HBS/HSS matrices based on ``weak admissibility''), inversion algorithms for general $\mathcal{H}^{2}$-matrices tend to be based on nested recursions and recompressions, making them challenging to implement efficiently. An exception is the \textit{strong recursive skeletonization (SRS)} algorithm by Minden, Ho, Damle, and Ying, which involves a simpler algorithmic flow. However, SRS greatly increases the number of blocks of the matrix that need to be stored explicitly, leading to high memory requirements. This manuscript presents the \textit{randomized strong recursive skeletonization (RSRS)} algorithm, which is a reformulation of SRS that incorporates the randomized SVD (RSVD) to simultaneously compress and factorize an $\mathcal{H}^{2}$-matrix. RSRS is a ``black box'' algorithm that interacts with the matrix to be compressed only via its action on vectors; this extends the range of the SRS algorithm (which relied on the ``proxy source'' compression technique) to include dense matrices that arise in sparse direct solvers.
Numerical Analysis
What problem does this paper attempt to address?
The problem that this paper attempts to solve is: How to simultaneously compress and factorize H2 matrices in a black - box environment to achieve efficient matrix operations with low memory requirements. Specifically, the paper proposes a new algorithm named Randomized Strong Recursive Skeletonization (RSRS). The H2 matrix is a form of hierarchical matrix, which can divide the matrix into multiple blocks, and each block is either very small or has a low numerical rank, so that the operations of storing and applying the matrix to a vector can be completed within a nearly linear time complexity. However, for general H2 matrices, the existing factorization algorithms are usually based on nested recursion and recompression, which makes them difficult to be implemented efficiently. In addition, these algorithms often need to store a large number of explicit matrix blocks, resulting in high memory requirements. The RSRS algorithm improves this by introducing the Randomized SVD (RSVD) technique, and it can simultaneously compress and factorize H2 matrices without significantly increasing the memory requirements. The main features of this algorithm include: 1. **Operation in a black - box environment**: RSRS only needs to interact with the matrix to be compressed through the product of the matrix and the vector, which expands the application range of the algorithm. 2. **Simpler data structure**: Compared with previous algorithms, the data structure of RSRS is simpler, the execution speed is faster, and it is easier to be parallelized. 3. **Applicable to low - dimensional geometries**: When applied to geometries with a lower dimension than the ambient space (for example, the surface - discretized boundary integral equations in R³), RSRS can use the actual numerical rank to compress the off - diagonal blocks instead of relying on the rank of the proxy surface. In conclusion, the RSRS algorithm aims to provide a more efficient solution for processing complex H2 matrices in a black - box environment, especially in cases where compression and factorization need to be carried out simultaneously.