# 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