# Lecture 6: Fast Integer Multiplication

### Background Material

- Review hand and paper method for multiplying integers.
- Divide and conquer algorithms and recurrence relations
- Computing time analysis and asymptotic growth rates - big Oh,
big Theta

### Reading

### 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.
- 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 other resources

- karatsuba.mw - Worksheet containing
an implementation and analysis of Karatsuba algorithm.
- D. Knuth, The Art of Computer Programming Seminumerical Algorithms,
Vol. 2, 3rd Ed., Sec. 4.3, Addison-Wesley, 1998.

Created: April 14, 2006 by jjohnson@cs.drexel.edu