We extend an adaptive partially matrix-free Hierarchically Semi-Separable (HSS) matrix construction algorithm by Gorman et al. [SIAM J. Sci. Comput. 41(5), 2019] which uses Gaussian sketching operators to a broader class of Johnson--Lindenstrauss (JL) sketching operators. We present theoretical work which justifies this extension. In particular, we extend the earlier concentration bounds to all JL sketching operators and examine this bound for specific classes of such operators including the original Gaussian sketching operators, subsampled randomized Hadamard transform (SRHT) and the sparse Johnson--Lindenstrauss transform (SJLT). We discuss the implementation details of applying SJLT efficiently and demonstrate experimentally that using SJLT instead of Gaussian sketching operators leads to 1.5--2.5x speedups of the HSS construction implementation in the STRUMPACK C++ library. The generalized algorithm allows users to select their own JL sketching operators with theoretical lower bounds on the size of the operators which may lead to faster run time with similar HSS construction accuracy.
翻译:我们扩展了Gorman等人[S2IAM J. Sci. Comput. 41(5), 2019]提出的自适应部分无矩阵分层半可分离(HSS)矩阵构造算法,该算法原使用高斯草图算子,现推广至更广泛的约翰逊-林登斯特劳斯(JL)草图算子类别。我们通过理论工作证明了这一推广的合理性。具体而言,我们将先前的集中界推广至所有JL草图算子,并针对特定算子类别(包括原始高斯草图算子、子采样随机哈达玛变换(SRHT)和稀疏约翰逊-林登斯特劳斯变换(SJLT))检验该界。我们详细讨论了SJLT的高效实现方案,并通过实验证明:在STRUMPACK C++库的HSS构造实现中,使用SJLT替代高斯草图算子可获得1.5至2.5倍的加速效果。该通用算法允许用户自行选择JL草图算子,且算子规模具有理论下界,从而在保持相似HSS构造精度的前提下可能实现更快的运行时间。