második nekifutás czirbusz sándor elte ik...
TRANSCRIPT
TARTALOMJEGYZÉK Polinomok konvolúviója A DFT és a maradékos osztás Gyuruk FFT támogatás nélkül
FFTMásodik nekifutás
Czirbusz SándorELTE IK, Komputeralgebra Tanszék
2015. október 2.
Czirbusz Sándor ELTE IK, Komputeralgebra Tanszék FFT
TARTALOMJEGYZÉK Polinomok konvolúviója A DFT és a maradékos osztás Gyuruk FFT támogatás nélkül
POLINOMOK KONVOLÚVIÓJA
Definíció
Legyen f (x) =∑n−1
j=0 fjxj és g(x) =∑n−1
j=0 gjxj két R[x]-beli polinom.A két polinom konvolúviója a
h = f ∗n g =
n−1∑k=1
hkxk ∈ R[x]
polinom, ahol
hk =∑
i+j≡ mod n
figj =
n−1∑j=0)
fjgk−j
minden 0 5 k < n esetén.
Czirbusz Sándor ELTE IK, Komputeralgebra Tanszék FFT
TARTALOMJEGYZÉK Polinomok konvolúviója A DFT és a maradékos osztás Gyuruk FFT támogatás nélkül
MEGJEGYZÉSEK
Ha értheto ∗n helyett ∗-ot írunk;
Ha Rn-beli vektoroknak tekintjük a polinomokat, akkor azf , g vektorok ciklikus konvolúciójáról beszélünk;A konvolúció nem más, mint a polinomok R[x]/< xn − 1 >gyurubeli szorzata, azaz f ∗n g = fg mod (xn − 1).
Czirbusz Sándor ELTE IK, Komputeralgebra Tanszék FFT
TARTALOMJEGYZÉK Polinomok konvolúviója A DFT és a maradékos osztás Gyuruk FFT támogatás nélkül
MEGJEGYZÉSEK
Ha értheto ∗n helyett ∗-ot írunk;Ha Rn-beli vektoroknak tekintjük a polinomokat, akkor azf , g vektorok ciklikus konvolúciójáról beszélünk;
A konvolúció nem más, mint a polinomok R[x]/< xn − 1 >gyurubeli szorzata, azaz f ∗n g = fg mod (xn − 1).
Czirbusz Sándor ELTE IK, Komputeralgebra Tanszék FFT
TARTALOMJEGYZÉK Polinomok konvolúviója A DFT és a maradékos osztás Gyuruk FFT támogatás nélkül
MEGJEGYZÉSEK
Ha értheto ∗n helyett ∗-ot írunk;Ha Rn-beli vektoroknak tekintjük a polinomokat, akkor azf , g vektorok ciklikus konvolúciójáról beszélünk;A konvolúció nem más, mint a polinomok R[x]/< xn − 1 >gyurubeli szorzata, azaz f ∗n g = fg mod (xn − 1).
Czirbusz Sándor ELTE IK, Komputeralgebra Tanszék FFT
TARTALOMJEGYZÉK Polinomok konvolúviója A DFT és a maradékos osztás Gyuruk FFT támogatás nélkül
A KONVOLÚCIÓ ÉS A DFT
Legyen f , g ∈ R[x] két, legfeljebb n− 1-edfokú polinom.
Czirbusz Sándor ELTE IK, Komputeralgebra Tanszék FFT
TARTALOMJEGYZÉK Polinomok konvolúviója A DFT és a maradékos osztás Gyuruk FFT támogatás nélkül
A KONVOLÚCIÓ ÉS A DFT
Legyen f , g ∈ R[x] két, legfeljebb n− 1-edfokú polinom.
ÁllításDFTω(f ∗ g) = DFTω(f ) ·DFTω(g), ahol · a koordinátánkéntiszorzás.
Czirbusz Sándor ELTE IK, Komputeralgebra Tanszék FFT
TARTALOMJEGYZÉK Polinomok konvolúviója A DFT és a maradékos osztás Gyuruk FFT támogatás nélkül
A KONVOLÚCIÓ ÉS A DFT
Legyen f , g ∈ R[x] két, legfeljebb n− 1-edfokú polinom.
ÁllításDFTω(f ∗ g) = DFTω(f ) ·DFTω(g), ahol · a koordinátánkéntiszorzás.
BizonyításMivel f ∗ g = fg + q(xn − 1) valamilyen q ∈ R[x]-re, ezért
(f ∗ g)(ωj) = f (ωj)g(ωj) + q(ωj)((ωj)n − 1) = f (ωj)g(ωj) .
Czirbusz Sándor ELTE IK, Komputeralgebra Tanszék FFT
TARTALOMJEGYZÉK Polinomok konvolúviója A DFT és a maradékos osztás Gyuruk FFT támogatás nélkül
EGY DIAGRAM
Az R[x]→ Rn-be képezo, f -hez a ω hatványain felvetthelyettesítési értékei vektorát rendelo leképezéshomomorfizmus,
(R[x]/<xn−1>)2 Rn × Rn
R[x]/<xn−1> Rn
DFTω ×DFTω
konvolúció belso szorzat
DFTω
Czirbusz Sándor ELTE IK, Komputeralgebra Tanszék FFT
TARTALOMJEGYZÉK Polinomok konvolúviója A DFT és a maradékos osztás Gyuruk FFT támogatás nélkülMotiváció Az algoritmus A gyors konvolúció
BEVEZETO PÉLDA
Q[x] fölötti polinomok szorzása mod (xn − u).f := x3 + 1: g := 2 ∗ x3 + 3 ∗ x2 + x + 1m := x4 − u:expand(f*g)
2x6 + 3x5 + x4 + 3x3 + 3x2 + x + 1quo(f ∗ g,m, x,′ r′)
2x2 + 3x + 1collect(expand(r), u)
(2 ∗ x2 + 3 ∗ x + 1) ∗ u + 3 ∗ x3 + 3 ∗ x2 + x + 1Látszik, hogy ilyen speciális alakú modulus esetén a maradékúgy épül fel, hogy a magasabb fokú tagok együtthatói azeredeti polinom magasabb fokú együtthatói, az alacsonyabbfokszámúak pedig szintén ugyanezek az eredeti polinomból.
Czirbusz Sándor ELTE IK, Komputeralgebra Tanszék FFT
TARTALOMJEGYZÉK Polinomok konvolúviója A DFT és a maradékos osztás Gyuruk FFT támogatás nélkülMotiváció Az algoritmus A gyors konvolúció
A PÉLDA ÁLTALÁNOSÍTÁSA
Legyen f ∈ R[x] egy legfeljebb n− 1-ed fokú polinom, ahol n = 2 páros egész,1, ω, . . . , ωn−1 pedig az ω n-edik primitív egységgyöknek megfeleloFourier-pontok.
Osszuk el f -et maradékosan xn/2 − 1-el és x
n/2 + 1-el.
f = q0 · (xn/2 − 1) + r0 = q1 · (x
n/2 + 1) + r1 , (1)
ahol az q0, q1, r0, r1R[x] polinomok n2 -nél kisebb fokszámúak. Ugyanakkor
f = F1xn/2 + F0 alakban írható, ahol az F0, F1 ∈ R[x] polinomok fokszáma
szintén kisebb n2 -nél.Ebbol F1(x
n/2 − 1) = f − F0 − F1, ezért(x
n/2 − 1) | f − F0 − F1, a maradékos osztás egyértelmusége miatt r0 = F0 + F1.Hasonlóan belátható, hogy r1 = F0 − F1.Tehát a maradék együtthatói az eredeti polinom együtthatóiból állnak, mint afenti példában is.
Czirbusz Sándor ELTE IK, Komputeralgebra Tanszék FFT
TARTALOMJEGYZÉK Polinomok konvolúviója A DFT és a maradékos osztás Gyuruk FFT támogatás nélkülMotiváció Az algoritmus A gyors konvolúció
A PÉLDA ÁLTALÁNOSÍTÁSA
Legyen f ∈ R[x] egy legfeljebb n− 1-ed fokú polinom, ahol n = 2 páros egész,1, ω, . . . , ωn−1 pedig az ω n-edik primitív egységgyöknek megfeleloFourier-pontok. Osszuk el f -et maradékosan x
n/2 − 1-el és xn/2 + 1-el.
f = q0 · (xn/2 − 1) + r0 = q1 · (x
n/2 + 1) + r1 , (1)
ahol az q0, q1, r0, r1R[x] polinomok n2 -nél kisebb fokszámúak.
Ugyanakkorf = F1x
n/2 + F0 alakban írható, ahol az F0, F1 ∈ R[x] polinomok fokszámaszintén kisebb n
2 -nél.Ebbol F1(xn/2 − 1) = f − F0 − F1, ezért
(xn/2 − 1) | f − F0 − F1, a maradékos osztás egyértelmusége miatt r0 = F0 + F1.
Hasonlóan belátható, hogy r1 = F0 − F1.Tehát a maradék együtthatói az eredeti polinom együtthatóiból állnak, mint afenti példában is.
Czirbusz Sándor ELTE IK, Komputeralgebra Tanszék FFT
TARTALOMJEGYZÉK Polinomok konvolúviója A DFT és a maradékos osztás Gyuruk FFT támogatás nélkülMotiváció Az algoritmus A gyors konvolúció
A PÉLDA ÁLTALÁNOSÍTÁSA
Legyen f ∈ R[x] egy legfeljebb n− 1-ed fokú polinom, ahol n = 2 páros egész,1, ω, . . . , ωn−1 pedig az ω n-edik primitív egységgyöknek megfeleloFourier-pontok. Osszuk el f -et maradékosan x
n/2 − 1-el és xn/2 + 1-el.
f = q0 · (xn/2 − 1) + r0 = q1 · (x
n/2 + 1) + r1 , (1)
ahol az q0, q1, r0, r1R[x] polinomok n2 -nél kisebb fokszámúak. Ugyanakkor
f = F1xn/2 + F0 alakban írható, ahol az F0, F1 ∈ R[x] polinomok fokszáma
szintén kisebb n2 -nél.
Ebbol F1(xn/2 − 1) = f − F0 − F1, ezért
(xn/2 − 1) | f − F0 − F1, a maradékos osztás egyértelmusége miatt r0 = F0 + F1.
Hasonlóan belátható, hogy r1 = F0 − F1.Tehát a maradék együtthatói az eredeti polinom együtthatóiból állnak, mint afenti példában is.
Czirbusz Sándor ELTE IK, Komputeralgebra Tanszék FFT
TARTALOMJEGYZÉK Polinomok konvolúviója A DFT és a maradékos osztás Gyuruk FFT támogatás nélkülMotiváció Az algoritmus A gyors konvolúció
A PÉLDA ÁLTALÁNOSÍTÁSA
Legyen f ∈ R[x] egy legfeljebb n− 1-ed fokú polinom, ahol n = 2 páros egész,1, ω, . . . , ωn−1 pedig az ω n-edik primitív egységgyöknek megfeleloFourier-pontok. Osszuk el f -et maradékosan x
n/2 − 1-el és xn/2 + 1-el.
f = q0 · (xn/2 − 1) + r0 = q1 · (x
n/2 + 1) + r1 , (1)
ahol az q0, q1, r0, r1R[x] polinomok n2 -nél kisebb fokszámúak. Ugyanakkor
f = F1xn/2 + F0 alakban írható, ahol az F0, F1 ∈ R[x] polinomok fokszáma
szintén kisebb n2 -nél.Ebbol F1(x
n/2 − 1) = f − F0 − F1, ezért(x
n/2 − 1) | f − F0 − F1, a maradékos osztás egyértelmusége miatt r0 = F0 + F1.
Hasonlóan belátható, hogy r1 = F0 − F1.Tehát a maradék együtthatói az eredeti polinom együtthatóiból állnak, mint afenti példában is.
Czirbusz Sándor ELTE IK, Komputeralgebra Tanszék FFT
TARTALOMJEGYZÉK Polinomok konvolúviója A DFT és a maradékos osztás Gyuruk FFT támogatás nélkülMotiváció Az algoritmus A gyors konvolúció
A PÉLDA ÁLTALÁNOSÍTÁSA
Legyen f ∈ R[x] egy legfeljebb n− 1-ed fokú polinom, ahol n = 2 páros egész,1, ω, . . . , ωn−1 pedig az ω n-edik primitív egységgyöknek megfeleloFourier-pontok. Osszuk el f -et maradékosan x
n/2 − 1-el és xn/2 + 1-el.
f = q0 · (xn/2 − 1) + r0 = q1 · (x
n/2 + 1) + r1 , (1)
ahol az q0, q1, r0, r1R[x] polinomok n2 -nél kisebb fokszámúak. Ugyanakkor
f = F1xn/2 + F0 alakban írható, ahol az F0, F1 ∈ R[x] polinomok fokszáma
szintén kisebb n2 -nél.Ebbol F1(x
n/2 − 1) = f − F0 − F1, ezért(x
n/2 − 1) | f − F0 − F1, a maradékos osztás egyértelmusége miatt r0 = F0 + F1.Hasonlóan belátható, hogy r1 = F0 − F1.Tehát a maradék együtthatói az eredeti polinom együtthatóiból állnak, mint afenti példában is.
Czirbusz Sándor ELTE IK, Komputeralgebra Tanszék FFT
TARTALOMJEGYZÉK Polinomok konvolúviója A DFT és a maradékos osztás Gyuruk FFT támogatás nélkülMotiváció Az algoritmus A gyors konvolúció
KIÉRTÉKELÉS A FOURIER-PONTOKBAN
Ha az (1)-be ω hatványait helyettesítjük:
f (ω2k) = q0(ω2k · (ωnk − 1) + r0(ω
2k) = r0(ω2k) ,
f (ω2k+1) = q1(ω2k+1 · (ωnkω
n/2 + 1) + r1(ω2k+1) = r1(ω
2k+1) ,
ahol 0 5 k < n/2.
Itt egyrészt azt használtuk ki, hogy ωnk = 1, másrészt a
0 = (ωn − 1) = (ωn/2 − 1) · (ω
n/2 + 1)
összefüggésben (ωn/2 − 1) nem lehet zérusosztó, így ω
n/2 = −1.Vagyis az r0-t kell kiértékelni az ω páros hatványainál, r1-et pedig apárosaknál. Legyen r∗1 (x) = r1(ωx). Felhasználva, hogy ω2 n/2-edikegységgyök, az FFT algoritmus egy „átfogalmazását” kaptuk.
Czirbusz Sándor ELTE IK, Komputeralgebra Tanszék FFT
TARTALOMJEGYZÉK Polinomok konvolúviója A DFT és a maradékos osztás Gyuruk FFT támogatás nélkülMotiváció Az algoritmus A gyors konvolúció
KIÉRTÉKELÉS A FOURIER-PONTOKBAN
Ha az (1)-be ω hatványait helyettesítjük:
f (ω2k) = q0(ω2k · (ωnk − 1) + r0(ω
2k) = r0(ω2k) ,
f (ω2k+1) = q1(ω2k+1 · (ωnkω
n/2 + 1) + r1(ω2k+1) = r1(ω
2k+1) ,
ahol 0 5 k < n/2.Itt egyrészt azt használtuk ki, hogy ωnk = 1, másrészt a
0 = (ωn − 1) = (ωn/2 − 1) · (ω
n/2 + 1)
összefüggésben (ωn/2 − 1) nem lehet zérusosztó, így ω
n/2 = −1.
Vagyis az r0-t kell kiértékelni az ω páros hatványainál, r1-et pedig apárosaknál. Legyen r∗1 (x) = r1(ωx). Felhasználva, hogy ω2 n/2-edikegységgyök, az FFT algoritmus egy „átfogalmazását” kaptuk.
Czirbusz Sándor ELTE IK, Komputeralgebra Tanszék FFT
TARTALOMJEGYZÉK Polinomok konvolúviója A DFT és a maradékos osztás Gyuruk FFT támogatás nélkülMotiváció Az algoritmus A gyors konvolúció
KIÉRTÉKELÉS A FOURIER-PONTOKBAN
Ha az (1)-be ω hatványait helyettesítjük:
f (ω2k) = q0(ω2k · (ωnk − 1) + r0(ω
2k) = r0(ω2k) ,
f (ω2k+1) = q1(ω2k+1 · (ωnkω
n/2 + 1) + r1(ω2k+1) = r1(ω
2k+1) ,
ahol 0 5 k < n/2.Itt egyrészt azt használtuk ki, hogy ωnk = 1, másrészt a
0 = (ωn − 1) = (ωn/2 − 1) · (ω
n/2 + 1)
összefüggésben (ωn/2 − 1) nem lehet zérusosztó, így ω
n/2 = −1.Vagyis az r0-t kell kiértékelni az ω páros hatványainál, r1-et pedig apárosaknál. Legyen r∗1 (x) = r1(ωx). Felhasználva, hogy ω2 n/2-edikegységgyök, az FFT algoritmus egy „átfogalmazását” kaptuk.
Czirbusz Sándor ELTE IK, Komputeralgebra Tanszék FFT
TARTALOMJEGYZÉK Polinomok konvolúviója A DFT és a maradékos osztás Gyuruk FFT támogatás nélkülMotiváció Az algoritmus A gyors konvolúció
AZ ALGORITMUS
Algorithm 1: FFT(N, ω, a(x))
Data: Adott N, kettohatványData: ω primitív N-edik primitív egységgyökData: f (x) legfeljebb N − 1-ed fokú polinomResult: A polinom Fourier transzformáltja
beginif N = 1 then
A0 ← f0 ;
else
r0 ←∑ N
2 −1i=0 (fi + fi+N/2
) · xi ;
r∗1 ←∑ N
2 −1i=0 (fi − fi+N/2
) · ωi · xi ;Az algoritmus hívása rekurzive ω2-el;
return (r0(1), r∗1 (1), r0(ω2), r∗1 (ω
2), . . . , r0(ωN−2)), r∗1 (ω
N−2) ;
Czirbusz Sándor ELTE IK, Komputeralgebra Tanszék FFT
TARTALOMJEGYZÉK Polinomok konvolúviója A DFT és a maradékos osztás Gyuruk FFT támogatás nélkülMotiváció Az algoritmus A gyors konvolúció
AZ ALGORITMUS HELYESSÉGE
TételLegyen ω n-edik primitív egységgyök az R gyuruben, n kettohatvány.Ekkor az elozo algoritmus helyesen számolja kia DFTω-t, ehhezn log n gyurubeli összeadásra és n/2 log n szorzásra van szükség.
Czirbusz Sándor ELTE IK, Komputeralgebra Tanszék FFT
TARTALOMJEGYZÉK Polinomok konvolúviója A DFT és a maradékos osztás Gyuruk FFT támogatás nélkülMotiváció Az algoritmus A gyors konvolúció
AZ ALGORITMUS
Algorithm 2: FastConvolution(N, ω, a(x))
Data: Adott N, kettohatványData: ω primitív N-edik primitív egységgyökData: f , g legfeljebb N − 1-ed fokú polinomResult: f ∗ g
beginω2, . . . ωN−1 kiszámítása ;α← DFTω(f ); β ← DFTω(g) ;γ ← α · β ; // pontonkénti szorzás
return DFT−1ω (γ) ;
Czirbusz Sándor ELTE IK, Komputeralgebra Tanszék FFT
TARTALOMJEGYZÉK Polinomok konvolúviója A DFT és a maradékos osztás Gyuruk FFT támogatás nélkülMotiváció Az algoritmus A gyors konvolúció
BONYOLULTSÁG
DefinícióAzt mondjuk, hogy egy R kommutatív gyuru támogatja az FFT-t,ha R-ben minden k ∈ N esetén van 2k-adik primitív egységgyök.
TételLegyen R olyan kommutatív , mely támogatja az FFT-t, n = 2k
valamilyen k ∈ N-el. Legyen továbbá f , g ∈ R[x] két polinom,melyekre deg (fg) < n. Ekkor az R[x]/< xn− 1 >-beli konvolúcióhoz3n log n R-beli összeadás, 3
2 n log n + n− 2 ω-hatvánnyal valószorzás, n R-beli szorzás és n db osztás szükséges, összesen92 n log n +O(n) muvelet. Emiatt a polinomszorzás bonyolultsága18n log n +O(n) muvelet.
Czirbusz Sándor ELTE IK, Komputeralgebra Tanszék FFT
TARTALOMJEGYZÉK Polinomok konvolúviója A DFT és a maradékos osztás Gyuruk FFT támogatás nélkülMotiváció Az algoritmus A gyors konvolúció
BONYOLULTSÁG
DefinícióAzt mondjuk, hogy egy R kommutatív gyuru támogatja az FFT-t,ha R-ben minden k ∈ N esetén van 2k-adik primitív egységgyök.
TételLegyen R olyan kommutatív , mely támogatja az FFT-t, n = 2k
valamilyen k ∈ N-el. Legyen továbbá f , g ∈ R[x] két polinom,melyekre deg (fg) < n. Ekkor az R[x]/< xn− 1 >-beli konvolúcióhoz3n log n R-beli összeadás, 3
2 n log n + n− 2 ω-hatvánnyal valószorzás, n R-beli szorzás és n db osztás szükséges, összesen92 n log n +O(n) muvelet. Emiatt a polinomszorzás bonyolultsága18n log n +O(n) muvelet.
Czirbusz Sándor ELTE IK, Komputeralgebra Tanszék FFT
TARTALOMJEGYZÉK Polinomok konvolúviója A DFT és a maradékos osztás Gyuruk FFT támogatás nélkülNegative wrapped convolution
AZ ÖTLET I
Legyen R olyan kommutatív gyuru, melyben a 2 egység, n = 2k, k ∈ N, valamintD = R[x]/〈xn + 1〉.
ÁllításD-ben ω = x 2n-edik primitív egységgyök.
Bizonyítás
Az, hogy ω = x 2n-edik egységgyök, következik az xn ≡ −1 mod (xn + 1) ésx2n = (xn)2 ≡ 1 mod (xn + 1) kongruenciákból.
Legyen p | n prím; ekkor a (c− 1) ·∑m−1
j=1 cj = cm − 1 összefüggést
m = p, c = ωnp -re alkalmazva:
ωnp − 1 =
p−1∑j=1
(ωnp )j = (ω
np )p − 1 = ωn − 1 = −2
ami egység.
Czirbusz Sándor ELTE IK, Komputeralgebra Tanszék FFT
TARTALOMJEGYZÉK Polinomok konvolúviója A DFT és a maradékos osztás Gyuruk FFT támogatás nélkülNegative wrapped convolution
AZ ÖTLET I
Legyen R olyan kommutatív gyuru, melyben a 2 egység, n = 2k, k ∈ N, valamintD = R[x]/〈xn + 1〉.
ÁllításD-ben ω = x 2n-edik primitív egységgyök.
Bizonyítás
Az, hogy ω = x 2n-edik egységgyök, következik az xn ≡ −1 mod (xn + 1) ésx2n = (xn)2 ≡ 1 mod (xn + 1) kongruenciákból.
Legyen p | n prím; ekkor a (c− 1) ·∑m−1
j=1 cj = cm − 1 összefüggést
m = p, c = ωnp -re alkalmazva:
ωnp − 1 =
p−1∑j=1
(ωnp )j = (ω
np )p − 1 = ωn − 1 = −2
ami egység.
Czirbusz Sándor ELTE IK, Komputeralgebra Tanszék FFT
TARTALOMJEGYZÉK Polinomok konvolúviója A DFT és a maradékos osztás Gyuruk FFT támogatás nélkülNegative wrapped convolution
AZ ÖTLET I
Legyen R olyan kommutatív gyuru, melyben a 2 egység, n = 2k, k ∈ N, valamintD = R[x]/〈xn + 1〉.
ÁllításD-ben ω = x 2n-edik primitív egységgyök.
Bizonyítás
Az, hogy ω = x 2n-edik egységgyök, következik az xn ≡ −1 mod (xn + 1) ésx2n = (xn)2 ≡ 1 mod (xn + 1) kongruenciákból.
Legyen p | n prím; ekkor a (c− 1) ·∑m−1
j=1 cj = cm − 1 összefüggést
m = p, c = ωnp -re alkalmazva:
ωnp − 1 =
p−1∑j=1
(ωnp )j = (ω
np )p − 1 = ωn − 1 = −2
ami egység.
Czirbusz Sándor ELTE IK, Komputeralgebra Tanszék FFT
TARTALOMJEGYZÉK Polinomok konvolúviója A DFT és a maradékos osztás Gyuruk FFT támogatás nélkülNegative wrapped convolution
AZ ÖTLET II
Ha f , g ∈ R[x] olyanok, hogy deg (fg) < n = 2k, akkor elegendofg-t kiszámítani mod (xn + 1). (Ez a negative wrappedconvolution).
!m = 2bn2 c és t = n
m = 2dn2 e. Ekkor:
f =∑
05j<t fjxmj és g =∑
05j<t gjxmj, ahol fj, gj ∈ R[x] ésfokszámuk kisebb, mint m;Legyen f ′ =
∑05j<t fjyj, g′ =
∑05j<t gjyj ∈ R[x, y].
Ekkor f (x) = f ′(x, xm), g(x) = g′(x, xm).f ′ · g′ = h′ + q′(yt + 1), ezért fg ≡ h′(x, xm) mod (xn + 1),így elegendo f ′g′ mod (yt + 1)-et kiszámolni;degy h′ < t esetén h′ egyértelmu, továbbá degx h′ < 2m.
Czirbusz Sándor ELTE IK, Komputeralgebra Tanszék FFT
TARTALOMJEGYZÉK Polinomok konvolúviója A DFT és a maradékos osztás Gyuruk FFT támogatás nélkülNegative wrapped convolution
AZ ÖTLET II
Ha f , g ∈ R[x] olyanok, hogy deg (fg) < n = 2k, akkor elegendofg-t kiszámítani mod (xn + 1). (Ez a negative wrappedconvolution).
!m = 2bn2 c és t = n
m = 2dn2 e. Ekkor:
f =∑
05j<t fjxmj és g =∑
05j<t gjxmj, ahol fj, gj ∈ R[x] ésfokszámuk kisebb, mint m;
Legyen f ′ =∑
05j<t fjyj, g′ =∑
05j<t gjyj ∈ R[x, y].Ekkor f (x) = f ′(x, xm), g(x) = g′(x, xm).f ′ · g′ = h′ + q′(yt + 1), ezért fg ≡ h′(x, xm) mod (xn + 1),így elegendo f ′g′ mod (yt + 1)-et kiszámolni;degy h′ < t esetén h′ egyértelmu, továbbá degx h′ < 2m.
Czirbusz Sándor ELTE IK, Komputeralgebra Tanszék FFT
TARTALOMJEGYZÉK Polinomok konvolúviója A DFT és a maradékos osztás Gyuruk FFT támogatás nélkülNegative wrapped convolution
AZ ÖTLET II
Ha f , g ∈ R[x] olyanok, hogy deg (fg) < n = 2k, akkor elegendofg-t kiszámítani mod (xn + 1). (Ez a negative wrappedconvolution).
!m = 2bn2 c és t = n
m = 2dn2 e. Ekkor:
f =∑
05j<t fjxmj és g =∑
05j<t gjxmj, ahol fj, gj ∈ R[x] ésfokszámuk kisebb, mint m;Legyen f ′ =
∑05j<t fjyj, g′ =
∑05j<t gjyj ∈ R[x, y].
Ekkor f (x) = f ′(x, xm), g(x) = g′(x, xm).
f ′ · g′ = h′ + q′(yt + 1), ezért fg ≡ h′(x, xm) mod (xn + 1),így elegendo f ′g′ mod (yt + 1)-et kiszámolni;degy h′ < t esetén h′ egyértelmu, továbbá degx h′ < 2m.
Czirbusz Sándor ELTE IK, Komputeralgebra Tanszék FFT
TARTALOMJEGYZÉK Polinomok konvolúviója A DFT és a maradékos osztás Gyuruk FFT támogatás nélkülNegative wrapped convolution
AZ ÖTLET II
Ha f , g ∈ R[x] olyanok, hogy deg (fg) < n = 2k, akkor elegendofg-t kiszámítani mod (xn + 1). (Ez a negative wrappedconvolution).
!m = 2bn2 c és t = n
m = 2dn2 e. Ekkor:
f =∑
05j<t fjxmj és g =∑
05j<t gjxmj, ahol fj, gj ∈ R[x] ésfokszámuk kisebb, mint m;Legyen f ′ =
∑05j<t fjyj, g′ =
∑05j<t gjyj ∈ R[x, y].
Ekkor f (x) = f ′(x, xm), g(x) = g′(x, xm).f ′ · g′ = h′ + q′(yt + 1), ezért fg ≡ h′(x, xm) mod (xn + 1),így elegendo f ′g′ mod (yt + 1)-et kiszámolni;
degy h′ < t esetén h′ egyértelmu, továbbá degx h′ < 2m.
Czirbusz Sándor ELTE IK, Komputeralgebra Tanszék FFT
TARTALOMJEGYZÉK Polinomok konvolúviója A DFT és a maradékos osztás Gyuruk FFT támogatás nélkülNegative wrapped convolution
AZ ÖTLET II
Ha f , g ∈ R[x] olyanok, hogy deg (fg) < n = 2k, akkor elegendofg-t kiszámítani mod (xn + 1). (Ez a negative wrappedconvolution).
!m = 2bn2 c és t = n
m = 2dn2 e. Ekkor:
f =∑
05j<t fjxmj és g =∑
05j<t gjxmj, ahol fj, gj ∈ R[x] ésfokszámuk kisebb, mint m;Legyen f ′ =
∑05j<t fjyj, g′ =
∑05j<t gjyj ∈ R[x, y].
Ekkor f (x) = f ′(x, xm), g(x) = g′(x, xm).f ′ · g′ = h′ + q′(yt + 1), ezért fg ≡ h′(x, xm) mod (xn + 1),így elegendo f ′g′ mod (yt + 1)-et kiszámolni;degy h′ < t esetén h′ egyértelmu, továbbá degx h′ < 2m.
Czirbusz Sándor ELTE IK, Komputeralgebra Tanszék FFT
TARTALOMJEGYZÉK Polinomok konvolúviója A DFT és a maradékos osztás Gyuruk FFT támogatás nélkülNegative wrapped convolution
AZ ÖTLET III
Legyen ξ = x mod x2m + 1 ∈ D = R[x]/⟨x2m + 1
⟩.
ξ negyedik primitív gyök;
Ha most f ∗ = f ′ mod (x2m+) és hasonlóan g∗, h∗, akkorD[y]-ban
f ∗g∗ ≡ h∗ mod (yt + 1) ;
Mivel mindhárom polinom fokszáma kisebb, mint 2m, amod (x2m + 1) redukció csak algebrai „nézopont”-váltást
jelent, a struktúraváltással alkalmazható az FFT.
Czirbusz Sándor ELTE IK, Komputeralgebra Tanszék FFT
TARTALOMJEGYZÉK Polinomok konvolúviója A DFT és a maradékos osztás Gyuruk FFT támogatás nélkülNegative wrapped convolution
AZ ÖTLET III
Legyen ξ = x mod x2m + 1 ∈ D = R[x]/⟨x2m + 1
⟩.
ξ negyedik primitív gyök;Ha most f ∗ = f ′ mod (x2m+) és hasonlóan g∗, h∗, akkorD[y]-ban
f ∗g∗ ≡ h∗ mod (yt + 1) ;
Mivel mindhárom polinom fokszáma kisebb, mint 2m, amod (x2m + 1) redukció csak algebrai „nézopont”-váltást
jelent, a struktúraváltással alkalmazható az FFT.
Czirbusz Sándor ELTE IK, Komputeralgebra Tanszék FFT
TARTALOMJEGYZÉK Polinomok konvolúviója A DFT és a maradékos osztás Gyuruk FFT támogatás nélkülNegative wrapped convolution
AZ ÖTLET III
Legyen ξ = x mod x2m + 1 ∈ D = R[x]/⟨x2m + 1
⟩.
ξ negyedik primitív gyök;Ha most f ∗ = f ′ mod (x2m+) és hasonlóan g∗, h∗, akkorD[y]-ban
f ∗g∗ ≡ h∗ mod (yt + 1) ;
Mivel mindhárom polinom fokszáma kisebb, mint 2m, amod (x2m + 1) redukció csak algebrai „nézopont”-váltást
jelent, a struktúraváltással alkalmazható az FFT.
Czirbusz Sándor ELTE IK, Komputeralgebra Tanszék FFT