Skip to main content

A Practical Method for Floating-Point Gröbner Basis Computation

  • Conference paper
  • First Online:
Computer Mathematics

Abstract

Computing Gröbner bases with inexact coefficients is eagerly desired in industrial applications, but the computation with floating-point numbers is quite unstable if performed naively. In previous papers, the present author clarified that large term-cancellations occur frequently making the computation unstable, and he proposed a method of removing the harm of exact term-cancellations and a method of estimating the amounts of inexact term-cancellations. However, the estimation is very rough and never satisfactory. The inexact cancellations cause the accuracy loss of the output system, hence it is important to estimate their amounts precisely. In this chapter, we propose a practical method of estimating the amounts of inexact cancellations fairly well and very simply. We have tested our method by several examples, and obtained reasonable results. We also propose a simple device to reduce the amounts of exact term-cancellations.

Work supported in part by Japan Society for the Promotion of Science under Grants 19300001.

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

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 84.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Hardcover Book
USD 109.99
Price excludes VAT (USA)
  • Durable hardcover edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

References

  1. Bodrato, M., Zanoni, A.: Intervals, syzygies, numerical Gröbner bases: A mixed study. In: Proceedings of CASC2006 (Computer Algebra in Scientific Computing). LNCS, vol. 4194, pp. 64–76. Springer (2006)

    Google Scholar 

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

    Article  MathSciNet  MATH  Google Scholar 

  3. Fortuna, E., Gianni, P., Trager, B.: Degree reduction under specialization. J. Pure Appl. Algebra 164, 153–164 (2001)

    Article  MathSciNet  MATH  Google Scholar 

  4. Gonzalez-Vega, L., Traverso, C., Zanoni, A.: Hilbert stratification and parametric Gröbner bases. In: Proceedings of CASC2005 (Computer Algebra in Scientific Computing). LNCS, vol. 3718, pp. 220–235. Springer (2005)

    Google Scholar 

  5. Kalkbrener, M.: On the stability of Gröbner bases under specialization. J. Symb. Comput. 24, 51–58 (1997)

    Article  MathSciNet  MATH  Google Scholar 

  6. Kako, F., Sasaki, T.: Proposal of “effective” floating-point number. Preprint of University Tsukuba, May 1997 (unpublished)

    Google Scholar 

  7. Kondratyev, A., Stetter, H.J., Winkler, F.: Numerical computation of Gröbner bases. In: Proceedings of CASC2004 (Computer Algebra in Scientific Computing), pp. 295–306, St. Petersburg (2004)

    Google Scholar 

  8. Lazard, D.: Gröbner bases, Gaussian elimination and resolution of systems of algebraic equations. In: Proceedings of EUROCAL 1983. LNCS, vol. 162, pp. 146–156. Springer (1983)

    Google Scholar 

  9. Mourrain, B.: A new criterion for normal form algorithms. In: Proceedings of AAECC 1999 (Applied Algebra, Algebraic Algorithms, and Error Correcting Codes). vol. 1719, pp. 430–443. Springer (1999)

    Google Scholar 

  10. Mourrain, B.: Pythagore’s dilemma, symbolic-numeric computation, and the border basis method. Symbolic-Numeric Computations (Trends in Mathematics). Birkhäuser, Switzerland (2007)

    Google Scholar 

  11. Nagasaka, K.: A Study on Gröbner basis with inexact input. Lecture Notes in Computer Science. In: Proceedings of CASC2009 (Computer Algebra in Scientific Computing), vol. 5743, pp. 248–258, Kobe (2009)

    Google Scholar 

  12. Sasaki, T.: A subresultant-like theory for Buchberger’s procedure. Japan J. Indust. Appl. Math. 31, 137–164 (2014)

    Google Scholar 

  13. Sasaki, T., Kako, F.: Computing floating-point Gröbner base stably. In: Proceedings of SNC2007 (Symbolic Numeric Computation), pp.180–189. ACM Press (2007)

    Google Scholar 

  14. Sasaki, T., Kako, F.: Floating-point Gröbner basis computation with ill-conditionedness estimation. In: Proceedings of ASCM2007 (Asian Symposium on Computer Mathematics), Singapore, 2007; see also LNAI, vol. 5081, pp. 278–292, Deepak Kapur (Ed.), Springer (2008)

    Google Scholar 

  15. Sasaki, T., Kako, F.: Term-cancellations in computing floating-point Gröbner bases. In: Gerdt, P., Koepf, W., Mayr, W. Vorozhtsov, V. (Eds.) Proceedings of CASC2010 (Computer Algebra in Scientific Computing). LNCS, vol. 6244, pp. 220–231, Springer (2010)

    Google Scholar 

  16. K. Shirayanagi: An algorithm to compute floating-point Gröbner bases. Mathematical Computation with Maple V. Ideas and Applications, pp. 95–106. Birkhäuser (1993)

    Google Scholar 

  17. Shirayanagi, K.: Floating point Gröbner bases. Math. Comput. Simul 42, 509–528 (1996)

    Article  MathSciNet  MATH  Google Scholar 

  18. Shirayanagi, K., Sweedler, M.: Remarks on automatic algorithm stabilization. J. Symb. Comput. 26, 761–765 (1998)

    Article  MathSciNet  MATH  Google Scholar 

  19. Stetter, H.J.: Stabilization of polynomial systems solving with Gröbner bases. In: Proceedings of ISSAC’97 (Intern’l Symposium on Symbolic and Algebraic Computation), pp. 117–124, ACM Press(1997)

    Google Scholar 

  20. Stetter, H.J.: Numerical Polynomial Algebra. SIAM Publication, Philadelphia (2004)

    Book  MATH  Google Scholar 

  21. Stetter, H.J.: Approximate Gröbner bases—an impossible concept?. In: Proceedings of SNC2005 (Symbolic-Numeric Computation), pp. 235–236, Xi’an, China(2005)

    Google Scholar 

  22. Suzuki, A.: Computing Gröbner bases within linear algebra. Lecture Notes in Computer Science. In: Proceedings of CASC2009 (Computer Algebra in Scientific Computing). LNCS, vol. 5743, pp. 310–321. Springer (2009)

    Google Scholar 

  23. Traverso, C.: Syzygies, and the stabilization of numerical Buchberger algorithm. In: Proceedings of LMCS2002 (Logic, Mathematics and Computer Science), pp. 244–255. RISC-Linz, Austria (2002)

    Google Scholar 

  24. Traverso, C., Zanoni, A.: Numerical stability and stabilization of Gröbner basis computation. In: Proceedings of ISSAC2002 (Intern’l Symposium on Symbolic and Algebraic Computation), pp. 262–269. ACM Press (2002)

    Google Scholar 

  25. Weispfenning, V.: Gröbner bases for inexact input data. In: Proceedings of CASC2003 (Computer Algebra in Scientific Computing), pp. 403–411, Passau (2003)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Tateaki Sasaki .

