Abstract
We revisit the polytope method for factoring sparse bivariate polynomials over finite fields, and address the bottleneck arising from solving the Hensel lifting equations using the sparse distributed polynomial representation. We revise the analysis when polynomials are represented as such, which reveals how performing the polynomial multiplications and ensuing additions in separate (serialised) phases causes the Hensel lifting phase to suffer from poor work, space, and I/O complexity, and hinges on the size of the intermediary output, as size is defined in the sparse distributed representation. We propose to overlap all polynomial arithmetic in one Hensel lifting step using a MAX priority queue. The overlapping approach adapts not only to the growth in the degree of the input polynomial but also to irregularities in the sparsity of intermediary output. It also results in evading expression swell and reducing the overall work and space complexity by an order of magnitude. When the priority queue is implemented as a cache-oblivious data structure, the overlapping approach achieves an order of magnitude improvement in I/O over the serialised approach, even when the latter is using cache efficient structures to assist in polynomial multiplications and additions. We present empirical results for the polytope method using a max-heap implementation of the global priority queue, which demonstrate extremely superior performance, and specifically against Magma, for sufficiently sparse input polynomials of very high degrees.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Abu Salem, F.K., Gao, S., Lauder, A.G.B.: Factoring polynomials via polytopes. In: Proc. of ISSAC, pp. 4–11 (2004)
Abu Salem, F.K.: An efficient sparse adaptation of the polytope method over \(\mathbb{F}_p\) and a record-high binary bivariate factorisation. J. Symb. Comp. 43(5), 311–341 (2008)
Aggarwal, A., Vitter, J.: The input/output complexity of sorting and related problems. Communications of the ACM 31(9), 1116–1127 (1988)
Arge, L., Bender, M.A., Demaine, E.D., Holland-Minkley, B., Munro, J.I.: Cache-oblivious priority queue and graph algorithm applications. In: Proc. of STOC, pp. 268–276 (2002)
Bernardin, L., Monagan, M.B.: Efficient multivariate factorization over finite fields. In: Mora, T., Mattson, H. (eds.) AAECC. LNCS, vol. 1255, pp. 15–28. Springer, Heidelberg (1997)
Bostan, A., Lecerf, G., Salvy, B., Schost, E., Wiebelt, B.: Complexity issues in bivariate polynomial factorization. In: Proc. of ISSAC, pp. 42–49 (2004)
Brodal, G.S., Fagerberg, R.: Funnel heap - a cache oblivious priority queue. In: Bose, P., Morin, P. (eds.) ISAAC 2002. LNCS, vol. 2518, pp. 219–228. Springer, Heidelberg (2002)
Brodal, G.S., Fagerberg, R., Meyer, U., Zeh, N.: Cache-oblivious data structures and algorithms for undirected breadth-first search and shortest paths. In: Hagerup, T., Katajainen, J. (eds.) SWAT 2004. LNCS, vol. 3111, pp. 480–492. Springer, Heidelberg (2004)
Fateman, R.: Comparing the speed of programs for sparse polynomial multiplication. ACM SIGSAM Bulletin 37(1), 4–15 (2003)
Gao, S., Lauder, A.G.B.: Hensel lifting and bivariate polynomial factorisation over finite fields. Math. Comp. 71, 1663–1676 (2002)
Goodrich, M., Tamassia, R.: Algorithm Design. John Wiley and Sons (2002)
Johnson, S.C.: Sparse polynomial arithmetic. ACM SIGSAM Bulletin 8, 63–71 (1974)
Frigo, H.P.M., Leiserson, C.E., Ramachandran, S.: Cache-oblivious algorithms. In: Proc. of FOCS, pp. 285–297 (1999)
Monagan, M., Pearce, R.: Polynomial division using dynamic arrays, heaps, and packed exponent vectors. In: Ganzha, V.G., Mayr, E.W., Vorozhtsov, E.V. (eds.) CASC 2007. LNCS, vol. 4770, pp. 295–315. Springer, Heidelberg (2007)
Monagan, M., Pearce, R.: Parallel sparse polynomial multiplication using heaps. In: Proc. ISSAC, pp. 263–269 (2009)
Monagan, M., Pearce, R.: Sparse polynomial pseudo division using a heap. J. Symb. Comp. 46(7), 807–822 (2011)
Von Hoeij, M.: Factoring polynomials and the knapsack problem. J. Number Theory 95(2), 167–189 (2002)
Von zur Gathen, J., Gerhard, J.: Modern Computer Algebra. Cambridge University Press (1999)
Wan, D.Q.: Factoring multivariate polynomials over large finite fields. Math. Comp. 54, 755–770 (1990)
Zassenhaus, H.: On Hensel factorization I. J. Number Theory 1, 291–311 (1969)
Wang, P., Rothschild, L.: Factoring multivariate polynomials over the integers. Math. Comp. 29, 935–950 (1975)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2014 Springer International Publishing Switzerland
About this paper
Cite this paper
Salem, F.K.A., El-Harake, K., Gemayel, K. (2014). Factoring Sparse Bivariate Polynomials Using the Priority Queue. In: Gerdt, V.P., Koepf, W., Seiler, W.M., Vorozhtsov, E.V. (eds) Computer Algebra in Scientific Computing. CASC 2014. Lecture Notes in Computer Science, vol 8660. Springer, Cham. https://doi.org/10.1007/978-3-319-10515-4_28
Download citation
DOI: https://doi.org/10.1007/978-3-319-10515-4_28
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-10514-7
Online ISBN: 978-3-319-10515-4
eBook Packages: Computer ScienceComputer Science (R0)