Practical Divide-and-Conquer Algorithms for Polynomial Arithmetic

  • William Hart
  • Andrew Novocin
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 6885)


We investigate two practical divide-and-conquer style algorithms for univariate polynomial arithmetic. First we revisit an algorithm originally described by Brent and Kung for composition of power series, showing that it can be applied practically to composition of polynomials in ℤ[x] given in the standard monomial basis. We offer a complexity analysis, showing that it is asymptotically fast, avoiding coefficient explosion in ℤ[x]. Secondly we provide an improvement to Mulders’ polynomial division algorithm. We show that it is particularly efficient compared with the multimodular algorithm. The algorithms are straightforward to implement and available in the open source FLINT C library. We offer a practical comparison of our implementations with various computer algebra systems.


Computer Algebra System Polynomial Multiplication Short Product Division Algorithm Bernstein Basis 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Bernstein, D.: Multiprecision Multiplication for Mathematicians. In: Accepted by Advances in Applied Mathematics (2001), find at
  2. 2.
    de Boor, C.: B-Form Basics. Geometric Modeling: Algorithms and New Trends, pp. 131–148. SIAM, Philadelphia (1987)Google Scholar
  3. 3.
    Bostan, A., Salvy, B.: Fast conversion algorithms for orthogonal polynomials (preprint)Google Scholar
  4. 4.
    Prautzsch, H., Boehm, W., Paluszny, M.: Bézier and B-Spline Techniques. Springer, Heidelberg (2002)CrossRefzbMATHGoogle Scholar
  5. 5.
    Brent, R., Kung, H.T.: \(\mathcal{O}((n \log n)^3/2)\) Algorithms for composition and reversion of power series. In: Brent, R., Kung, H.T. (eds.) Analytic Computational Complexity, pp. 217–225. Academic Press, New York (1975)Google Scholar
  6. 6.
    Cannon, J.J., Bosma, W. (eds.): Handbook of Magma Functions, 2.17th edn. (2010),
  7. 7.
    von zur Gathen, J., Gerhard, J.: Modern Computer Algebra. Cambridge University Press, Cambridge (1999)zbMATHGoogle Scholar
  8. 8.
    Hanrot, G., Zimmermann, P.: A long note on Mulder’s short product. Journal of Symbolic Computation 37(3), 391–401 (2004)MathSciNetCrossRefzbMATHGoogle Scholar
  9. 9.
    Hart, W.: Fast Library for Number Theory: an introduction. In: Fukuda, K., van der Hoeven, J., Joswig, M., Takayama, N. (eds.) ICMS 2010. LNCS, vol. 6327, pp. 88–91. Springer, Heidelberg (2010), CrossRefGoogle Scholar
  10. 10.
    Knuth, D.: The Art of Computer Programming, volume 2: Seminumerical Algorithms, 3rd edn., pp. 486–488. Addison-Wesley, Reading (1997)Google Scholar
  11. 11.
    Liu, W., Mann, S.: An analysis of polynomial composition algorithms, University of Waterloo Research Report CS-95-24 (1995)Google Scholar
  12. 12.
    Mulders, T.: On Short Multiplications and Divisions. In: AAECC, vol. 11, pp. 69–88 (2000)Google Scholar
  13. 13.
    Pan, V.: Structured matrices and polynomials: unified superfast algorithms, p. 81. Springer, Heidelberg (2001)CrossRefzbMATHGoogle Scholar
  14. 14.
    Shoup, V.: NTL: A Library for doing Number Theory, open-source library,

Copyright information

© Springer-Verlag Berlin Heidelberg 2011

Authors and Affiliations

  • William Hart
    • 1
  • Andrew Novocin
    • 2
  1. 1.Mathematics InstituteUniversity of WarwickCoventryUK
  2. 2.LIP/INRIA/ENSLyon Cedex 07France

Personalised recommendations