Skip to main content
Log in

A dynamic F4 algorithm to compute Gröbner bases

  • Original Paper
  • Published:
Applicable Algebra in Engineering, Communication and Computing Aims and scope

Abstract

The F4 algorithm re-imagines Buchberger’s algorithm as the row reduction of a Macaulay matrix: each row corresponds to a polynomial; each reduction of one row by another corresponds to one step of reducing an S-polynomial; and any row that completes reduction with a new pivot position corresponds to a new element of the basis. On the other hand, each column corresponds to a term, so that while it is common in linear algebra to exchange a matrix’s columns during row reduction, this has not been done in F4-style algorithms, as it runs the risk of producing an incorrect result. We show that it is possible to adapt an analogous, “dynamic” technique for Buchberger-style algorithms to F4-style algorithms, and we examine its behavior on some commonly referenced benchmark ideals.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5

Similar content being viewed by others

Notes

  1. In 2014, a colleague of the author tried to use the well-known program gfan to list all the Gröbner bases of the homogeneous Cyclic-5 ideal. The computer ran out of memory.

  2. In other words, \(Select\_row\) rejects orderings that do not preserve \(\mathrm {lt}\left( g\right)\) for all \(g\in G\). This “restricted” approach keeps with most past work, but [19] has recently shown that “unrestricted” algorithms have advantages.

  3. Originally, [4, 16] both proposed a “Hilbert heuristic” based on an ideal’s Hilbert data. Other heuristics have been proposed, usually based on invariants of an ideal: the present author described a “Betti heuristic” based on an ideal’s Betti numbers [22], while Langeloh has proposed variants on these heuristics [19]. These are of interest, but to keep the present investigation focused, we direct the reader to the references for further information.

  4. We generally accessed Singular via Sage [24].

  5. Eder suggested this idea to the author in 2017.

  6. A “bonus” to indeterminacy can occur when it leads to a surprisingly small basis, surprisingly quickly. Figures 1 and 2 above have gone through several iterations as we modified the program,. One of our biggest disappointments occurred when one revision of the code doubled the time to compute a Gröbner basis for Cyclic-8h, while the final basis remained roughly the same size.

