Abstract
We discuss algorithms for pseudo-division and division with remainder of multivariate polynomials with sparse representation. This work is motivated by the computations of normal forms and pseudo-remainders with respect to regular chains. We report on the implementation of those algorithms with the BPAS library.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Notes
- 1.
Polynomial arithmetic operations refers here to addition, multiplication, division and pseudo-division.
- 2.
Note that the heap need not actually store product terms but can simply store the indices of the two factors, with the product only computed when elements of the heap are removed. This strategy is needed for pseudodivision, discussed below, where the quotient terms are updated in the course of the algorithm.
References
Arnold, A., Roche, D.S.: Output-sensitive algorithms for sumset and sparse polynomial multiplication. In: Proceedings of ISSAC 2015, pp. 29–36 (2015). http://doi.acm.org/10.1145/2755996.2756653
Bronstein, M., Moreno Maza, M., Watt, S.: Generic programming techniques in ALDOR. In: Proceedings of AWFS 2007, pp. 72–77 (2007)
Chen, C., Covanov, S., Mansouri, F., Maza, M.M., Xie, N., Xie, Y.: Parallel integer polynomial multiplication. CoRR abs/1612.05778 (2016). http://arxiv.org/abs/1612.05778
Chen, C., Moreno Maza, M.: Algorithms for computing triangular decomposition of polynomial systems. J. Symb. Comput. 47(6), 610–642 (2012). https://doi.org/10.1016/j.jsc.2011.12.023
Gastineau, M., Laskar, J.: Highly scalable multiplication for distributed sparse multivariate polynomials on many-core systems. In: Gerdt, V.P., Koepf, W., Mayr, E.W., Vorozhtsov, E.V. (eds.) CASC 2013. LNCS, vol. 8136, pp. 100–115. Springer, Cham (2013). https://doi.org/10.1007/978-3-319-02297-0_8
Gastineau, M., Laskar, J.: Parallel sparse multivariate polynomial division. In: Proceedings of PASCO 2015, pp. 25–33 (2015). http://doi.acm.org/10.1145/2790282.2790285
Granlund, T., et al.: GNU MP 6.0 Multiple Precision Arithmetic Library. Samurai Media Limited (2015)
Hall Jr., A.D.: The ALTRAN system for rational function manipulation-a survey. In: Proceedings of the Second ACM Symposium on Symbolic and Algebraic Manipulation, pp. 153–157. ACM (1971)
Hart, W., Johansson, F., Pancratz, S.: FLINT: Fast Library for Number Theory, v. 2.4.3. http://flintlib.org
van der Hoeven, J., Lecerf, G.: On the bit-complexity of sparse polynomial and series multiplication. J. Symb. Comput. 50, 227–254 (2013). https://doi.org/10.1016/j.jsc.2012.06.004
Johnson, S.C.: Sparse polynomial arithmetic. ACM SIGSAM Bull. 8(3), 63–71 (1974)
Leiserson, C.E.: Cilk. In: Padua, D. (ed.) Encyclopedia of Parallel Computing, pp. 273–288. Springer, Boston (2011). https://doi.org/10.1007/978-0-387-09766-4_289
Lemaire, F., Maza, M.M., Xie, Y.: The regularchains library in MAPLE. ACM SIGSAM Bull. 39(3), 96–97 (2005). https://doi.org/10.1145/1113439.1113456
Li, X., Maza, M.M., Schost, É.: Fast arithmetic for triangular sets: from theory to practice. J. Symb. Comput. 44(7), 891–907 (2009). https://doi.org/10.1016/j.jsc.2008.04.019
Monagan, M.B., Pearce, R.: Parallel sparse polynomial multiplication using heaps. In: ISSAC, pp. 263–270 (2009)
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). https://doi.org/10.1007/978-3-540-75187-8_23
Monagan, M., Pearce, R.: Parallel sparse polynomial division using heaps. In: Proceedings of PASCO 2010, pp. 105–111. ACM (2010)
Monagan, M., Pearce, R.: The design of Maple’s sum-of-products and POLY data structures for representing mathematical objects. ACM Commun. Comput. Algebra 48(3/4), 166–186 (2015)
Monagan, M.B., Pearce, R.: Sparse polynomial division using a heap. J. Symb. Comput. 46(7), 807–822 (2011). https://doi.org/10.1016/j.jsc.2010.08.014
Moreno Maza, M., Xie, Y.: Balanced dense polynomial multiplication on multi-cores. Int. J. Found. Comput. Sci. 22(5), 1035–1055 (2011)
Shoup, V., et al.: NTL: A library for doing number theory. www.shoup.net/ntl/
Acknowledgments
The authors would like to thank IBM Canada Ltd (CAS project 880) and NSERC of Canada (CRD grant CRDPJ500717-16).
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
A Appendix
A Appendix
Let \(\mathbb {K}\) be a field. If B is a Gröbner basis of \(\mathbb {K}[x_1, \ldots , x_m]\) Algorithm 5 computes the normal form of a polynomial \(a \in \mathbb {K}[x_1, \ldots , x_m]\) (together with the quotients) w.r.t. B; the principle is direct (or naïve). Alternatively, when B is a zero-dimensional normalized (thus so-called Lazard) triangular set, one can use Algorithm 7, the recursive principle of which is taken from [14]. Some details are given here. For computing the normal form of polynomial \(a \in \mathbb {K}[x_1,\ldots ,x_m]\) with respect to a Lazard triangular set \(T = \{ t_1, \ldots , t_m \} \subset \mathbb {K}[x_1,\ldots ,x_m]\), Algorithm 7 uses the recursive representation of polynomials. If \(m = 1\), the result is obtained by applying Algorithm 2. Otherwise, the coefficients of a with respect to \(x_m\) are reduced w.r.t. to \( \{ t_1, \ldots , t_{m-1} \}\) by means of a recursive call (Lines 4–11 of the pseudo-code), yielding a polynomial r. Then, r is divided by \(t_m\) by applying Algorithm 2, see Line 12, yielding a new polynomial r. Finally, the coefficients w.r.t. \(x_m\) of this new polynomial r are reduced w.r.t. to \( \{ t_1, \ldots , t_{m-1} \}\), by means of a second recursive call, see Lines 13–16.
Algorithm 6 is a direct (or naïve) procedure for computing the pseudo-remainder and the pseudo-quotients of a polynomial \(a \in \mathbb {K}[x_1,\ldots ,x_m]\) by a triangular set \( T = \{ t_1, \ldots , t_N \}\). Note that T may not be zero-dimensional, that is, \(N < m\) may hold. Moreover, T may not be normalized; in particular its initials may not be constant. Algorithm 8 is a recursive version of Algorithm 6 following the same principles as Algorithm 7 and calling Algorithm 4 at Line 14.
Rights and permissions
Copyright information
© 2018 Springer Nature Switzerland AG
About this paper
Cite this paper
Asadi, M., Brandt, A., Moir, R.H.C., Moreno Maza, M. (2018). Sparse Polynomial Arithmetic with the BPAS Library. In: Gerdt, V., Koepf, W., Seiler, W., Vorozhtsov, E. (eds) Computer Algebra in Scientific Computing. CASC 2018. Lecture Notes in Computer Science(), vol 11077. Springer, Cham. https://doi.org/10.1007/978-3-319-99639-4_3
Download citation
DOI: https://doi.org/10.1007/978-3-319-99639-4_3
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-99638-7
Online ISBN: 978-3-319-99639-4
eBook Packages: Computer ScienceComputer Science (R0)