Skip to main content

POLY: A New Polynomial Data Structure for Maple 17

  • Conference paper
  • First Online:
Book cover Computer Mathematics

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.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 84.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Hardcover Book
USD 109.99
Price excludes VAT (USA)
  • Durable hardcover edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

References

  1. Monagan, M., Pearce, R.: Sparse polynomial multiplication and division in Maple 14. ACM Commun. Comput. Algebra 44(4), 205–209 (2010)

    Google Scholar 

  2. Monagan, M., Pearce, R.: Parallel sparse polynomial multiplication using heaps. In: Proceedings of ISSAC 2009, pp. 295–315. ACM Press (2009).

    Google Scholar 

  3. Granlund, T.: The GNU Multiple Precision Arithmetic Library, version 4.2.2. http://www.gmplib.org/ (2008)

  4. Hall Jr, A.D.: The ALTRAN system for rational function manipulation - a survey. Commun. ACM 14, 517–521 (1971). (ACM Press).

    Google Scholar 

  5. Buchberger, B.: Private communication, May 2013.

    Google Scholar 

  6. Grayson, D.R., Stillman, M.E.: Macaulay2, a software system for research in algebraic geometry. http://www.math.uiuc.edu/Macaulay2/

  7. 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

  8. Bachmann, O., Schönemann, H.: Monomial representations for Grobner bases computations. In: Proceedings of ISSAC ’98, pp. 309–316 (1998).

    Google Scholar 

  9. Warren, H.S.: Hacker’s Delight. Addison-Wesley, Boston (2003)

    Google Scholar 

  10. McIlroy, P.M., Bostic, K., McIlroy, M.D.: Engineering radix sort. Comput. Syst. 6(1), 5–27 (1993)

    Google Scholar 

  11. 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)

  12. 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).

    Google Scholar 

  13. Monagan, M., Pearce, R.: Parallel sparse polynomial division using heaps. In: Proceedings of PASCO 2010, pp. 105–111. ACM Press (2010).

    Google Scholar 

  14. Bariess, E.: Sylvester’s identity and multistep integer-preserving Gaussian elimination. Math. Comput. 22(102), 565–578 (1968)

    Google Scholar 

  15. 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)

    Article  MathSciNet  MATH  Google Scholar 

  16. The maxima computer algebra system. http://maxima.sourceforge.net/

  17. Stein W.A., et al.: Sage Mathematics Software (Version 5.0), The sage development team. http://www.sagemath.org (2012)

  18. 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)

  19. 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).

    Google Scholar 

  20. 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).

    Google Scholar 

  21. Monagan, M., Pearce, R.: Sparse polynomial division using heaps. J. Symbol Comput. 46(7), 807–822 (2011)

    Article  MathSciNet  MATH  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Michael Monagan .

Editor information

Editors and Affiliations

Appendices

Appendix A

Maple code (no pivoting) for the Bareiss algorithm.

figure c

Magma code for the Bareiss algorithm.

figure d

Appendix B

Maple code for timing benchmarks.

figure e

Magma code for timing benchmarks.

figure f

Mathematica code for timing benchmarks. Note, for the fifth benchmark, we used Cancel[p/f] which was much faster than PolynomialQuotient.

figure g

Maxima code for timing benchmarks.

figure h

Sage code for timing benchmarks

figure i

Singular code for timing benchmarks.

figure j

Trip code for timing benchmarks. POLYV means recursive sparse, POLPV means recursive dense.

figure k

Rights and permissions

Reprints 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

Publish with us

Policies and ethics