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