Abstract
We demonstrate how a new data structure for sparse distributed polynomials in the Maple 17 kernel significantly accelerates several key Maple library routines. The POLY data structure and its associated kernel operations are programmed for compactness, scalability, and low overhead. This allows polynomials to have tens of millions of terms, increases parallel speedup, and improves the performance of Maple library routines.
This work was supported by Maplesoft and the National Science and Engineering Research Council (NSERC) of Canada.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
References
Monagan, M., Pearce, R.: Sparse polynomial multiplication and division in Maple 14. ACM Commun. Comput. Algebra 44(4), 205–209 (2010)
Monagan, M., Pearce, R.: Parallel sparse polynomial multiplication using heaps. In: Proceedings of ISSAC 2009, pp. 295–315. ACM Press (2009).
Granlund, T.: The GNU Multiple Precision Arithmetic Library, version 4.2.2. http://www.gmplib.org/ (2008)
Hall Jr, A.D.: The ALTRAN system for rational function manipulation - a survey. Commun. ACM 14, 517–521 (1971). (ACM Press).
Buchberger, B.: Private communication, May 2013.
Grayson, D.R., Stillman, M.E.: Macaulay2, a software system for research in algebraic geometry. http://www.math.uiuc.edu/Macaulay2/
Bosma, W., Cannon, J., Playoust, C.: The magma algebra system I: the user language. J. Symbol Comput. 24(3–4), 235–265. http://magma.maths.usyd.edu.au/magma
Bachmann, O., Schönemann, H.: Monomial representations for Grobner bases computations. In: Proceedings of ISSAC ’98, pp. 309–316 (1998).
Warren, H.S.: Hacker’s Delight. Addison-Wesley, Boston (2003)
McIlroy, P.M., Bostic, K., McIlroy, M.D.: Engineering radix sort. Comput. Syst. 6(1), 5–27 (1993)
Intel corporation. Advanced vector extensions programming reference. http://software.intel.com/sites/default/files/m/8/a/1/8/4/36945-319433-011.pdf (2011)
Hilewitz, Y., Lee, R.B.: Fast bit compression and expansion with parallel extract and parallel deposit instructions. In: Proceedings of ASAP ’06, IEEE, pp. 65–72, (2006).
Monagan, M., Pearce, R.: Parallel sparse polynomial division using heaps. In: Proceedings of PASCO 2010, pp. 105–111. ACM Press (2010).
Bariess, E.: Sylvester’s identity and multistep integer-preserving Gaussian elimination. Math. Comput. 22(102), 565–578 (1968)
Gentleman, W.M., Johnson, S.C.: Analysis of algorithms, a case study: determinants of matrices with polynomial entries. ACM Trans. Math. Softw. 2(3), 232–241 (1976)
The maxima computer algebra system. http://maxima.sourceforge.net/
Stein W.A., et al.: Sage Mathematics Software (Version 5.0), The sage development team. http://www.sagemath.org (2012)
Greuel, G.-M., Pfister, G., Schönemann, H.: Singular 3.0: A computer algebra system for polynomial computations. Centre for Computer Algebra, University of Kaiserslautern. http://www.singular.uni-kl.de (2005)
Gastineau, M., Laskar, J.: Development of TRIP: fast sparse multivariate polynomial multiplication using burst tries. In: Proceedings of ICCS 2006, pp. 446–453. Springer LNCS 3992 (2006).
Gastineau, M.: Parallel operations of sparse polynomials on multicores - I. Multiplication and Poisson bracket. In: Proceedings of PASCO ’2010, pp. 44–52. ACM Press (2010).
Monagan, M., Pearce, R.: Sparse polynomial division using heaps. J. Symbol Comput. 46(7), 807–822 (2011)
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Appendices
Appendix A
Maple code (no pivoting) for the Bareiss algorithm.
Magma code for the Bareiss algorithm.
Appendix B
Maple code for timing benchmarks.
Magma code for timing benchmarks.
Mathematica code for timing benchmarks. Note, for the fifth benchmark, we used Cancel[p/f] which was much faster than PolynomialQuotient.
Maxima code for timing benchmarks.
Sage code for timing benchmarks
Singular code for timing benchmarks.
Trip code for timing benchmarks. POLYV means recursive sparse, POLPV means recursive dense.
Rights and permissions
Copyright information
© 2014 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Monagan, M., Pearce, R. (2014). POLY: A New Polynomial Data Structure for Maple 17. In: Feng, R., Lee, Ws., Sato, Y. (eds) Computer Mathematics. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-662-43799-5_24
Download citation
DOI: https://doi.org/10.1007/978-3-662-43799-5_24
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)