# Lecture 5: Fast Integer Multiplication and Interpolation

### Background Material

• Review hand and paper method for multiplying integers.
• Geometric series.

• D. Knuth, The Art of Computer Programming Seminumerical Algorithms, Vol. 2, 3rd Ed., Sec. 4.3, Addison-Wesley, 1998.

### Topics

1. Review of classical Theta(n^2) algoritihm for multiplying integers.
2. Divide and conquer recurrence: T(n) = a*T(n/b) + Theta(n).
3. Recursive program to multiply integers [ a = 4, b = 2].
4. Karatsuba's algorithm [a = 3, b = 2].
5. Analysis of Karatsuba's algorithm.
6. Polynomial interpolation.
7. Polynomial multiplication using evaluation, pointwise product, and interpolation.
8. Deriving Karatsuba using interpolation
9. Matrix view of interpolation
1. Vandermonde matrix
2. Vandermonde determinant
3. Exact linear algebra package using Maple (inverse).
10. Multiplying integers in time Theta(n^(1+e)) for any e > 0.

### Slides

1. imult.ppt (imult.pdf) - slides covering Karatsuba's algorithm and generalizations.

### Maple worksheets and programs

• karatsuba.mw - Worksheet containing an implementation and analysis of Karatsuba algorithm.
Created: Oct. 9, 2006 by jjohnson@cs.drexel.edu