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\).
Similar content being viewed by others
References
Bareiss, E.: Sylvester’s Identity and multistep integer-preserving Gaussian elimination. Math. Comp. 22(103), 565–578 (1968)
Bareiss, E.: Numerical solution of linear equations with Toeplitz and vector Toeplitz matrices. Numer. Math. 13(5), 404–424 (1969)
Ben-Or, M., Tiwari, P.: A deterministic algorithm for sparse multivariate polynomial interpolation. In Proceedings of STOC ’88, pp. 301–309. ACM (1988)
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)
Bernardin, L.: On bivariate Hensel lifting and its parallelization. In Proceedings of ISSAC ’98, pp. 96–100. ACM (1998)
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)
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
Edmonds, J.: Systems of distinct representatives and linear algebra. J. Res. Natl. Bureau Stand. 718(4), 241–245 (1967)
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)
Von zur Gathen, J.: Irreducibility of multivariate polynomials. J. Comput. Syst. Sci. 31(2), 225–264 (1985)
Von zur Gathen, J., Gerhard, J.: Modern Computer Algebra. Cambridge University Press, Cambridge (2013)
Geddes, K.O., Czapor, S.R., Labahn, G.: Algorithms for Computer Algebra. Kluwer Academic Publishers (1992)
Hilbert, David: Über die Irreducibilität ganzer rational Functionen mit ganzzahigen Koeffizienten. J. Renie Agewandte Mathematik 110, 104–129 (1982)
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)
Kaltofen, E.: Effective Hilbert irreducibility. Inf. Control 66, 123–137 (1985)
Kaltofen, E.: Sparse Hensel lifting. In Proceedings of EUROCAL ’85, LNCS. vol. 204, pp. 4–17. Springer (1985)
Khovanova, T., Scully, Z.: Efficient Calculation of Determinants of Symbolic Matrices with Many Variables, arXiv: 1304.4691 (2013)
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)
Kaltofen, E., Yagati, L.: Improved Sparse Multivariate Polynomial Interpolation Algorithms. In Proceedings of ISSAC ’88, LNCS vol. 358, pp. 467–474. Springer (1988)
Lang, S.: Fundamentals of Diophantine Geometry. Springer-Verlag, New York (1983)
Law, M.: Computing Characteristic Polynomials of Matrices of Structured Polynomials. Masters Thesis. Simon Fraser University. (2017)
Lecerf, G.: Improved dense multivariate polynomial factorization algorithms. J. Symb. Comput. 42, 477–494 (2007)
Lee, W.S.: Early Termination Strategies in Sparse Interpolation Algorithms. Ph.D. Thesis (2001)
Monagan, M.: Linear Hensel lifting for \({\mathbb{F} }_p[x, y]\) and \({\mathbb{Z} }[x]\) with cubic cost. Proc. ISSAC 2019, 299–306 (2019)
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)
Monagan, M., Tuncer, B.: Using sparse interpolation in hensel lifting. In Proceedings of CASC 2016, LNCS, vol. 9890, pp. 381–400. Springer, Berlin (2016)
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)
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)
Monagan, M., Tuncer, B.: The complexity of sparse Hensel lifting and sparse polynomial factorization. J. Symb. Comput. 99, 189–230 (2020). (Elsevier)
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)
Monagan, M., Paluck, G.: Linear Hensel lifting for Zp[x,y] for n factors with cubic cost. In Proceedings of ISSAC ’22, ACM (2022)
Roche, D.: What can (and can’t) we do with sparse polynomials? In Proceedings of ISSAC 2018, pp. 25–30. ACM (2018)
Schwartz, J.: Fast probabilistic algorithms for verification of polynomial identities. J. ACM 27(4), 701–717 (1980)
Wang, P.S., Rothschild, L.P.: Factoring multivariate polynomials over the integers. Math. Comp. 29, 935–950 (1975)
Yun, D.Y.Y.: The Hensel Lemma in Algebraic Manipulation. Ph.D. Thesis (1974)
Zippel, R.E.: Probabilistic algorithms for sparse polynomials. LNCS 72, 216–226 (1979)
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)
Zippel, R.E.: Interpolating polynomials from their values. J. Symb. Comput. 9(3), 375–403 (1990)
Acknowledgements
We would like to thank our colleague Garrett Paluck for his multi-factor bivariate Hensel lifting C code.
Author information
Authors and Affiliations
Corresponding author
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.
About this article
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
Received:
Revised:
Accepted:
Published:
DOI: https://doi.org/10.1007/s11786-022-00534-7
Keywords
- Sparse Hensel Lifting
- Multivariate Polynomial Factorization
- Black Box Representation
- Determinant Algorithms