Block Gram-Schmidt algorithms serve as essential kernels in many scientific computing applications, but for many commonly used variants, a rigorous treatment of their stability properties remains open. This work provides a comprehensive categorization of block Gram-Schmidt algorithms, particularly those used in Krylov subspace methods to build orthonormal bases one block vector at a time. Known stability results are assembled, and new results are summarized or conjectured for important communication-reducing variants. Additionally, new block versions of low-synchronization variants are derived, and their efficacy and stability are demonstrated for a wide range of challenging examples. Numerical examples are computed with a versatile MATLAB package hosted at https://github.com/katlund/BlockStab, and scripts for reproducing all results in the paper are provided. Block Gram-Schmidt implementations in popular software packages are discussed, along with a number of open problems. An appendix containing all algorithms type-set in a uniform fashion is provided.
翻译:块 Gram- Schmidt 算法是许多科学计算应用中必不可少的内核, 但对于许多常用的变体来说, 对其稳定性属性的严格处理仍然是开放的。 这项工作对块 Gram- Schmidt 算法, 尤其是 Krylov 子空间方法中用于一次构建正方块矢量的矩阵进行综合分类。 已经收集了已知的稳定性结果, 并且对重要的通信减少变体进行了总结或预测。 此外, 生成了低同步变体的新块版本, 并展示了这些变体的功效和稳定性, 并展示了各种各样的具有挑战性的例子。 数字化示例是用一个在 https:// github.com/katlund/BlockStab 上功能的多功能 MATLAB 软件包来计算, 并提供了复制纸张中所有结果的脚本。 正在讨论流行软件包中的块 Gram- Schmidt 实施过程, 以及一些开放的问题。 包含所有算法类型组合的附录以统一的方式提供。 。