Hierarchical matrices approximate a given matrix by a decomposition into low-rank submatrices that can be handled efficiently in factorized form. $\mathcal{H}^2$-matrices refine this representation following the ideas of fast multipole methods in order to achieve linear, i.e., optimal complexity for a variety of important algorithms. The matrix multiplication, a key component of many more advanced numerical algorithms, has so far proven tricky: the only linear-time algorithms known so far either require the very special structure of HSS-matrices or need to know a suitable basis for all submatrices in advance. In this article, a new and fairly general algorithm for multiplying $\mathcal{H}^2$-matrices in linear complexity with adaptively constructed bases is presented. The algorithm consists of two phases: first an intermediate representation with a generalized block structure is constructed, then this representation is re-compressed in order to match the structure prescribed by the application. The complexity and accuracy are analysed and numerical experiments indicate that the new algorithm can indeed be significantly faster than previous attempts.
翻译:层级矩阵通过将给定矩阵分解为可高效以因子化形式处理的低秩子矩阵来近似该矩阵。$\mathcal{H}^2$-矩阵遵循快速多极子方法的思想对这一表示进行细化,以实现多种重要算法的线性(即最优)复杂度。矩阵乘法作为许多更高级数值算法的关键组成部分,至今仍颇具挑战性:目前已知的线性时间算法要么要求HSS矩阵的非常特殊结构,要么需要预先知道所有子矩阵的合适基。本文提出了一种新颖且相当通用的算法,用于在自适应构建基的情况下以线性复杂度实现$\mathcal{H}^2$-矩阵的乘法。该算法包含两个阶段:首先构建一个具有广义块结构的中间表示,随后对该表示进行再压缩以匹配应用所规定的结构。本文分析了算法的复杂度和精度,数值实验表明,新算法确实可比先前方法显著加快运算速度。