Skip to main content
QUICK REVIEW

[论文解读] Computational linear algebra over finite fields

Jean‐Guillaume Dumas, Clément Pernet|arXiv (Cornell University)|Apr 17, 2012
Coding theory and cryptography参考文献 57被引用 3
一句话总结

本文提出了有限域上密集线性代数的优化算法,重点在于通过位打包、位拆分和Kronecker代换技术,实现高效的矩阵乘法、求逆和分解。该方法在F₂等小域上实现了矩阵乘法的亚立方复杂度,将时间复杂度降低至O(n³/log n),并已集成至M4RI、Magma和Sage等高性能库中。

ABSTRACT

We present here algorithms for efficient computation of linear algebra problems over finite fields.

研究动机与目标

  • 通过优化底层算术运算和数据表示,解决有限域上密集线性代数的性能瓶颈。
  • 开发算法,将矩阵乘法的计算复杂度降低至标准O(n³)以下,尤其针对小有限域。
  • 通过紧凑表示(位打包、位拆分、Kronecker代换)和递归分块算法,实现高性能实现。
  • 通过PLE分解将标准线性代数运算(LU、求逆、三角求解)推广至任意秩配置。
  • 将所提算法集成至现有高性能计算系统和库中,实现在密码学和编码理论中的实际应用。

提出的方法

  • 使用位打包将多个域元素存储于单个机器字中,使F₂和小扩展域上的64位字实现并行操作。
  • 应用位拆分技术,通过同时操作多个位,以布尔运算表示F₃、F₅、F₇以及F_{2³}、F_{3²}的元素,最小化算术成本。
  • 采用Kronecker代换将扩展域中的多项式元素表示为整数,利用REDQ算法实现高效约化。
  • 设计递归分块算法(如PLE、trsm、trmm、trtri),将线性代数问题转化为矩阵乘法,使复杂度边界与最优矩阵乘法算法一致。
  • 对F₂采用四 Russians方法(Greasing),通过预计算所有2ᵏ行的线性组合,实现O(n³/log n)复杂度。
  • 利用具有兼容划分的递归分块分解,将三角和矩阵乘法运算表示为更小的递归调用和GEMM子程序。

实验结果

研究问题

  • RQ1能否通过预计算和位级并行性,将F₂上的矩阵乘法复杂度超越O(n³)?
  • RQ2紧凑表示(位打包、位拆分)如何降低密集线性代数中有限域算术的成本?
  • RQ3通过高级数据表示和递归算法,小有限域上矩阵乘法的可实现复杂度是多少?
  • RQ4PLE分解能否在任意秩配置下以矩阵乘法时间计算?其如何推广PLU分解?
  • RQ5递归分块算法在三角求解和求逆中,能在多大程度上减少域运算次数,同时保持有限域上的数值稳定性?

主要发现

  • 通过四 Russians方法(Greasing)在F₂上实现O(n³/log n)复杂度,利用格雷码排序将位操作次数从k·2ᵏ·n减少至2ᵏ·n。
  • 位拆分技术使F₃、F₅和F₇上的算术运算效率显著提升,分别仅需6、20和17个布尔运算完成一次加法。
  • REDQ算法利用64位整数算术实现模素数的高效约化,支持域元素的紧凑表示。
  • PLE分解算法将秩揭示性高斯消去的复杂度降低至与矩阵乘法相同,实现O(M(n))复杂度,其中M(n)为两个n×n矩阵相乘的时间。
  • 递归三角求解(trsm)、矩阵乘法(trmm)和求逆(trtri)算法通过分块分解和GEMM子程序实现,达到最优渐近复杂度。
  • 所提算法已集成至M4RI、Magma、Sage、NTL、FLINT和IML等高性能库中,支持计算代数和密码学中的实际应用。

更好的研究,从现在开始

从阅读论文到最终审阅,大幅缩短您的研究时间。

无需绑定信用卡

本解读由 AI 生成,并经人工编辑审核。