Skip to main content
Log in

Factoring Multivariate Polynomials Represented by Black Boxes: A Maple + C Implementation

  • Published:
Mathematics in Computer Science Aims and scope Submit manuscript

Abstract

Our goal is to develop fast parallel algorithms to factor multivariate polynomials with integer coefficients. The authors contributed a parallel sparse Hensel lifting algorithm (CMSHL) to factor multivariate polynomials in their sparse representation (Chen and Monagan, in Proceedings of CASC 2020, LNCS 12291, pp 150–169, Springer, Berlin, 2020). The dominating cost of CMSHL is polynomial evaluations. To reduce this cost, in this work we represent the polynomial to be factored by a black box. We give an algorithm that computes the factors of the polynomial in their sparse representation directly using our modified CMSHL algorithm. Our new algorithm requires fewer probes to the black box than the algorithm of Kaltofen and Trager from 1990. We have implemented our algorithm in Maple with major subroutines coded in C. We present timing benchmarks for two examples of factoring determinants of matrices of polynomials. Our algorithm is much faster than Maple’s best determinant and factor algorithms on our benchmarks. We are able to compute the factors of \(\det T_n\) for \(n=16\) where \(T_n\) is the \(n \times n\) symmetric Toeplitz matrix with symbolic entries \(x_1,x_2,\dots ,x_n\).

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

Similar content being viewed by others

