# Lecture 8: Fast Integer Multiplication and Interpolation

### Background Material

• Review hand and paper method for multiplying integers.

• 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

• 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