# 1 Fast Multiplication of Large Numbers Using Fourier Techniques Henry Skiba Advisor: Dr. Marcus Pendergrass.

## Presentation on theme: "1 Fast Multiplication of Large Numbers Using Fourier Techniques Henry Skiba Advisor: Dr. Marcus Pendergrass."— Presentation transcript:

1 Fast Multiplication of Large Numbers Using Fourier Techniques Henry Skiba Advisor: Dr. Marcus Pendergrass

2 What is Multiplication? Multiplication of small numbers This can also be represented in the following way: –where x is equal to 10 Multiplication of small numbers

3 Represent basic numbers as polynomials when x equals 10 Multiply two polynomials together Multiplication in a New Way

4 General Polynomial Multiplication General Polynomials General Polynomial Multiplication Even More General Form – where Convolution

5 What is Convolution? This opens the door for use of the Fast Fourier Transform (FFT) for multiplication

6 Using the FFT to Convolve Convolution in the time domain is point wise multiplication in the frequency domain But

7 Arrays are zero padded to make and equivalent –p = [p 0,p 1,p 2,…,p n-1,p n,0,0,0,0,0…] Using the FFT to Convolve (cont.) vs. with zero padding without zero padding

8 Algorithm 1.Starts with two arrays, p and q 2.Zero pads p and q 3. 4. 5. 6.carry

9 Testing vs. Regular Convolution in Time Domain Timed how long it took to multiply to random numbers of a certain length –10,000 to 100,000 with digit stepping of 10,000 Repeated iteration 5 times Used theoretical times to plot fit based on average of 10,000 digit time values –FFT Multiplication: nlog 10 n –Convolution: n 2

10 Results

11 Questions?

Similar presentations