Book contents
- Frontmatter
- Contents
- Introduction
- 1 Cyclohexane, cryptography, codes, and computer algebra
- I Euclid
- II Newton
- 8 Fast multiplication
- 9 Newton iteration
- 10 Fast polynomial evaluation and interpolation
- 11 Fast Euclidean Algorithm
- 12 Fast linear algebra
- 13 Fourier Transform and image compression
- III Gauß
- IV Fermat
- V Hilbert
- Appendix
- Sources of illustrations
- Sources of quotations
- List of algorithms
- List of figures and tables
- References
- List of notation
- Index
- The Holy Qur'ān (732)
8 - Fast multiplication
from II - Newton
Published online by Cambridge University Press: 05 May 2013
- Frontmatter
- Contents
- Introduction
- 1 Cyclohexane, cryptography, codes, and computer algebra
- I Euclid
- II Newton
- 8 Fast multiplication
- 9 Newton iteration
- 10 Fast polynomial evaluation and interpolation
- 11 Fast Euclidean Algorithm
- 12 Fast linear algebra
- 13 Fourier Transform and image compression
- III Gauß
- IV Fermat
- V Hilbert
- Appendix
- Sources of illustrations
- Sources of quotations
- List of algorithms
- List of figures and tables
- References
- List of notation
- Index
- The Holy Qur'ān (732)
Summary
In this chapter, we introduce fast methods for multiplying integers and polynomials. We start with a simple method due to Karatsuba which reduces the cost from the classical O(n2) for polynomials of degree n to O(n1.59). The Discrete Fourier Transform and its efficient implementation, the Fast Fourier Transform, are the backbone of the fastest algorithms. These work only when appropriate roots of unity are present, but Schönhage & Strassen (1971) showed how to create “virtual” roots that lead to a multiplication cost of only O(n log n loglog n). In Chapter 9, Newton iteration will help us extend this to fast division with remainder.
General-purpose computer algebra systems typically only implement the classical method, and sometimes Karatsuba's. This is quite sufficient as long as one deals with fairly small numbers or polynomials, but for many high-performance tasks fast arithmetic is indispensable. Examples include factoring large polynomials (Section 15.7), finding primes and twin primes (Notes to Chapter 18), and computing billions of digits of π (Section 4.6) or billions of roots of Riemann's zeta function (Notes 18.4).
Asymptotically fast methods are standard tools in many areas of computer science, where, say, O(nlogn) sorting algorithms like quicksort or mergesort are widely used and experiments show that they outperform the “classical” O(n2) sorting algorithms like bubble sort or insertion sort already for values of n below 100.
- Type
- Chapter
- Information
- Modern Computer Algebra , pp. 221 - 256Publisher: Cambridge University PressPrint publication year: 2013
- 1
- Cited by