Skip to main content

Sparse Polynomial Arithmetic with the BPAS Library

  • Conference paper
  • First Online:
Book cover Computer Algebra in Scientific Computing (CASC 2018)

Part of the book series: Lecture Notes in Computer Science ((LNTCS,volume 11077))

Included in the following conference series:

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.

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 54.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 69.99
Price excludes VAT (USA)
  • Compact, lightweight 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

Notes

  1. 1.

    Polynomial arithmetic operations refers here to addition, multiplication, division and pseudo-division.

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

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

  2. Bronstein, M., Moreno Maza, M., Watt, S.: Generic programming techniques in ALDOR. In: Proceedings of AWFS 2007, pp. 72–77 (2007)

    Google Scholar 

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

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

    Article  MathSciNet  MATH  Google Scholar 

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

    Chapter  Google Scholar 

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

  7. Granlund, T., et al.: GNU MP 6.0 Multiple Precision Arithmetic Library. Samurai Media Limited (2015)

    Google Scholar 

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

    Google Scholar 

  9. Hart, W., Johansson, F., Pancratz, S.: FLINT: Fast Library for Number Theory, v. 2.4.3. http://flintlib.org

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

    Article  MathSciNet  MATH  Google Scholar 

  11. Johnson, S.C.: Sparse polynomial arithmetic. ACM SIGSAM Bull. 8(3), 63–71 (1974)

    Article  Google Scholar 

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

    Chapter  Google Scholar 

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

    Article  MATH  Google Scholar 

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

    Article  MathSciNet  MATH  Google Scholar 

  15. Monagan, M.B., Pearce, R.: Parallel sparse polynomial multiplication using heaps. In: ISSAC, pp. 263–270 (2009)

    Google Scholar 

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

    Chapter  Google Scholar 

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

    Google Scholar 

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

    Article  MathSciNet  Google Scholar 

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

    Article  MathSciNet  MATH  Google Scholar 

  20. Moreno Maza, M., Xie, Y.: Balanced dense polynomial multiplication on multi-cores. Int. J. Found. Comput. Sci. 22(5), 1035–1055 (2011)

    Article  MathSciNet  Google Scholar 

  21. Shoup, V., et al.: NTL: A library for doing number theory. www.shoup.net/ntl/

Download references

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

Authors

Corresponding author

Correspondence to Alexander Brandt .

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.

figure c
figure d
figure e

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

Reprints and permissions

Copyright information

© 2018 Springer Nature Switzerland AG

About this paper

Check for updates. Verify currency and authenticity via CrossMark

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)

Publish with us

Policies and ethics