Lecture 8: Fast Integer Multiplication and Interpolation
Background Material
- Review hand and paper method for multiplying integers.
Optional Reading
- D. Knuth, The Art of Computer Programming Seminumerical Algorithms,
Vol. 2, 3rd Ed., Sec. 4.3, Addison-Wesley, 1998.
Topics
- Review of classical Theta(n^2) algoritihm for multiplying integers.
- Divide and conquer recurrence: T(n) = a*T(n/b) + Theta(n).
- Recursive program to multiply integers [ a = 4, b = 2].
- Karatsuba's algorithm [a = 3, b = 2].
- Analysis of Karatsuba's algorithm.
- Polynomial interpolation.
- Polynomial multiplication using evaluation, pointwise product, and
interpolation.
- Deriving Karatsuba using interpolation
- Matrix view of interpolation
- Vandermonde matrix
- Vandermonde determinant
- Exact linear algebra package using Maple (inverse).
- Multiplying integers in time Theta(n^(1+e)) for any e > 0.
Slides
- imult.ppt (imult.pdf - slides covering Karatsuba's algorithm and generalizations.
Maple worksheets and programs
- imult.mws - Worksheet containing a Maple implementation
of the classic order n^2 integer multiplication algorithm.
- karatsuba.mws - Worksheet containing
an implementation and analysis of Karatsuba algorithm.
Assignment
Created: May 13, 2004 by jjohnson@mcs.drexel.edu