Integer multiplication with generalized Fermat primes
Svyatoslav Covanov
CARAMEL Team, LORIA, University of Lorraine Supervised by: Emmanuel Thomé and Jérémie Detrey
Integer multiplication with generalized Fermat primes Svyatoslav - - PowerPoint PPT Presentation
Integer multiplication with generalized Fermat primes Svyatoslav Covanov CARAMEL Team, LORIA, University of Lorraine Supervised by: Emmanuel Thom and Jrmie Detrey Journes nationales du Calcul Formel 2015 (Cluny) November 4, 2015
CARAMEL Team, LORIA, University of Lorraine Supervised by: Emmanuel Thomé and Jérémie Detrey
Summary
1
2
3
Svyatoslav Covanov Integer multiplication with generalized Fermat primes November 4, 2015 2 / 23
Fast Fourier Transform
1
2
3
Svyatoslav Covanov Integer multiplication with generalized Fermat primes November 4, 2015 3 / 23
Fast Fourier Transform Naive multiplication
Svyatoslav Covanov Integer multiplication with generalized Fermat primes November 4, 2015 4 / 23
Fast Fourier Transform Naive multiplication
Svyatoslav Covanov Integer multiplication with generalized Fermat primes November 4, 2015 4 / 23
Fast Fourier Transform Naive multiplication
Svyatoslav Covanov Integer multiplication with generalized Fermat primes November 4, 2015 4 / 23
Fast Fourier Transform Multiplying integer using polynomials
i aixi and
i bixi (deg A = deg B = n, |ai| = |bi| = N/(2n) = k, and
Svyatoslav Covanov Integer multiplication with generalized Fermat primes November 4, 2015 5 / 23
Fast Fourier Transform Multiplying integer using polynomials
i aixi and
i bixi (deg A = deg B = n, |ai| = |bi| = N/(2n) = k, and
Svyatoslav Covanov Integer multiplication with generalized Fermat primes November 4, 2015 5 / 23
Fast Fourier Transform Multiplying integer using polynomials
i aixi and
i bixi (deg A = deg B = n, |ai| = |bi| = N/(2n) = k, and
Svyatoslav Covanov Integer multiplication with generalized Fermat primes November 4, 2015 5 / 23
Fast Fourier Transform Multiplying integer using polynomials
i aixi and
i bixi (deg A = deg B = n, |ai| = |bi| = N/(2n) = k, and
Svyatoslav Covanov Integer multiplication with generalized Fermat primes November 4, 2015 5 / 23
Fast Fourier Transform Multiplying integer using polynomials
i aixi and
i bixi (deg A = deg B = n, |ai| = |bi| = N/(2n) = k, and
Svyatoslav Covanov Integer multiplication with generalized Fermat primes November 4, 2015 5 / 23
Fast Fourier Transform Multiplying integer using polynomials [a0, . . . , a2n−1] [b0, . . . , b2n−1]
[x0, . . . , x2n−1] [y0, . . . , y2n−1]
[x0y0, . . . , x2n−1y2n−1]
Svyatoslav Covanov Integer multiplication with generalized Fermat primes November 4, 2015 6 / 23
Fast Fourier Transform FFT
j∈[0,2n−1] ωij = 0 for i ∈ [1, 2n − 1].
Svyatoslav Covanov Integer multiplication with generalized Fermat primes November 4, 2015 7 / 23
Fast Fourier Transform FFT
j∈[0,2n−1] ωij = 0 for i ∈ [1, 2n − 1].
Svyatoslav Covanov Integer multiplication with generalized Fermat primes November 4, 2015 7 / 23
Fast Fourier Transform FFT
j∈[0,2n−1] ωij = 0 for i ∈ [1, 2n − 1].
Svyatoslav Covanov Integer multiplication with generalized Fermat primes November 4, 2015 7 / 23
Fast Fourier Transform FFT
P0 P1 P2 P3 P4 P5 P6 P7 P8 P9 P10 P11 P12 P13 P14 P15
Qbitrev(0) Qbitrev(1) Qbitrev(2) Qbitrev(3) Qbitrev(4) Qbitrev(5) Qbitrev(6) Qbitrev(7) Qbitrev(8) Qbitrev(9) Qbitrev(10) Qbitrev(11) Qbitrev(12) Qbitrev(13) Qbitrev(14) Qbitrev(15)
ω0 ω0 ω0 ω0 ω4 ω4 ω4 ω4 ω0 ω0 ω2 ω2 ω4 ω4 ω6 ω6 ω0 ω1 ω2 ω3 ω4 ω5 ω6 ω7 Svyatoslav Covanov Integer multiplication with generalized Fermat primes November 4, 2015 8 / 23
Fast Fourier Transform Schönhage-Strassen 1 N: # bits of the integers that we multiply. 2 2n: degree of the polynomials A and B used to represent a and
3 k: # bits used to encode the coefficients of A and B: a = A(2k)
Svyatoslav Covanov Integer multiplication with generalized Fermat primes November 4, 2015 9 / 23
Fast Fourier Transform Schönhage-Strassen 1 N: # bits of the integers that we multiply. 2 2n: degree of the polynomials A and B used to represent a and
3 k: # bits used to encode the coefficients of A and B: a = A(2k)
Svyatoslav Covanov Integer multiplication with generalized Fermat primes November 4, 2015 9 / 23
Fast Fourier Transform Schönhage-Strassen 1 N: # bits of the integers that we multiply. 2 2n: degree of the polynomials A and B used to represent a and
3 k: # bits used to encode the coefficients of A and B: a = A(2k)
Svyatoslav Covanov Integer multiplication with generalized Fermat primes November 4, 2015 9 / 23
Fast Fourier Transform Schönhage-Strassen [a0, . . . , a2n−1] [b0, . . . , b2n−1]
[x0, . . . , x2n−1] [y0, . . . , y2n−1]
[x0y0, . . . , x2n−1y2n−1]
Svyatoslav Covanov Integer multiplication with generalized Fermat primes November 4, 2015 10 / 23
Fast Fourier Transform Schönhage-Strassen
[a0, . . . , a2n−1] [b0, . . . , b2n−1]
[x0, . . . , x2n−1] [y0, . . . , y2n−1]
[x0y0, . . . , x2n−1y2n−1]
Recursion Svyatoslav Covanov Integer multiplication with generalized Fermat primes November 4, 2015 11 / 23
Fast Fourier Transform Schönhage-Strassen
[a0, . . . , a2n−1] [b0, . . . , b2n−1]
[x0, . . . , x2n−1] [y0, . . . , y2n−1]
[x0y0, . . . , x2n−1y2n−1]
Recursion > < Svyatoslav Covanov Integer multiplication with generalized Fermat primes November 4, 2015 12 / 23
Fast Fourier Transform Some remarks
C Z/(2e + 1)Z O(log N) O( √ N) Coefficients size? Coefficients size? DFT, Convolution Convolution Expensive multiplications? Expensive multiplications?
Svyatoslav Covanov Integer multiplication with generalized Fermat primes November 4, 2015 13 / 23
Fast Fourier Transform Some remarks
C Z/(2e + 1)Z O(log N) O( √ N) Coefficients size? Coefficients size? DFT, Convolution Convolution Expensive multiplications? Expensive multiplications? Case Degree
Recursion Complexity C O(N/ log N) expensive O(log N) N log N log log N · · · 2O(log∗ N) Z/(2e + 1)Z O( √ N) cheap O( √ N) N log N log log N
Svyatoslav Covanov Integer multiplication with generalized Fermat primes November 4, 2015 13 / 23
Fürer
1
2
3
Svyatoslav Covanov Integer multiplication with generalized Fermat primes November 4, 2015 14 / 23
Fürer Factorization of FFT
a0 a4 a8 a12 a1 a5 a9 a13 a2 a6 a10 a14 a3 a7 a11 a15
Below, the matrix repre- sentation: a0 a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15
Svyatoslav Covanov Integer multiplication with generalized Fermat primes November 4, 2015 15 / 23
Fürer Factorization of FFT
a0 a4 a8 a12 a1 a5 a9 a13 a2 a6 a10 a14 a3 a7 a11 a15
Below, the matrix repre- sentation: a0 a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15
Svyatoslav Covanov Integer multiplication with generalized Fermat primes November 4, 2015 16 / 23
Fürer Factorization of FFT
a0 a4 a8 a12 a1 a5 a9 a13 a2 a6 a10 a14 a3 a7 a11 a15
Below, the matrix repre- sentation: a0 a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15
Svyatoslav Covanov Integer multiplication with generalized Fermat primes November 4, 2015 17 / 23
Fürer A new ring and a new cut
Svyatoslav Covanov Integer multiplication with generalized Fermat primes November 4, 2015 18 / 23
Fürer A new ring and a new cut
Case Degree
Recursion Complexity C O(N/ log N) expensive O(log N) N log N log log N · · · 2O(log∗ N) Z/(2e + 1)Z O( √ N) cheap O( √ N) N log N log log N C[x]/(xP + 1) O(N/ log2 N) it depends O(log2 N) N log N 2O(log∗ N) Z[x]/(qc, xP + 1)Z O(N/ log2 N) it depends O(log2 N) N log N 2O(log∗ N)
Svyatoslav Covanov Integer multiplication with generalized Fermat primes November 4, 2015 18 / 23
Using generalized Fermat primes
1
2
3
Svyatoslav Covanov Integer multiplication with generalized Fermat primes November 4, 2015 19 / 23
Using generalized Fermat primes Number-theoretic transform
Svyatoslav Covanov Integer multiplication with generalized Fermat primes November 4, 2015 20 / 23
Using generalized Fermat primes Number-theoretic transform
Svyatoslav Covanov Integer multiplication with generalized Fermat primes November 4, 2015 20 / 23
Using generalized Fermat primes Number-theoretic transform
1 N: # bits of the integers that we multiply. 2 2n: degree of the polynomials A and B used to represent a and
3 k: # bits used to encode the coefficients of A and B: a = A(2k)
2 log2 q.
Svyatoslav Covanov Integer multiplication with generalized Fermat primes November 4, 2015 20 / 23
Using generalized Fermat primes Number-theoretic transform
1 N: # bits of the integers that we multiply. 2 2n: degree of the polynomials A and B used to represent a and
3 k: # bits used to encode the coefficients of A and B: a = A(2k)
2 log2 q.
Svyatoslav Covanov Integer multiplication with generalized Fermat primes November 4, 2015 20 / 23
Using generalized Fermat primes A Fürer-like number theoretic transform
Svyatoslav Covanov Integer multiplication with generalized Fermat primes November 4, 2015 21 / 23
Using generalized Fermat primes A Fürer-like number theoretic transform
Svyatoslav Covanov Integer multiplication with generalized Fermat primes November 4, 2015 21 / 23
Using generalized Fermat primes A Fürer-like number theoretic transform
Svyatoslav Covanov Integer multiplication with generalized Fermat primes November 4, 2015 21 / 23
Using generalized Fermat primes Comparison of complexities
Case Degree
Recursion Complexity C O(N/ log N) expensive O(log N) N log N log log N · · · 2O(log∗ N) Z/(2e + 1)Z O( √ N) cheap O( √ N) N log N log log N C[x]/(xP + 1) O(N/ log2 N) it depends O(log2 N) N log N 2O(log∗ N) Z[x]/(qc, xP + 1)Z O(N/ log2 N) it depends O(log2 N) N log N 2O(log∗ N)
Svyatoslav Covanov Integer multiplication with generalized Fermat primes November 4, 2015 22 / 23
Using generalized Fermat primes Comparison of complexities
Case Degree
Recursion Complexity C O(N/ log N) expensive O(log N) N log N log log N · · · 2O(log∗ N) Z/(2e + 1)Z O( √ N) cheap O( √ N) N log N log log N C[x]/(xP + 1) O(N/ log2 N) it depends O(log2 N) N log N 2O(log∗ N) Z[x]/(qc, xP + 1)Z O(N/ log2 N) it depends O(log2 N) N log N 2O(log∗ N)
Case Degree
Recursion Complexity C O(N/ log N) expensive O(log N) N log N log log N · · · 2O(log∗ N) Z/(2e + 1)Z O( √ N) cheap O( √ N) N log N log log N C[x]/(xP + 1) O(N/ log2 N) it depends O(log2 N) N log N 2O(log∗ N) Z[x]/(qc, xP + 1)Z O(N/ log2 N) it depends O(log2 N) N log N 2O(log∗ N) Z/(bP + 1)Z O(N/(log N log log N)) it depends O(log N log log N) N log N 2O(log∗ N)
Svyatoslav Covanov Integer multiplication with generalized Fermat primes November 4, 2015 22 / 23
Conclusion
Svyatoslav Covanov Integer multiplication with generalized Fermat primes November 4, 2015 23 / 23
Conclusion
Svyatoslav Covanov Integer multiplication with generalized Fermat primes November 4, 2015 23 / 23
Conclusion
Svyatoslav Covanov Integer multiplication with generalized Fermat primes November 4, 2015 23 / 23
Conclusion
Svyatoslav Covanov Integer multiplication with generalized Fermat primes November 4, 2015 23 / 23