Skip to main content
QUICK REVIEW

[论文解读] A probabilistic and deterministic modular algorithm for computing Groebner basis over $\Q$

Bernard Parisse|arXiv (Cornell University)|Sep 16, 2013
Polynomial and algebraic computation参考文献 5被引用 3
一句话总结

本论文提出了一种基于中国剩余定理与Farey重构的、在ℚ上计算Gröbner基的、兼具概率性与确定性模块化算法,并引入一种新颖的错误检查策略,使用户可自由选择快速的概率结果或经过认证的确定性结果。该方法在性能上表现优异,尤其在多核系统上的内存效率与速度方面具有优势,优于开源工具Singular,在某些基准测试中与Maple或Magma等商业系统相当甚至更优,且仅需约10K行代码,远少于高度优化的200K行系统。

ABSTRACT

Modular algorithm are widely used in computer algebra systems (CAS), for example to compute efficiently the gcd of multivariate polynomials. It is known to work to compute Groebner basis over $\Q$, but it does not seem to be popular among CAS implementers. In this paper, I will show how to check a candidate Groebner basis (obtained by reconstruction of several Groebner basis modulo distinct prime numbers) with a given error probability, that may be 0 if a certified Groebner basis is desired. This algorithm is now the default algorithm used by the Giac/Xcas computer algebra system with competitive timings, thanks to a trick that can accelerate computing Groebner basis modulo a prime once the computation has been done modulo another prime.

研究动机与目标

  • 解决尽管在理论上有优势,但模块化算法在计算机代数系统中对ℚ上Gröbner基计算的广泛应用仍显不足的问题。
  • 通过引入用户可控制误差概率的快速概率性检查方法,缓解验证重构Gröbner基时的计算瓶颈。
  • 通过一种学习技术重用先前模素数计算中的信息,加速后续在不同素数模下的Gröbner基计算,从而提升效率。
  • 在Giac/Xcas中实现一个实用的开源系统,其性能可与开源及商业系统相媲美。
  • 同时支持通过概率结果进行快速猜想生成,以及通过确定性检查实现数学上的严格认证结果。

提出的方法

  • 利用在多个不同素数模下计算的Gröbner基,通过中国剩余定理重构ℚ上的候选Gröbner基。
  • 应用Farey重构从模结果中恢复有理系数,确保稳定性和正确性。
  • 采用概率性检查步骤,通过在多个素数模下验证约化为零,将误差概率控制在ε以内。
  • 实现一种确定性检查方法,通过多个素数和系数界进行商重构,在ℚ上验证约化为零。
  • 利用“学习”技术重用先前素数计算中的关键对信息,减少冗余计算,加速模Gröbner基的计算。
  • 将算法集成至Giac/Xcas中,支持并行计算与可配置的误差容忍度。

实验结果

研究问题

  • RQ1能否使ℚ上Gröbner基计算的模块化算法在实际应用中既高效又实用,适用于开源计算机代数系统?
  • RQ2如何在不牺牲正确性的前提下,加速验证步骤(常为性能瓶颈),特别是在追求数学认证时?
  • RQ3从先前的模计算中学习,能在多大程度上减少Gröbner基算法中的冗余计算,尤其与F5类方法相比?
  • RQ4该模块化方法在Cyclic与Katsura等标准基准测试中,与Magma、Maple和Singular等最先进实现相比性能如何?
  • RQ5混合概率-确定性框架能否在猜想生成与正式证明之间有效平衡速度与正确性?

主要发现

  • 在Giac/Xcas中实现的确定性模块化算法在Cyclic与Katsura基准测试中优于Singular,显示出对这些对称系统的卓越效率。
  • 对于Cyclic9,该算法使用了378个29位素数,单核处理器耗时1.3天(5GB内存),六核处理器耗时8.5小时(16GB内存),最终基大小约为1.4GB,系数达约1600位。
  • 概率性算法在单核环境下与Maple性能相当,约为Magma的3–4倍慢,但在多核系统中由于更好的并行化,可能超越Magma。
  • 内存使用量约为ℚ上最终基大小的两倍,通常远低于其他算法,表现出极高的内存效率。
  • 学习技术减少了冗余的关键对计算,在Cyclic与Katsura等对称系统中表现尤为突出,因大量关键对约化为零。
  • 实现代码仅约10K行,远少于高度优化的Fgb系统(200K行),表明其具有更高的可维护性与易于集成的潜力。

更好的研究,从现在开始

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

无需绑定信用卡

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