1 / 11

Fast Multiplication of Large Numbers Using Fourier Techniques

Fast Multiplication of Large Numbers Using Fourier Techniques. Henry Skiba Advisor: Dr. Marcus Pendergrass. 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.

damian
Download Presentation

Fast Multiplication of Large Numbers Using Fourier Techniques

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

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. Multiplication in a New Way • Represent basic numbers as polynomials when x equals 10 • Multiply two polynomials together

  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. Using the FFT to Convolve (cont.) • Arrays are zero padded to make and equivalent • p = [p0,p1,p2,…,pn-1,pn,0,0,0,0,0…] vs. with zero padding without zero padding

  8. Algorithm • Starts with two arrays, p and q • Zero pads p and q • 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: nlog10n • Convolution: n2

  10. Results

  11. Questions?

More Related