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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Bodrato, M., Zanoni, A.: Integer and polynomial multiplication: towards optimal Toom-Cook matrices. In: ISSAC 2007, pp. 17–24. ACM, New York (2007)
Bosma, W., Cannon, J., Playoust, C.: The Magma algebra system. I. The user language. J. Symbolic Comput. 24(3-4), 235–265 (1997)
Bostan, A., Lecerf, G., Schost, É.: Tellegen’s principle into practice. In: ISSAC 2003, pp. 37–44. ACM, New York (2003)
Brent, R.P., Kung, H.T.: Fast algorithms for manipulating formal power series. J. ACM 25(4), 581–595 (1978)
Bürgisser, P., Clausen, M., Shokrollahi, M.A.: Algebraic complexity theory. Grund. Math. Wissen, vol. 315. Springer, Heidelberg (1997)
Cantor, D.G., Kaltofen, E.: On fast multiplication of polynomials over arbitrary algebras. Acta Informatica 28(7), 693–701 (1991)
Cooley, J., Tukey, J.: An algorithm for the machine calculation of complex Fourier series. Mathematics of computation 19 (1965)
Gaudry, P., Thomé, E.: The mpFq library and implementing curve-based key exchanges. In: SPEED, pp. 49–64 (2007)
Hanrot, G., Quercia, M., Zimmermann, P.: The middle product algorithm. I. Appl. Algebra Engrg. Comm. Comput. 14(6), 415–438 (2004)
Hanrot, G., Zimmermann, P.: A long note on Mulders’ short product. J. Symb. Comput. 37(3), 391–401 (2004)
Karatsuba, A., Ofman, Y.: Multiplication of multidigit numbers on automata. Soviet Math. Dokl. 7, 595–596 (1963)
Monagan, M., Pearce, R.: Parallel sparse polynomial multiplication using heaps. In: ISSAC 2009. ACM, New York (to appear, 2009)
Montgomery, P.L.: Modular multiplication without trial division. Mathematics of Computation 44(170), 519–521 (1985)
Mulders, T.: On short multiplications and divisions. Appl. Algebra Engrg. Comm. Comput. 11(1), 69–88 (2000)
Schönhage, A., Strassen, V.: Schnelle Multiplikation großer Zahlen. Computing 7, 281–292 (1971)
Shoup, V.: A library for doing number theory, http://www.shoup.net/ntl/
Shoup, V.: A new polynomial factorization algorithm and its implementation. J. Symb. Comp. 20(4), 363–397 (1995)
Toom, A.: The complexity of a scheme of functional elements realizing the multiplication of integers. Doklady Akad. Nauk USSR 150(3), 496–498 (1963)
van der Hoeven, J.: Relax, but don’t be too lazy. J. Symbolic Comput. 34(6), 479–542 (2002)
von zur Gathen, J., Gerhard, J.: Modern computer algebra, 2nd edn. Cambridge University Press, Cambridge (2003)
Winograd, S.: Arithmetic complexity of computations. In: CBMS-NSF Regional Conference Series in Applied Mathematics, vol. 33. SIAM, Philadelphia (1980)
Zimmermann, P.: Irred-ntl patch, http://www.loria.fr/~zimmerma/irred/
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2009 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Ding, L., Schost, É. (2009). Code Generation for Polynomial Multiplication. In: Gerdt, V.P., Mayr, E.W., Vorozhtsov, E.V. (eds) Computer Algebra in Scientific Computing. CASC 2009. Lecture Notes in Computer Science, vol 5743. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-04103-7_6
Download citation
DOI: https://doi.org/10.1007/978-3-642-04103-7_6
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-04102-0
Online ISBN: 978-3-642-04103-7
eBook Packages: Computer ScienceComputer Science (R0)