Editor information

Editors and Affiliations

Appendix: Effective Floating-Point Numbers

Appendix: Effective Floating-Point Numbers

The efloat number was proposed by Kako and Sasaki in 1997 [6] so as to detect the cancellation errors automatically. (Similar ideas would be proposed by other authors). We represent an efloat as \(\#\mathrm{E}[f,\, e]\) (big-efloat as \(\#\mathrm{BE}[f,\, e]\)), where \(f\) is a floating-point number representing the value of this efloat, either of fixed precision or of arbitrary precision, and \(e\) is a fixed-precision floating-point number representing an approximate error of \(f\). The efloat arithmetic is as follows: (we put \(a = \#\mathrm{E}[f_a, e_a]\) and \(b = \#\mathrm{E}[f_b, e_b]\)).

$$\begin{aligned}&a + b \Longrightarrow \#\mathrm{E}[f_a + f_b,\ \max \{e_a,e_b\}], \\&a - b \Longrightarrow \#\mathrm{E}[f_a - f_b,\ \max \{e_a,e_b\}], \\&a \times b \Longrightarrow \#\mathrm{E}[f_a \times f_b,\ \max \{|f_b e_a|,|f_a e_b|\}], \\&a \div b \Longrightarrow \#\mathrm{E}[f_a \div f_b,\ \max \{|e_a/f_b|,|f_a e_b/f_b^2|\}]. \end{aligned}$$

Thus, the value-part of efloat is nothing but the conventional floating-point value. On the other hand, the error-part of efloat represents the cancellation error approximately; the rounding errors are neglected in determining the error-parts. Suppose the coefficients of the input polynomials contain relative errors of \(\varepsilon _\mathrm{init}\). Then, we set the initial error-part of each coefficient to \((5\sim 50) \varepsilon _\mathrm{init}\!\times \!|f|\); we set the error-part to \(10^{-15} \times |f|\) for double-precision efloat, and to a much larger value for big-efloat. In our algebra system, the efloat \(\#\mathrm{E}[f,\, e]\) with \(|f| < e\) is set to 0 automatically. Therefore, our algebra system detects fully-erroneous terms and remove them automatically, unless the rounding errors accumulate to \((5\sim 50) \varepsilon _\mathrm{init}\) or more, which is extremely rare in practical computations. We note that the computation in Example 1 was done by using efloats; if we use the conventional floating-point numbers we will encounter many very small terms which are fully erroneous.

Rights and permissions

Reprints and permissions

Copyright information

© 2014 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Sasaki, T. (2014). A Practical Method for Floating-Point Gröbner Basis Computation. In: Feng, R., Lee, Ws., Sato, Y. (eds) Computer Mathematics. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-662-43799-5_10

Download citation

Publish with us

Policies and ethics