Code Generation for Polynomial Multiplication

  • Ling Ding
  • Éric Schost
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 5743)

Abstract

We discuss the family of “divide-and-conquer” algorithms for polynomial multiplication, that generalize Karatsuba’s algorithm. We give explicit versions of transposed and short products for this family of algorithms and describe code generation techniques that result in high-performance implementations.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Bodrato, M., Zanoni, A.: Integer and polynomial multiplication: towards optimal Toom-Cook matrices. In: ISSAC 2007, pp. 17–24. ACM, New York (2007)Google Scholar
  2. 2.
    Bosma, W., Cannon, J., Playoust, C.: The Magma algebra system. I. The user language. J. Symbolic Comput. 24(3-4), 235–265 (1997)MathSciNetCrossRefMATHGoogle Scholar
  3. 3.
    Bostan, A., Lecerf, G., Schost, É.: Tellegen’s principle into practice. In: ISSAC 2003, pp. 37–44. ACM, New York (2003)Google Scholar
  4. 4.
    Brent, R.P., Kung, H.T.: Fast algorithms for manipulating formal power series. J. ACM 25(4), 581–595 (1978)MathSciNetCrossRefMATHGoogle Scholar
  5. 5.
    Bürgisser, P., Clausen, M., Shokrollahi, M.A.: Algebraic complexity theory. Grund. Math. Wissen, vol. 315. Springer, Heidelberg (1997)MATHGoogle Scholar
  6. 6.
    Cantor, D.G., Kaltofen, E.: On fast multiplication of polynomials over arbitrary algebras. Acta Informatica 28(7), 693–701 (1991)MathSciNetCrossRefMATHGoogle Scholar
  7. 7.
    Cooley, J., Tukey, J.: An algorithm for the machine calculation of complex Fourier series. Mathematics of computation 19 (1965)Google Scholar
  8. 8.
    Gaudry, P., Thomé, E.: The mpFq library and implementing curve-based key exchanges. In: SPEED, pp. 49–64 (2007)Google Scholar
  9. 9.
    Hanrot, G., Quercia, M., Zimmermann, P.: The middle product algorithm. I. Appl. Algebra Engrg. Comm. Comput. 14(6), 415–438 (2004)MathSciNetCrossRefMATHGoogle Scholar
  10. 10.
    Hanrot, G., Zimmermann, P.: A long note on Mulders’ short product. J. Symb. Comput. 37(3), 391–401 (2004)MathSciNetCrossRefMATHGoogle Scholar
  11. 11.
    Karatsuba, A., Ofman, Y.: Multiplication of multidigit numbers on automata. Soviet Math. Dokl. 7, 595–596 (1963)Google Scholar
  12. 12.
    Monagan, M., Pearce, R.: Parallel sparse polynomial multiplication using heaps. In: ISSAC 2009. ACM, New York (to appear, 2009)Google Scholar
  13. 13.
    Montgomery, P.L.: Modular multiplication without trial division. Mathematics of Computation 44(170), 519–521 (1985)MathSciNetCrossRefMATHGoogle Scholar
  14. 14.
    Mulders, T.: On short multiplications and divisions. Appl. Algebra Engrg. Comm. Comput. 11(1), 69–88 (2000)MathSciNetCrossRefMATHGoogle Scholar
  15. 15.
    Schönhage, A., Strassen, V.: Schnelle Multiplikation großer Zahlen. Computing 7, 281–292 (1971)MathSciNetCrossRefMATHGoogle Scholar
  16. 16.
    Shoup, V.: A library for doing number theory, http://www.shoup.net/ntl/
  17. 17.
    Shoup, V.: A new polynomial factorization algorithm and its implementation. J. Symb. Comp. 20(4), 363–397 (1995)MathSciNetCrossRefMATHGoogle Scholar
  18. 18.
    Toom, A.: The complexity of a scheme of functional elements realizing the multiplication of integers. Doklady Akad. Nauk USSR 150(3), 496–498 (1963)MATHGoogle Scholar
  19. 19.
    van der Hoeven, J.: Relax, but don’t be too lazy. J. Symbolic Comput. 34(6), 479–542 (2002)MathSciNetCrossRefMATHGoogle Scholar
  20. 20.
    von zur Gathen, J., Gerhard, J.: Modern computer algebra, 2nd edn. Cambridge University Press, Cambridge (2003)MATHGoogle Scholar
  21. 21.
    Winograd, S.: Arithmetic complexity of computations. In: CBMS-NSF Regional Conference Series in Applied Mathematics, vol. 33. SIAM, Philadelphia (1980)Google Scholar
  22. 22.
    Zimmermann, P.: Irred-ntl patch, http://www.loria.fr/~zimmerma/irred/

Copyright information

© Springer-Verlag Berlin Heidelberg 2009

Authors and Affiliations

  • Ling Ding
    • 1
  • Éric Schost
    • 1
  1. 1.ORCCA, Computer Science DepartmentThe University of Western OntarioLondonCanada

Personalised recommendations