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$-矩阵的线性复杂度乘法。算法分为两个阶段:首先构建具有广义块结构的中间表示,随后对该表示进行重压缩以匹配应用所指定的结构。文中分析了算法的复杂度与精度,数值实验表明新算法确实可比此前方案显著提升计算速度。