Skip to main content
QUICK REVIEW

[论文解读] On a fast and nearly division-free algorithm for the characteristic polynomial

Fredrik Johansson|arXiv (Cornell University)|Nov 25, 2020
Polynomial and algebraic computation参考文献 23被引用 7
一句话总结

本文提出了一种优化的、几乎无需开方的算法,用于使用Faddeev-Leverrier方法的婴儿步-大步变体来计算矩阵的特征多项式、行列式和伴随矩阵。该算法将渐近时间复杂度优化至$O(n^{\rho+0.5} + n^3)$,同时减少内存使用,并通过实证评估表明,其在实践中优于Berkowitz算法,且在大$ n $时可与$O(n^3)$方法相媲美。

ABSTRACT

We review the Preparata-Sarwate algorithm, a simple $O(n^{3.5})$ method for computing the characteristic polynomial, determinant and adjugate of an $n imes n$ matrix using only ring operations together with exact divisions by small integers. The algorithm is a baby-step giant-step version of the more well-known Faddeev-Leverrier algorithm. We make a few comments about the algorithm and evaluate its performance empirically.

研究动机与目标

  • 提出一种实用且高效的Preparata-Sarwate算法变体,用于计算矩阵的特征多项式、行列式及伴随矩阵。
  • 解决尽管Preparata-Sarwate算法具有更优的渐近时间复杂度,但其在实际中缺乏广泛实现与认知的问题。
  • 在不同环和精度设置下,通过实证评估比较Preparata-Sarwate算法与Berkowitz和Faddeev-Leverrier等其他算法的性能。
  • 探索该算法在高精度算术和多元多项式商环中的适用性,其中开方操作代价高昂或不稳定。
  • 倡导更广泛采用Preparata-Sarwate算法,因其在无需开方计算中兼具出色的实用性能与理论优势。

提出的方法

  • 通过婴儿步-大步策略改进Preparata-Sarwate算法,将矩阵乘法次数从$O(n)$减少至$O(n^{0.5})$。
  • 提出一种内存优化版本的算法,通过重用中间矩阵,将空间复杂度从$O(n^{2.5})$降低至$O(n^{2.5})$。
  • 采用对小整数$1, 2, \ldots, n$的精确除法,确保所有运算均保持在环$R$内,无需一般性开方。
  • 通过重复平方法计算矩阵幂$A^k$,并结合中间累加,以计算特征多项式系数的迹。
  • 在Arb计算机代数系统中实现该算法,使用球算术评估数值稳定性与精度损失。
  • 在受控精度设置下,对多种算法(Hessenberg约化、LU分解、基于QR的特征值计算、Berkowitz和Faddeev-Leverrier变体)进行性能比较。

实验结果

研究问题

  • RQ1Preparata-Sarwate算法能否被实际优化并实现,使其在高精度算术中与标准$O(n^3)$方法具有竞争力?
  • RQ2在不同环和矩阵规模下,Preparata-Sarwate算法与Berkowitz及Faddeev-Leverrier算法在速度和数值稳定性方面的表现如何?
  • RQ3在多元多项式商环中,该算法是否仍保持其优势,尤其是在开方代价高且元素增长显著的场景下?
  • RQ4在球算术中,无开方算法的精度损失表现如何?与Hessenberg约化等数值稳定方法相比有何差异?
  • RQ5当标准方法因零主元或不稳定性而失效时,Preparata-Sarwate算法是否可作为高精度线性代数中的可靠备选方案?

主要发现

  • 在高精度球算术中,Preparata-Sarwate算法的运行速度约为Hessenberg约化的四分之一,但更具鲁棒性与可靠性。
  • 当$ n \approx 50 $时,Preparata-Sarwate算法(Alg2)优于Berkowitz算法,且在实践中与$O(n^3)$方法具有可比性。
  • 该算法表现出$O(n^{\rho+0.5} + n^3)$的时间复杂度,其中$n^3$项在实际中可忽略不计,且通过空间优化实现改进的内存使用。
  • 在球算术中,所有无开方算法(包括Preparata-Sarwate、Berkowitz和Faddeev-Leverrier)均损失$O(n)$位精度,尽管LU和Hessenberg方法更稳定。
  • 在多元多项式商环中,该算法表现不佳,原因在于矩阵元素增长过快,导致重复乘以$A$比乘以$A^k$更昂贵。
  • 尽管具有理论优势,Preparata-Sarwate算法在实践中仍使用较少,可能由于缺乏认知与实现,尽管其在大$ n $时比Berkowitz更快。

更好的研究,从现在开始

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

无需绑定信用卡

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