Lecture 5: Fast Integer Multiplication and Interpolation

Background Material

Optional Reading

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

Created: Oct. 9, 2006 by jjohnson@cs.drexel.edu