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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
References
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)
Faugère, J.-C.: A new efficient algorithm for computing Gröbner bases (\(F_4\)). J. Pure Appl. Algebra 139, 61–88 (1999)
Fortuna, E., Gianni, P., Trager, B.: Degree reduction under specialization. J. Pure Appl. Algebra 164, 153–164 (2001)
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)
Kalkbrener, M.: On the stability of Gröbner bases under specialization. J. Symb. Comput. 24, 51–58 (1997)
Kako, F., Sasaki, T.: Proposal of “effective” floating-point number. Preprint of University Tsukuba, May 1997 (unpublished)
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)
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)
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)
Mourrain, B.: Pythagore’s dilemma, symbolic-numeric computation, and the border basis method. Symbolic-Numeric Computations (Trends in Mathematics). Birkhäuser, Switzerland (2007)
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)
Sasaki, T.: A subresultant-like theory for Buchberger’s procedure. Japan J. Indust. Appl. Math. 31, 137–164 (2014)
Sasaki, T., Kako, F.: Computing floating-point Gröbner base stably. In: Proceedings of SNC2007 (Symbolic Numeric Computation), pp.180–189. ACM Press (2007)
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)
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)
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)
Shirayanagi, K.: Floating point Gröbner bases. Math. Comput. Simul 42, 509–528 (1996)
Shirayanagi, K., Sweedler, M.: Remarks on automatic algorithm stabilization. J. Symb. Comput. 26, 761–765 (1998)
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)
Stetter, H.J.: Numerical Polynomial Algebra. SIAM Publication, Philadelphia (2004)
Stetter, H.J.: Approximate Gröbner bases—an impossible concept?. In: Proceedings of SNC2005 (Symbolic-Numeric Computation), pp. 235–236, Xi’an, China(2005)
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)
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)
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)
Weispfenning, V.: Gröbner bases for inexact input data. In: Proceedings of CASC2003 (Computer Algebra in Scientific Computing), pp. 403–411, Passau (2003)
Author information
Authors and Affiliations
Corresponding author
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]\)).
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
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
DOI: https://doi.org/10.1007/978-3-662-43799-5_10
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-662-43798-8
Online ISBN: 978-3-662-43799-5
eBook Packages: Mathematics and StatisticsMathematics and Statistics (R0)