We present two new algebraic multilevel hierarchical matrix algorithms to perform fast matrix-vector product (MVP) for $N$-body problems in $d$ dimensions, namely efficient $\mathcal{H}^2_{*}$ (fully nested algorithm, i.e., $\mathcal{H}^2$ matrix-like algorithm) and $(\mathcal{H}^2 + \mathcal{H})_{*}$ (semi-nested algorithm, i.e., cross of $\mathcal{H}^2$ and $\mathcal{H}$ matrix-like algorithms). The efficient $\mathcal{H}^2_{*}$ and $(\mathcal{H}^2 + \mathcal{H})_{*}$ hierarchical representations are based on our recently introduced weak admissibility condition in higher dimensions, where the admissible clusters are the far-field and the vertex-sharing clusters. Due to the use of nested form of the bases, the proposed hierarchical matrix algorithms are more efficient than the non-nested algorithms ($\mathcal{H}$ matrix algorithms). We rely on purely algebraic low-rank approximation techniques (e.g., ACA and NCA) and develop both algorithms in a black-box fashion. Another noteworthy contribution of this article is that we perform a comparative study of the proposed algorithms with different algebraic (NCA or ACA-based compression) fast MVP algorithms in $2$D and $3$D. The fast algorithms are tested on various kernel matrices and applied to get fast iterative solutions of a dense linear system arising from the discretized integral equations and radial basis function interpolation. Notably, all the algorithms are developed in a similar fashion in $\texttt{C++}$ and tested within the same environment, allowing for meaningful comparisons. The numerical results demonstrate that the proposed algorithms are competitive to the NCA-based standard $\mathcal{H}^2$ matrix algorithm with respect to the memory and time. The C++ implementation of the proposed algorithms is available at https://github.com/riteshkhan/H2weak/.
翻译:本文提出了两种新型代数多层层次矩阵算法,用于在d维空间中执行N体问题的快速矩阵-向量乘积(MVP):高效$\mathcal{H}^2_{*}$算法(完全嵌套算法,即类$\mathcal{H}^2$矩阵算法)与$(\mathcal{H}^2 + \mathcal{H})_{*}$算法(半嵌套算法,即类$\mathcal{H}^2$与类$\mathcal{H}$矩阵算法的交叉变体)。高效$\mathcal{H}^2_{*}$与$(\mathcal{H}^2 + \mathcal{H})_{*}$层次表示基于我们近期提出的高维弱可容许条件构建,其中可容许簇包括远场簇和顶点共享簇。由于采用基函数的嵌套形式,所提出的层次矩阵算法比非嵌套算法($\mathcal{H}$矩阵算法)更具效率。我们依赖纯代数低秩逼近技术(如ACA和NCA),以黑箱化方式开发了这两种算法。本文另一项值得关注的贡献是,我们对所提算法与不同代数快速MVP算法(基于NCA或ACA压缩)在二维和三维场景中进行了对比研究。通过在多种核矩阵上测试快速算法,并将其应用于离散积分方程和径向基函数插值产生的稠密线性系统的快速迭代求解。值得注意的是,所有算法均以相似方式用$\texttt{C++}$开发并在相同环境下测试,确保了比较的有效性。数值结果表明,所提算法在内存占用和计算时间方面与基于NCA的标准$\mathcal{H}^2$矩阵算法具有竞争力。算法C++实现发布于https://github.com/riteshkhan/H2weak/。