References

  1. Bareiss, E.: Sylvester’s Identity and multistep integer-preserving Gaussian elimination. Math. Comp. 22(103), 565–578 (1968)

    MathSciNet  MATH  Google Scholar 

  2. Bareiss, E.: Numerical solution of linear equations with Toeplitz and vector Toeplitz matrices. Numer. Math. 13(5), 404–424 (1969)

    Article  MathSciNet  MATH  Google Scholar 

  3. Ben-Or, M., Tiwari, P.: A deterministic algorithm for sparse multivariate polynomial interpolation. In Proceedings of STOC ’88, pp. 301–309. ACM (1988)

  4. Berkowitz, S.J.: On computing the determinant in small parallel time using a small number of processors. Inf. Process. Lett. 18(3), 147–150 (1984)

    Article  MathSciNet  MATH  Google Scholar 

  5. Bernardin, L.: On bivariate Hensel lifting and its parallelization. In Proceedings of ISSAC ’98, pp. 96–100. ACM (1998)

  6. Chen, T., Monagan, M.: The complexity and parallel implementation of two sparse multivariate Hensel lifting algorithms for polynomial factorization. In Proceedings of CASC 2020, LNCS. vol. 12291, pp. 150–169. Springer, Berlin (2020)

  7. Connolly, K.: A Maple implementation of FFT-based algorithms for polynomial multipoint evaluation, interpolation, and solving transposed Vandermonde systems. Masters Project, Simon Fraser University, (2020). http://www.cecm.sfu.ca/CAG/theses/kimberly.pdf

  8. Edmonds, J.: Systems of distinct representatives and linear algebra. J. Res. Natl. Bureau Stand. 718(4), 241–245 (1967)

    Article  MathSciNet  MATH  Google Scholar 

  9. Diaz, A., Kaltofen E.: FOXBOX: A system for manipulating symbolic objects in black box representation. In Proceedings of ISSAC ’98, pp. 30–37. ACM (1998)

  10. Von zur Gathen, J.: Irreducibility of multivariate polynomials. J. Comput. Syst. Sci. 31(2), 225–264 (1985)

    Article  MathSciNet  MATH  Google Scholar 

  11. Von zur Gathen, J., Gerhard, J.: Modern Computer Algebra. Cambridge University Press, Cambridge (2013)

  12. Geddes, K.O., Czapor, S.R., Labahn, G.: Algorithms for Computer Algebra. Kluwer Academic Publishers (1992)

  13. Hilbert, David: Über die Irreducibilität ganzer rational Functionen mit ganzzahigen Koeffizienten. J. Renie Agewandte Mathematik 110, 104–129 (1982)

    Google Scholar 

  14. Gentleman, W.M., Johnson, S.C.: Analysis of algorithms, a case study: determinants of matrices with polynomial entries. ACM Trans. Math. Soft. 2(3), 232–241 (1976). (ACM)

    Article  MathSciNet  MATH  Google Scholar 

  15. Kaltofen, E.: Effective Hilbert irreducibility. Inf. Control 66, 123–137 (1985)

    Article  MathSciNet  MATH  Google Scholar 

  16. Kaltofen, E.: Sparse Hensel lifting. In Proceedings of EUROCAL ’85, LNCS. vol. 204, pp. 4–17. Springer (1985)

  17. Khovanova, T., Scully, Z.: Efficient Calculation of Determinants of Symbolic Matrices with Many Variables, arXiv: 1304.4691 (2013)

  18. Kaltofen, E., Trager, B.M.: Computing with polynomials given by black boxes for their evaluations: greatest common divisors, factorization, separation of numerators and denominators. J. Symb. Cmpt. 9(3), 301–320 (1990). (Elsevier)

    Article  MathSciNet  MATH  Google Scholar 

  19. Kaltofen, E., Yagati, L.: Improved Sparse Multivariate Polynomial Interpolation Algorithms. In Proceedings of ISSAC ’88, LNCS vol. 358, pp. 467–474. Springer (1988)

  20. Lang, S.: Fundamentals of Diophantine Geometry. Springer-Verlag, New York (1983)

    Book  MATH  Google Scholar 

  21. Law, M.: Computing Characteristic Polynomials of Matrices of Structured Polynomials. Masters Thesis. Simon Fraser University. (2017)

  22. Lecerf, G.: Improved dense multivariate polynomial factorization algorithms. J. Symb. Comput. 42, 477–494 (2007)

    Article  MathSciNet  MATH  Google Scholar 

  23. Lee, W.S.: Early Termination Strategies in Sparse Interpolation Algorithms. Ph.D. Thesis (2001)

  24. Monagan, M.: Linear Hensel lifting for \({\mathbb{F} }_p[x, y]\) and \({\mathbb{Z} }[x]\) with cubic cost. Proc. ISSAC 2019, 299–306 (2019)

  25. Monagan, M., Pearce, R.: The design of Maple’s sum-of-products and POLY data structures for representing mathematical objects. Commun. Comput. Algebra 48(4), 166–186 (2014). (ACM)

    MathSciNet  MATH  Google Scholar 

  26. Monagan, M., Tuncer, B.: Using sparse interpolation in hensel lifting. In Proceedings of CASC 2016, LNCS, vol. 9890, pp. 381–400. Springer, Berlin (2016)

  27. Monagan, M., Tuncer, B.: Factoring multivariate polynomials with many factors and huge coefficients. In Proceedings of CASC 2018, LNCS. vol. 11077, pp. 319–334, Springer, Berlin (2018)

  28. Monagan, M., Tuncer, B.: Sparse multivariate Hensel lifting: a high-performance design and implementation. In Proceedings of ICMS 2018, LNCS. vol. 10931, pp. 359–368, Springer (2018)

  29. Monagan, M., Tuncer, B.: The complexity of sparse Hensel lifting and sparse polynomial factorization. J. Symb. Comput. 99, 189–230 (2020). (Elsevier)

    Article  MathSciNet  MATH  Google Scholar 

  30. Monagan, M., Tuncer, B.: Polynomial factorization in Maple 2019. In Maple in Mathematics Education and Research. Commun. Comput. Inf. Sci. 1125 , 341–345(2020). (Springer)

  31. Monagan, M., Paluck, G.: Linear Hensel lifting for Zp[x,y] for n factors with cubic cost. In Proceedings of ISSAC ’22, ACM (2022)

  32. Roche, D.: What can (and can’t) we do with sparse polynomials? In Proceedings of ISSAC 2018, pp. 25–30. ACM (2018)

  33. Schwartz, J.: Fast probabilistic algorithms for verification of polynomial identities. J. ACM 27(4), 701–717 (1980)

    Article  MathSciNet  MATH  Google Scholar 

  34. Wang, P.S., Rothschild, L.P.: Factoring multivariate polynomials over the integers. Math. Comp. 29, 935–950 (1975)

    Article  MathSciNet  MATH  Google Scholar 

  35. Yun, D.Y.Y.: The Hensel Lemma in Algebraic Manipulation. Ph.D. Thesis (1974)

  36. Zippel, R.E.: Probabilistic algorithms for sparse polynomials. LNCS 72, 216–226 (1979)

    MathSciNet  MATH  Google Scholar 

  37. Zippel, R.E.: Newton’s iteration and the sparse Hensel algorithm. In Proceedings of the ACM Symposium on Symbolic Algebraic Computation, pp. 68–72 (1981)

  38. Zippel, R.E.: Interpolating polynomials from their values. J. Symb. Comput. 9(3), 375–403 (1990)

    Article  MathSciNet  MATH  Google Scholar 

Download references

Acknowledgements

We would like to thank our colleague Garrett Paluck for his multi-factor bivariate Hensel lifting C code.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Tian Chen.

Additional information

Publisher's Note

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

Rights and permissions

Springer Nature or its licensor holds exclusive rights to this article under a publishing agreement with the author(s) or other rightsholder(s); author self-archiving of the accepted manuscript version of this article is solely governed by the terms of such publishing agreement and applicable law.

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Chen, T., Monagan, M. Factoring Multivariate Polynomials Represented by Black Boxes: A Maple + C Implementation. Math.Comput.Sci. 16, 18 (2022). https://doi.org/10.1007/s11786-022-00534-7

Download citation

  • Received:

  • Revised:

  • Accepted:

  • Published:

  • DOI: https://doi.org/10.1007/s11786-022-00534-7

Keywords

Mathematics Subject Classification

Navigation