References

  1. Bagnara, R., Hill, P.M., Zaffanella, E.: The Parma Polyhedra Library: toward a complete set of numerical abstractions for the analysis and verification of hardware and software systems. Sci. Comput. Program. 72(1–2), 3–21 (2008)

    Article  MathSciNet  Google Scholar 

  2. Buchberger, B.: Ein Algorithmus zum Auffinden der Basiselemente des Restklassenringes nach einem nulldimensionalem Polynomideal (An Algorithm for Finding the Basis Elements in the Residue Class Ring Modulo a Zero Dimensional Polynomial Ideal). Ph.D. thesis, Mathematical Institute, University of Innsbruck, Austria, 1965. English translation published in the J. Symb. Comput. 475–511 (2006)

  3. Buchberger, B.: An algorithmic criterion for the solvability of a system of algebraic equations. Aequ. Math. 4(3), 374–383 (1970). English translation published in Gröbner Bases and Applications, London Mathematical Society Lecture Note Series 251 (1998)

  4. Caboara, M.: A dynamic algorithm for Gröbner basis computation. In: ISSAC ’93, pp. 275–283. ACM Press (1993)

  5. Caboara, M., Perry, J.: Reducing the size and number of linear programs in a dynamic Gröbner basis algorithm. Appl. Algebra Eng. Commun. Comput. bf 25(1), 99–117 (2014)

    Article  Google Scholar 

  6. Collart, S., Kalkbrenner, M., Mall, D.: Converting bases with the Gröbner Walk. J. Symb. Comput. 24(3–4), 465–469 (1997)

    Article  Google Scholar 

  7. Decker, W., Greuel, G.-M., Pfister, G., Schönemann, H.: Singular 4-1-1: a computer algebra system for polynomial computations. http://www.singular.uni-kl.de (2019)

  8. Eder, C.: gb. downloaded from https://github.com/ederc/gb (2017)

  9. Eder, C.: Singular-benchmarks. https://github.com/ederc/singular-benchmarks (2018)

  10. Granlund, T., et al.: The GNU linear multiple precision arithmetic library. The GNU Project (2000–2019). Available at www.gmplib.org

  11. Faugère, J.-C.: A new efficient algorithm for computing Gröbner bases (F4). J. Pure Appl. Algebra 139(1–3), 61–88 (1999)

    Article  MathSciNet  Google Scholar 

  12. Faugère, J.-C.: Cryptochallenge 11 is broken or an efficient attack of the C* cryptosystem. Technical report, LIP6/Universitè Paris (2005)

  13. Faugère, J.-C., Gianni, P., Lazard, D., Mora, T.: Efficient computation of zero-dimensional Gröbner bases by change of ordering. J. Symb. Comput. 16(4), 329–344 (1993)

    Article  Google Scholar 

  14. Faugère, J.-C., Joux, A.: Algebraic cryptanalysis of hidden field equation (HFE) cryptosystems using Gröbner bases. In: Advances in Cryptology—CRYPTO 2003, Lecture Notes in Computer Science, vol. 2729, pp. 44–60. Springer(2003)

  15. Gebauer, R., Möller, H.: On an installation of Buchberger’s algorithm. J. Symb. Comput. 6, 275–286 (1988)

    Article  MathSciNet  Google Scholar 

  16. Gritzmann, P., Sturmfels, B.: Minkowski addition of polytopes: computational complexity and applications to Gröbner bases. SIAM J. Disc. Math 6(2), 246–269 (1993)

    Article  Google Scholar 

  17. Hashemi, A., Talaashrafi, D.: A note on dynamic Gröbner bases computation. In: CASC 2016, Lecture Notes in Computer Science, vol. 9890, pp. 276–288. Springer (2016)

  18. Jensen, A.: The gfan homepage. http://home.math.au.dk/jensen/software/gfan/gfan.html (2017)

  19. Langeloh, G.: Unrestricted dynamic Gröbner Basis algorithms. Master’s thesis, Universidade Federal do Rio Grande do Sul (2019)

  20. Lazard, D.: Gröbner bases, Gaussian elimination, and resolution of systems of algebraic equations. In: van Hulzen, J.A. (ed.) EUROCAL ’83, European Computer Algebra Conference, vol. 162, pp. 146–156. Springer LNCS (1983)

  21. Mora, T., Robbiano, L.: The Gröbner fan of an ideal. J. Symb. Comput. 6, 183–208 (1988)

    Article  Google Scholar 

  22. Perry, J.: Exploring the dynamic Buchberger algorithm. In: Proceedings of the 2017 International Symposium on Symbolic and Algebraic Computation (ISSAC ’17). ACM Press (2017)

  23. Robbiano, L.: On the theory of graded structures. J. Symb. Comput. 2, 139–170 (1986)

    Article  MathSciNet  Google Scholar 

  24. Stein, W.: Sage: Open Source Mathematical Software (Version 8.7). The Sage Group. www.sagemath.org (2019)

  25. Verschelde, J.: The database of polynomial systems. http://homepages.math.uic.edu/~jan/ (2017)

Download references

Acknowledgements

The author would like to thank Christian Eder, Gabriel Langeloh, and Teo Mora for thoughtful discussion on this topic. He would also like to acknowledge HPC at The University of Southern Mississippi, supported by the National Science Foundation under the Major Research Instrumentation (MRI) program via Grant # ACI 1626217, without which he would not have been able to complete Example 5.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to John Perry.

Additional information

Publisher's Note

Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Perry, J. A dynamic F4 algorithm to compute Gröbner bases. AAECC 31, 411–434 (2020). https://doi.org/10.1007/s00200-020-00450-y

Download citation

  • Received:

  • Revised:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s00200-020-00450-y

Keywords

Navigation