Upload
others
View
0
Download
0
Embed Size (px)
Citation preview
TARTALOMJEGYZÉK Kis történelem Irodalom Az FFT
FFTElso nekifutás
Czirbusz SándorELTE IK, Komputeralgebra Tanszék
2014. április 16.
Czirbusz Sándor ELTE IK, Komputeralgebra Tanszék FFT
TARTALOMJEGYZÉK Kis történelem Irodalom Az FFT
KIS TÖRTÉNELEM
1805 Gauss – DFT, nem publikálta
1807 Fourier – sorok, nem publikálta1822 Fourier – Théorie analytique de la chaleur1924 Runge, König – Duplázó algoritmus1942 Danielson, Lángos – divide and conquer1965 J. W. Cooley, J. W. Tukey196* Rudnick – az elso O(n log n)-es implementáció1972 Fiduccia
Czirbusz Sándor ELTE IK, Komputeralgebra Tanszék FFT
TARTALOMJEGYZÉK Kis történelem Irodalom Az FFT
KIS TÖRTÉNELEM
1805 Gauss – DFT, nem publikálta1807 Fourier – sorok, nem publikálta
1822 Fourier – Théorie analytique de la chaleur1924 Runge, König – Duplázó algoritmus1942 Danielson, Lángos – divide and conquer1965 J. W. Cooley, J. W. Tukey196* Rudnick – az elso O(n log n)-es implementáció1972 Fiduccia
Czirbusz Sándor ELTE IK, Komputeralgebra Tanszék FFT
TARTALOMJEGYZÉK Kis történelem Irodalom Az FFT
KIS TÖRTÉNELEM
1805 Gauss – DFT, nem publikálta1807 Fourier – sorok, nem publikálta1822 Fourier – Théorie analytique de la chaleur
1924 Runge, König – Duplázó algoritmus1942 Danielson, Lángos – divide and conquer1965 J. W. Cooley, J. W. Tukey196* Rudnick – az elso O(n log n)-es implementáció1972 Fiduccia
Czirbusz Sándor ELTE IK, Komputeralgebra Tanszék FFT
TARTALOMJEGYZÉK Kis történelem Irodalom Az FFT
KIS TÖRTÉNELEM
1805 Gauss – DFT, nem publikálta1807 Fourier – sorok, nem publikálta1822 Fourier – Théorie analytique de la chaleur1924 Runge, König – Duplázó algoritmus
1942 Danielson, Lángos – divide and conquer1965 J. W. Cooley, J. W. Tukey196* Rudnick – az elso O(n log n)-es implementáció1972 Fiduccia
Czirbusz Sándor ELTE IK, Komputeralgebra Tanszék FFT
TARTALOMJEGYZÉK Kis történelem Irodalom Az FFT
KIS TÖRTÉNELEM
1805 Gauss – DFT, nem publikálta1807 Fourier – sorok, nem publikálta1822 Fourier – Théorie analytique de la chaleur1924 Runge, König – Duplázó algoritmus1942 Danielson, Lángos – divide and conquer
1965 J. W. Cooley, J. W. Tukey196* Rudnick – az elso O(n log n)-es implementáció1972 Fiduccia
Czirbusz Sándor ELTE IK, Komputeralgebra Tanszék FFT
TARTALOMJEGYZÉK Kis történelem Irodalom Az FFT
KIS TÖRTÉNELEM
1805 Gauss – DFT, nem publikálta1807 Fourier – sorok, nem publikálta1822 Fourier – Théorie analytique de la chaleur1924 Runge, König – Duplázó algoritmus1942 Danielson, Lángos – divide and conquer1965 J. W. Cooley, J. W. Tukey
196* Rudnick – az elso O(n log n)-es implementáció1972 Fiduccia
Czirbusz Sándor ELTE IK, Komputeralgebra Tanszék FFT
TARTALOMJEGYZÉK Kis történelem Irodalom Az FFT
KIS TÖRTÉNELEM
1805 Gauss – DFT, nem publikálta1807 Fourier – sorok, nem publikálta1822 Fourier – Théorie analytique de la chaleur1924 Runge, König – Duplázó algoritmus1942 Danielson, Lángos – divide and conquer1965 J. W. Cooley, J. W. Tukey196* Rudnick – az elso O(n log n)-es implementáció
1972 Fiduccia
Czirbusz Sándor ELTE IK, Komputeralgebra Tanszék FFT
TARTALOMJEGYZÉK Kis történelem Irodalom Az FFT
KIS TÖRTÉNELEM
1805 Gauss – DFT, nem publikálta1807 Fourier – sorok, nem publikálta1822 Fourier – Théorie analytique de la chaleur1924 Runge, König – Duplázó algoritmus1942 Danielson, Lángos – divide and conquer1965 J. W. Cooley, J. W. Tukey196* Rudnick – az elso O(n log n)-es implementáció1972 Fiduccia
Czirbusz Sándor ELTE IK, Komputeralgebra Tanszék FFT
TARTALOMJEGYZÉK Kis történelem Irodalom Az FFT
IRODALOM I
Mateer, Todd,FAST FOURIER TRANSFORM ALGORITHMS WITHAPPLICATIONSPhD ThesisClemson University, 2008
Geddes-Czapor-LabahnAlgorithms for Computer AlgebraKluwer Academic, 1992
Bernstein, D.JMultidigit Multiplication for mathematiciansPreprint,http://cr.yp.to/papers.html
Czirbusz Sándor ELTE IK, Komputeralgebra Tanszék FFT
TARTALOMJEGYZÉK Kis történelem Irodalom Az FFT
IRODALOM II
Bernstein, D.JFast Multiplication and its applicationsPreprint,http://cr.yp.to/papers.html
Bernstein, D.JThe Tangent FFTPreprint,http://cr.yp.to/papers.html
von zur Gathen, J. and Gerhard, JModern Computer AlgebraCambridge University Press (2003)
von zur Gathen, J. and Gerhard, JFaster Integer Multiplication
Czirbusz Sándor ELTE IK, Komputeralgebra Tanszék FFT
TARTALOMJEGYZÉK Kis történelem Irodalom Az FFT
IRODALOM III
Aho, Hopcroft, UllmanThe Design And Analysis of Computer Algorithms
Gentleman, SandeFast Fourier Transforms – For Fun and Profit
Czirbusz Sándor ELTE IK, Komputeralgebra Tanszék FFT
TARTALOMJEGYZÉK Kis történelem Irodalom Az FFT Moduláris aritmetika Primitív egységgyökök A DFT Az algoritmus Az inverz FFT Polinomok gyors szorzása
MODULÁRIS ARITMETIKA
Moduláris aritmetika Z-benAdottak az m0, . . . ,mn−1 ∈ Z páronként relatív prím 1-nél nagyobb pozitívegész számok, m a szorzatuk. A kínai maradéktétel alapján minden 1, . . . ,mközé eso x egész szám egyértelmuen reprezentálható az x ≡ modmi
maradékokkal.Ebben az eloállításban a szorzás lineáris.
Modulári aritmetika R[x]-benHa az x0, . . . , xn−1 az R gyurubeli különbözo elemek, a kínai maradéktételt azx− x0, . . . , x− xn−1 lineáris modulusokra is megfogalmazhatjuk. Ekkor egyp(x) ∈ R[x] polinom ezen modulusok szerinti eloállítása a p(x0), . . . , p(xn−1)helyettesítési értékek kiszámítását jelenti.A moduláris reprezentációban itt is lineáris a szorzás.
Czirbusz Sándor ELTE IK, Komputeralgebra Tanszék FFT
TARTALOMJEGYZÉK Kis történelem Irodalom Az FFT Moduláris aritmetika Primitív egységgyökök A DFT Az algoritmus Az inverz FFT Polinomok gyors szorzása
MODULÁRIS ARITMETIKA
Moduláris aritmetika Z-benAdottak az m0, . . . ,mn−1 ∈ Z páronként relatív prím 1-nél nagyobb pozitívegész számok, m a szorzatuk. A kínai maradéktétel alapján minden 1, . . . ,mközé eso x egész szám egyértelmuen reprezentálható az x ≡ modmi
maradékokkal.Ebben az eloállításban a szorzás lineáris.
Modulári aritmetika R[x]-benHa az x0, . . . , xn−1 az R gyurubeli különbözo elemek, a kínai maradéktételt azx− x0, . . . , x− xn−1 lineáris modulusokra is megfogalmazhatjuk. Ekkor egyp(x) ∈ R[x] polinom ezen modulusok szerinti eloállítása a p(x0), . . . , p(xn−1)helyettesítési értékek kiszámítását jelenti.A moduláris reprezentációban itt is lineáris a szorzás.
Czirbusz Sándor ELTE IK, Komputeralgebra Tanszék FFT
TARTALOMJEGYZÉK Kis történelem Irodalom Az FFT Moduláris aritmetika Primitív egységgyökök A DFT Az algoritmus Az inverz FFT Polinomok gyors szorzása
MODULÁRIS ARITMETIKA
Moduláris aritmetika Z-benAdottak az m0, . . . ,mn−1 ∈ Z páronként relatív prím 1-nél nagyobb pozitívegész számok, m a szorzatuk. A kínai maradéktétel alapján minden 1, . . . ,mközé eso x egész szám egyértelmuen reprezentálható az x ≡ modmi
maradékokkal.Ebben az eloállításban a szorzás lineáris.
Modulári aritmetika R[x]-benHa az x0, . . . , xn−1 az R gyurubeli1 különbözo elemek, a kínai maradéktételtaz x− x0, . . . , x− xn−1 lineáris modulusokra is megfogalmazhatjuk. Ekkoregy p(x) ∈ R[x] polinom ezen modulusok szerinti eloállítása ap(x0), . . . , p(xn−1) helyettesítési értékek kiszámítását jelenti.A moduláris reprezentációban itt is lineáris a szorzás.
Hogyan lehet gyorsan eloállítani a moduláris reprezentációt?
1Gyurun mindig egységelemes kommutatív gyurut értünk.Czirbusz Sándor ELTE IK, Komputeralgebra Tanszék FFT
TARTALOMJEGYZÉK Kis történelem Irodalom Az FFT Moduláris aritmetika Primitív egységgyökök A DFT Az algoritmus Az inverz FFT Polinomok gyors szorzása
SZIMMETRIKUS KIÉRTÉKELÉSI PONTOK
Legyen a(x) ∈ R[x] egy polinom:
a(x) = a0 + a1x + . . .+ an−1xn−1 ;
Ez a polinom felírhatóa(x) = b(x2) + x · c(x2)
alakban, ha csoportosítjuk a páros és páratlan kitevoket.
Czirbusz Sándor ELTE IK, Komputeralgebra Tanszék FFT
TARTALOMJEGYZÉK Kis történelem Irodalom Az FFT Moduláris aritmetika Primitív egységgyökök A DFT Az algoritmus Az inverz FFT Polinomok gyors szorzása
SZIMMETRIKUS KIÉRTÉKELÉSI PONTOK
Legyen a(x) ∈ R[x] egy polinom:
a(x) = a0 + a1x + . . .+ an−1xn−1 ;
Ez a polinom felírhatóa(x) = b(x2) + x · c(x2)
alakban, ha csoportosítjuk a páros és páratlan kitevoket.
ÁllításLegyen x0, . . . , xn−1 olyan pontok R-beli halmaza melyre
xn/2+i = −xi
teljesül, ha 0 5 i 5 n2 − 1. Jelölje T(n) az n− 1-ed fokú polinom kiértékelési
költségét a fenti ponthalmazon. Ekkor T(1) = 0 és:
T(n) = 2 · T(n
2
)+ c · n
2.
Czirbusz Sándor ELTE IK, Komputeralgebra Tanszék FFT
TARTALOMJEGYZÉK Kis történelem Irodalom Az FFT Moduláris aritmetika Primitív egységgyökök A DFT Az algoritmus Az inverz FFT Polinomok gyors szorzása
SZIMMETRIKUS KIÉRTÉKELÉSI PONTOK
Legyen a(x) ∈ R[x] egy polinom:
a(x) = a0 + a1x + . . .+ an−1xn−1 ;
Ez a polinom felírhatóa(x) = b(x2) + x · c(x2)
alakban, ha csoportosítjuk a páros és páratlan kitevoket.
ÁllításLegyen x0, . . . , xn−1 olyan pontok R-beli halmaza melyre
xn/2+i = −xi
teljesül, ha 0 5 i 5 n2 − 1. Jelölje T(n) az n− 1-ed fokú polinom kiértékelési
költségét a fenti ponthalmazon. Ekkor T(1) = 0 és:
T(n) = 2 · T(n
2
)+ c · n
2.
Tulajdonképpen EZ az FFT. Cél: ilyen kiértékelési pontok keresése.
Czirbusz Sándor ELTE IK, Komputeralgebra Tanszék FFT
TARTALOMJEGYZÉK Kis történelem Irodalom Az FFT Moduláris aritmetika Primitív egységgyökök A DFT Az algoritmus Az inverz FFT Polinomok gyors szorzása
PRIMITÍV EGYSÉGGYÖKÖK
DefinícióLegyen R gyuru, ω ∈ R és n = 1 egész szám.
ω az R n-edik egységgyöke, ha ωn = 1;ω n-edik primitív egységgyök, ha n-edik egységgyök, n ∈ Regység R-ben és az n bármely p prímosztójára ω
np − 1 nem
zérusosztó R-ben.
Czirbusz Sándor ELTE IK, Komputeralgebra Tanszék FFT
TARTALOMJEGYZÉK Kis történelem Irodalom Az FFT Moduláris aritmetika Primitív egységgyökök A DFT Az algoritmus Az inverz FFT Polinomok gyors szorzása
PRIMITÍV EGYSÉGGYÖKÖK
DefinícióLegyen R gyuru, ω ∈ R és n = 1 egész szám.
ω az R n-edik egységgyöke, ha ωn = 1;
ω n-edik primitív egységgyök, ha n-edik egységgyök, n ∈ Regység R-ben és az n bármely p prímosztójára ω
np − 1 nem
zérusosztó R-ben.
Czirbusz Sándor ELTE IK, Komputeralgebra Tanszék FFT
TARTALOMJEGYZÉK Kis történelem Irodalom Az FFT Moduláris aritmetika Primitív egységgyökök A DFT Az algoritmus Az inverz FFT Polinomok gyors szorzása
PRIMITÍV EGYSÉGGYÖKÖK
DefinícióLegyen R gyuru, ω ∈ R és n = 1 egész szám.
ω az R n-edik egységgyöke, ha ωn = 1;ω n-edik primitív egységgyök, ha n-edik egységgyök, n ∈ Regység R-ben és az n bármely p prímosztójára ω
np − 1 nem
zérusosztó R-ben.
Czirbusz Sándor ELTE IK, Komputeralgebra Tanszék FFT
TARTALOMJEGYZÉK Kis történelem Irodalom Az FFT Moduláris aritmetika Primitív egységgyökök A DFT Az algoritmus Az inverz FFT Polinomok gyors szorzása
MEGJEGYZÉSEK, PÉLDÁK
A primitív egységgyököt néha principális- vagy foegységgyöknek nevezik;
Integritási tartományban a második feltétel arraegyszerusödik, hogy ω
np nem egységgyök;
C egységgyökei a klasszikus példák;Z6-ban 52 = 1, de 2 nem egység, így 5 nem primitív;Z17-ben 16 egységgyök a 3, a 2 nem.Z14-ben a 3 egységgyök, de nem primitív, a 9 viszont 3.primitív
Czirbusz Sándor ELTE IK, Komputeralgebra Tanszék FFT
TARTALOMJEGYZÉK Kis történelem Irodalom Az FFT Moduláris aritmetika Primitív egységgyökök A DFT Az algoritmus Az inverz FFT Polinomok gyors szorzása
MEGJEGYZÉSEK, PÉLDÁK
A primitív egységgyököt néha principális- vagy foegységgyöknek nevezik;Integritási tartományban a második feltétel arraegyszerusödik, hogy ω
np nem egységgyök;
C egységgyökei a klasszikus példák;Z6-ban 52 = 1, de 2 nem egység, így 5 nem primitív;Z17-ben 16 egységgyök a 3, a 2 nem.Z14-ben a 3 egységgyök, de nem primitív, a 9 viszont 3.primitív
Czirbusz Sándor ELTE IK, Komputeralgebra Tanszék FFT
TARTALOMJEGYZÉK Kis történelem Irodalom Az FFT Moduláris aritmetika Primitív egységgyökök A DFT Az algoritmus Az inverz FFT Polinomok gyors szorzása
MEGJEGYZÉSEK, PÉLDÁK
A primitív egységgyököt néha principális- vagy foegységgyöknek nevezik;Integritási tartományban a második feltétel arraegyszerusödik, hogy ω
np nem egységgyök;
C egységgyökei a klasszikus példák;
Z6-ban 52 = 1, de 2 nem egység, így 5 nem primitív;Z17-ben 16 egységgyök a 3, a 2 nem.Z14-ben a 3 egységgyök, de nem primitív, a 9 viszont 3.primitív
Czirbusz Sándor ELTE IK, Komputeralgebra Tanszék FFT
TARTALOMJEGYZÉK Kis történelem Irodalom Az FFT Moduláris aritmetika Primitív egységgyökök A DFT Az algoritmus Az inverz FFT Polinomok gyors szorzása
MEGJEGYZÉSEK, PÉLDÁK
A primitív egységgyököt néha principális- vagy foegységgyöknek nevezik;Integritási tartományban a második feltétel arraegyszerusödik, hogy ω
np nem egységgyök;
C egységgyökei a klasszikus példák;Z6-ban 52 = 1, de 2 nem egység, így 5 nem primitív;
Z17-ben 16 egységgyök a 3, a 2 nem.Z14-ben a 3 egységgyök, de nem primitív, a 9 viszont 3.primitív
Czirbusz Sándor ELTE IK, Komputeralgebra Tanszék FFT
TARTALOMJEGYZÉK Kis történelem Irodalom Az FFT Moduláris aritmetika Primitív egységgyökök A DFT Az algoritmus Az inverz FFT Polinomok gyors szorzása
MEGJEGYZÉSEK, PÉLDÁK
A primitív egységgyököt néha principális- vagy foegységgyöknek nevezik;Integritási tartományban a második feltétel arraegyszerusödik, hogy ω
np nem egységgyök;
C egységgyökei a klasszikus példák;Z6-ban 52 = 1, de 2 nem egység, így 5 nem primitív;Z17-ben 16 egységgyök a 3, a 2 nem.
Z14-ben a 3 egységgyök, de nem primitív, a 9 viszont 3.primitív
Czirbusz Sándor ELTE IK, Komputeralgebra Tanszék FFT
TARTALOMJEGYZÉK Kis történelem Irodalom Az FFT Moduláris aritmetika Primitív egységgyökök A DFT Az algoritmus Az inverz FFT Polinomok gyors szorzása
MEGJEGYZÉSEK, PÉLDÁK
A primitív egységgyököt néha principális- vagy foegységgyöknek nevezik;Integritási tartományban a második feltétel arraegyszerusödik, hogy ω
np nem egységgyök;
C egységgyökei a klasszikus példák;Z6-ban 52 = 1, de 2 nem egység, így 5 nem primitív;Z17-ben 16 egységgyök a 3, a 2 nem.Z14-ben a 3 egységgyök, de nem primitív, a 9 viszont 3.primitív
Czirbusz Sándor ELTE IK, Komputeralgebra Tanszék FFT
TARTALOMJEGYZÉK Kis történelem Irodalom Az FFT Moduláris aritmetika Primitív egységgyökök A DFT Az algoritmus Az inverz FFT Polinomok gyors szorzása
EGYSÉGGYÖK LÉTEZÉSE
ÁllításHa az R gyuruben csak véges sok u1, . . . ,um egység létezik, akkor
1 ui1 · . . . · uik egység minden 1 5 k 5 m esetén;2 Speciálisan um egység;3 Minden egységhez van olyan n 5 m, hogy un = 1.
MegjegyzésEz a kis Fermat-tétel általánosítása.
Czirbusz Sándor ELTE IK, Komputeralgebra Tanszék FFT
TARTALOMJEGYZÉK Kis történelem Irodalom Az FFT Moduláris aritmetika Primitív egységgyökök A DFT Az algoritmus Az inverz FFT Polinomok gyors szorzása
EGYSÉGGYÖK LÉTEZÉSE
ÁllításHa az R gyuruben csak véges sok u1, . . . ,um egység létezik, akkor
1 ui1 · . . . · uik egység minden 1 5 k 5 m esetén;
2 Speciálisan um egység;3 Minden egységhez van olyan n 5 m, hogy un = 1.
MegjegyzésEz a kis Fermat-tétel általánosítása.
Czirbusz Sándor ELTE IK, Komputeralgebra Tanszék FFT
TARTALOMJEGYZÉK Kis történelem Irodalom Az FFT Moduláris aritmetika Primitív egységgyökök A DFT Az algoritmus Az inverz FFT Polinomok gyors szorzása
EGYSÉGGYÖK LÉTEZÉSE
ÁllításHa az R gyuruben csak véges sok u1, . . . ,um egység létezik, akkor
1 ui1 · . . . · uik egység minden 1 5 k 5 m esetén;2 Speciálisan um egység;
3 Minden egységhez van olyan n 5 m, hogy un = 1.
MegjegyzésEz a kis Fermat-tétel általánosítása.
Czirbusz Sándor ELTE IK, Komputeralgebra Tanszék FFT
TARTALOMJEGYZÉK Kis történelem Irodalom Az FFT Moduláris aritmetika Primitív egységgyökök A DFT Az algoritmus Az inverz FFT Polinomok gyors szorzása
EGYSÉGGYÖK LÉTEZÉSE
ÁllításHa az R gyuruben csak véges sok u1, . . . ,um egység létezik, akkor
1 ui1 · . . . · uik egység minden 1 5 k 5 m esetén;2 Speciálisan um egység;3 Minden egységhez van olyan n 5 m, hogy un = 1.
MegjegyzésEz a kis Fermat-tétel általánosítása.
Czirbusz Sándor ELTE IK, Komputeralgebra Tanszék FFT
TARTALOMJEGYZÉK Kis történelem Irodalom Az FFT Moduláris aritmetika Primitív egységgyökök A DFT Az algoritmus Az inverz FFT Polinomok gyors szorzása
EGYSÉGGYÖK LÉTEZÉSE
ÁllításHa az R gyuruben csak véges sok u1, . . . ,um egység létezik, akkor
1 ui1 · . . . · uik egység minden 1 5 k 5 m esetén;2 Speciálisan um egység;3 Minden egységhez van olyan n 5 m, hogy un = 1.
MegjegyzésEz a kis Fermat-tétel általánosítása.
Czirbusz Sándor ELTE IK, Komputeralgebra Tanszék FFT
TARTALOMJEGYZÉK Kis történelem Irodalom Az FFT Moduláris aritmetika Primitív egységgyökök A DFT Az algoritmus Az inverz FFT Polinomok gyors szorzása
PRIMITÍV GYÖK HATVÁNYAI
ÁllításLegyen ω ∈ R primitív n-edik egységgyök, továbbá 1 5 k < n egész.Ekkor
1 ωk − 1 nem zérusosztó R-ben;2∑n−1
j=0 ωkj = 0.
Bizonyítás.A mértani sorozatra vonatkozó összefüggés alapján mindenc ∈ R esetén:
(c− 1) ·m−1∑j=1
cj = cm − 1 , (1)
ahol m pozitív egész.
Czirbusz Sándor ELTE IK, Komputeralgebra Tanszék FFT
TARTALOMJEGYZÉK Kis történelem Irodalom Az FFT Moduláris aritmetika Primitív egységgyökök A DFT Az algoritmus Az inverz FFT Polinomok gyors szorzása
PRIMITÍV GYÖK HATVÁNYAI
ÁllításLegyen ω ∈ R primitív n-edik egységgyök, továbbá 1 5 k < n egész.Ekkor
1 ωk − 1 nem zérusosztó R-ben;
2∑n−1
j=0 ωkj = 0.
Bizonyítás.A mértani sorozatra vonatkozó összefüggés alapján mindenc ∈ R esetén:
(c− 1) ·m−1∑j=1
cj = cm − 1 , (1)
ahol m pozitív egész.
Czirbusz Sándor ELTE IK, Komputeralgebra Tanszék FFT
TARTALOMJEGYZÉK Kis történelem Irodalom Az FFT Moduláris aritmetika Primitív egységgyökök A DFT Az algoritmus Az inverz FFT Polinomok gyors szorzása
PRIMITÍV GYÖK HATVÁNYAI
ÁllításLegyen ω ∈ R primitív n-edik egységgyök, továbbá 1 5 k < n egész.Ekkor
1 ωk − 1 nem zérusosztó R-ben;2∑n−1
j=0 ωkj = 0.
Bizonyítás.A mértani sorozatra vonatkozó összefüggés alapján mindenc ∈ R esetén:
(c− 1) ·m−1∑j=1
cj = cm − 1 , (1)
ahol m pozitív egész.
Czirbusz Sándor ELTE IK, Komputeralgebra Tanszék FFT
TARTALOMJEGYZÉK Kis történelem Irodalom Az FFT Moduláris aritmetika Primitív egységgyökök A DFT Az algoritmus Az inverz FFT Polinomok gyors szorzása
PRIMITÍV GYÖK HATVÁNYAI
ÁllításLegyen ω ∈ R primitív n-edik egységgyök, továbbá 1 5 k < n egész.Ekkor
1 ωk − 1 nem zérusosztó R-ben;2∑n−1
j=0 ωkj = 0.
Bizonyítás.A mértani sorozatra vonatkozó összefüggés alapján mindenc ∈ R esetén:
(c− 1) ·m−1∑j=1
cj = cm − 1 , (1)
ahol m pozitív egész.
Czirbusz Sándor ELTE IK, Komputeralgebra Tanszék FFT
TARTALOMJEGYZÉK Kis történelem Irodalom Az FFT Moduláris aritmetika Primitív egységgyökök A DFT Az algoritmus Az inverz FFT Polinomok gyors szorzása
A BIZONYÍTÁS BEFEJEZÉSE
1 Legyen g = (k,n), továbbá u, v ∈ Z olyanok, hogyuk + vn = g. Ekkor van olyan p prímosztója n-nek, hogy gosztja n
p -t.
Az (1)-ben c = ωg és m = npg jelöléssel azt kapjuk,
hogy valamilyen a ∈ R-rel a · (ωg − 1) = ωnp − 1. De emiatt
b · (ωg − 1) = 0-ból következik, hogy b · (ωnp − 1) = 0, ezért
b = 0.2 Ha (1)-ben c = ωk, akkor
(ωk − 1) ·n∑
j=1
(ωk)j = ωkn − 1 = 0 ,
ezért a szumma valóban nulla, mert ωk− 1 nem zérusosztó.
Czirbusz Sándor ELTE IK, Komputeralgebra Tanszék FFT
TARTALOMJEGYZÉK Kis történelem Irodalom Az FFT Moduláris aritmetika Primitív egységgyökök A DFT Az algoritmus Az inverz FFT Polinomok gyors szorzása
A BIZONYÍTÁS BEFEJEZÉSE
1 Legyen g = (k,n), továbbá u, v ∈ Z olyanok, hogyuk + vn = g. Ekkor van olyan p prímosztója n-nek, hogy gosztja n
p -t.
Az (1)-ben c = ωg és m = npg jelöléssel azt kapjuk,
hogy valamilyen a ∈ R-rel a · (ωg − 1) = ωnp − 1. De emiatt
b · (ωg − 1) = 0-ból következik, hogy b · (ωnp − 1) = 0, ezért
b = 0.
2 Ha (1)-ben c = ωk, akkor
(ωk − 1) ·n∑
j=1
(ωk)j = ωkn − 1 = 0 ,
ezért a szumma valóban nulla, mert ωk− 1 nem zérusosztó.
Czirbusz Sándor ELTE IK, Komputeralgebra Tanszék FFT
TARTALOMJEGYZÉK Kis történelem Irodalom Az FFT Moduláris aritmetika Primitív egységgyökök A DFT Az algoritmus Az inverz FFT Polinomok gyors szorzása
A BIZONYÍTÁS BEFEJEZÉSE
1 Legyen g = (k,n), továbbá u, v ∈ Z olyanok, hogyuk + vn = g. Ekkor van olyan p prímosztója n-nek, hogy gosztja n
p -t.
Az (1)-ben c = ωg és m = npg jelöléssel azt kapjuk,
hogy valamilyen a ∈ R-rel a · (ωg − 1) = ωnp − 1. De emiatt
b · (ωg − 1) = 0-ból következik, hogy b · (ωnp − 1) = 0, ezért
b = 0.
2 Ha (1)-ben c = ωk, akkor
(ωk − 1) ·n∑
j=1
(ωk)j = ωkn − 1 = 0 ,
ezért a szumma valóban nulla, mert ωk− 1 nem zérusosztó.
Czirbusz Sándor ELTE IK, Komputeralgebra Tanszék FFT
TARTALOMJEGYZÉK Kis történelem Irodalom Az FFT Moduláris aritmetika Primitív egységgyökök A DFT Az algoritmus Az inverz FFT Polinomok gyors szorzása
A BIZONYÍTÁS BEFEJEZÉSE
1 Legyen g = (k,n), továbbá u, v ∈ Z olyanok, hogyuk + vn = g. Ekkor van olyan p prímosztója n-nek, hogy gosztja n
p -t. Az (1)-ben c = ωg és m = npg jelöléssel azt kapjuk,
hogy valamilyen a ∈ R-rel a · (ωg − 1) = ωnp − 1.
De emiattb · (ωg − 1) = 0-ból következik, hogy b · (ω
np − 1) = 0, ezért
b = 0.
2 Ha (1)-ben c = ωk, akkor
(ωk − 1) ·n∑
j=1
(ωk)j = ωkn − 1 = 0 ,
ezért a szumma valóban nulla, mert ωk− 1 nem zérusosztó.
Czirbusz Sándor ELTE IK, Komputeralgebra Tanszék FFT
TARTALOMJEGYZÉK Kis történelem Irodalom Az FFT Moduláris aritmetika Primitív egységgyökök A DFT Az algoritmus Az inverz FFT Polinomok gyors szorzása
A BIZONYÍTÁS BEFEJEZÉSE
1 Legyen g = (k,n), továbbá u, v ∈ Z olyanok, hogyuk + vn = g. Ekkor van olyan p prímosztója n-nek, hogy gosztja n
p -t. Az (1)-ben c = ωg és m = npg jelöléssel azt kapjuk,
hogy valamilyen a ∈ R-rel a · (ωg − 1) = ωnp − 1. De emiatt
b · (ωg − 1) = 0-ból következik, hogy b · (ωnp − 1) = 0, ezért
b = 0.
2 Ha (1)-ben c = ωk, akkor
(ωk − 1) ·n∑
j=1
(ωk)j = ωkn − 1 = 0 ,
ezért a szumma valóban nulla, mert ωk− 1 nem zérusosztó.
Czirbusz Sándor ELTE IK, Komputeralgebra Tanszék FFT
TARTALOMJEGYZÉK Kis történelem Irodalom Az FFT Moduláris aritmetika Primitív egységgyökök A DFT Az algoritmus Az inverz FFT Polinomok gyors szorzása
A BIZONYÍTÁS BEFEJEZÉSE
1 Legyen g = (k,n), továbbá u, v ∈ Z olyanok, hogyuk + vn = g. Ekkor van olyan p prímosztója n-nek, hogy gosztja n
p -t. Az (1)-ben c = ωg és m = npg jelöléssel azt kapjuk,
hogy valamilyen a ∈ R-rel a · (ωg − 1) = ωnp − 1. De emiatt
b · (ωg − 1) = 0-ból következik, hogy b · (ωnp − 1) = 0, ezért
b = 0.2 Ha (1)-ben c = ωk, akkor
(ωk − 1) ·n∑
j=1
(ωk)j = ωkn − 1 = 0 ,
ezért a szumma valóban nulla, mert ωk− 1 nem zérusosztó.
Czirbusz Sándor ELTE IK, Komputeralgebra Tanszék FFT
TARTALOMJEGYZÉK Kis történelem Irodalom Az FFT Moduláris aritmetika Primitív egységgyökök A DFT Az algoritmus Az inverz FFT Polinomok gyors szorzása
EGYSÉGGYÖK VÉGES TESTBEN
ÁllításAz Fq véges testben pontosan akkor van n-edik primitív egységgyök,ha n | q− 1.
Czirbusz Sándor ELTE IK, Komputeralgebra Tanszék FFT
TARTALOMJEGYZÉK Kis történelem Irodalom Az FFT Moduláris aritmetika Primitív egységgyökök A DFT Az algoritmus Az inverz FFT Polinomok gyors szorzása
A DFT DEFINÍCIÓJA
Legyen R egy gyuru, n pozitív egész szám, ω ∈ R primitívn-edik egységgyök. Legyen tovább f ∈ R[x] egy legfeljebbn− 1-ed fokú polinom, (f0, f1, . . . , fn−1) ∈ Rn azegyütthatóvektora.
Czirbusz Sándor ELTE IK, Komputeralgebra Tanszék FFT
TARTALOMJEGYZÉK Kis történelem Irodalom Az FFT Moduláris aritmetika Primitív egységgyökök A DFT Az algoritmus Az inverz FFT Polinomok gyors szorzása
A DFT DEFINÍCIÓJA
Legyen R egy gyuru, n pozitív egész szám, ω ∈ R primitívn-edik egységgyök. Legyen tovább f ∈ R[x] egy legfeljebbn− 1-ed fokú polinom, (f0, f1, . . . , fn−1) ∈ Rn azegyütthatóvektora.
DefinícióA DFTω : Rn → Rn, (f0, f1, . . . , fn−1) 7→
(f (1), f (ω), . . . , f (ωn−1)
)módon definiált leképezés az ω-hoz tartozó DISZKRÉT
FOURIER-TRANSZFORMÁCIÓ. Az {1, ω, . . . , ωn−1} pontok aFouirer-pontok.
Czirbusz Sándor ELTE IK, Komputeralgebra Tanszék FFT
TARTALOMJEGYZÉK Kis történelem Irodalom Az FFT Moduláris aritmetika Primitív egységgyökök A DFT Az algoritmus Az inverz FFT Polinomok gyors szorzása
A DFT DEFINÍCIÓJA
Legyen R egy gyuru, n pozitív egész szám, ω ∈ R primitívn-edik egységgyök. Legyen tovább f ∈ R[x] egy legfeljebbn− 1-ed fokú polinom, (f0, f1, . . . , fn−1) ∈ Rn azegyütthatóvektora.
DefinícióA DFTω : Rn → Rn, (f0, f1, . . . , fn−1) 7→
(f (1), f (ω), . . . , f (ωn−1)
)módon definiált leképezés az ω-hoz tartozó DISZKRÉT
FOURIER-TRANSZFORMÁCIÓ. Az {1, ω, . . . , ωn−1} pontok aFouirer-pontok.
MegjegyzésNyilvánvaló, hogy DFTω lineáris.
Czirbusz Sándor ELTE IK, Komputeralgebra Tanszék FFT
TARTALOMJEGYZÉK Kis történelem Irodalom Az FFT Moduláris aritmetika Primitív egységgyökök A DFT Az algoritmus Az inverz FFT Polinomok gyors szorzása
A FOURIER PONTOK ÉS A SZIMMETRIA
ÁllításA Fourier-pontok szimmetrikus kiértékelési pontok.
BizonyításMivel ω n-edik primitív egységgyök,(
ωn/2+j)2
= ωn ·(ωj)2
=(ωj)2
,
ezért (ωn/2+j − ωj
)·(ωn/2+j + ωj
)= 0 .
Ha most (ωn/2+j − ωj nulla lenne, akkor ωn/2 − 1 zérusosztó lenne,ellentmondás.Tehát ωn/2+j + ωj = 0.
Czirbusz Sándor ELTE IK, Komputeralgebra Tanszék FFT
TARTALOMJEGYZÉK Kis történelem Irodalom Az FFT Moduláris aritmetika Primitív egységgyökök A DFT Az algoritmus Az inverz FFT Polinomok gyors szorzása
PÁROS n ESETE
ÁllításLegyen n páros pozitív egész, ω ∈ R n-edik primitív egységgyök.Ekkor
(a) ω2 primitív n2 -edik gyök.
(b) Az 1, ω2, ω4, . . . , ωn szimmetrikus kiértékelési pontok.
Bizonyítás
a) Nyilvánvaló, hogy (ω2)n2 = 1. Ha most (ω2)
n/2p = 1 lenne az
n/2 valamilyen p prímosztója esetén, akkor ωn/p − 1 iszérusosztó lenne.
b) Mivel az „új” pontok halmaza részhalmaza a „régi”pontok halmazának, igaz.
Czirbusz Sándor ELTE IK, Komputeralgebra Tanszék FFT
TARTALOMJEGYZÉK Kis történelem Irodalom Az FFT Moduláris aritmetika Primitív egységgyökök A DFT Az algoritmus Az inverz FFT Polinomok gyors szorzása
PÁROS n ESETE
ÁllításLegyen n páros pozitív egész, ω ∈ R n-edik primitív egységgyök.Ekkor(a) ω2 primitív n
2 -edik gyök.
(b) Az 1, ω2, ω4, . . . , ωn szimmetrikus kiértékelési pontok.
Bizonyítás
a) Nyilvánvaló, hogy (ω2)n2 = 1. Ha most (ω2)
n/2p = 1 lenne az
n/2 valamilyen p prímosztója esetén, akkor ωn/p − 1 iszérusosztó lenne.
b) Mivel az „új” pontok halmaza részhalmaza a „régi”pontok halmazának, igaz.
Czirbusz Sándor ELTE IK, Komputeralgebra Tanszék FFT
TARTALOMJEGYZÉK Kis történelem Irodalom Az FFT Moduláris aritmetika Primitív egységgyökök A DFT Az algoritmus Az inverz FFT Polinomok gyors szorzása
PÁROS n ESETE
ÁllításLegyen n páros pozitív egész, ω ∈ R n-edik primitív egységgyök.Ekkor(a) ω2 primitív n
2 -edik gyök.(b) Az 1, ω2, ω4, . . . , ωn szimmetrikus kiértékelési pontok.
Bizonyítás
a) Nyilvánvaló, hogy (ω2)n2 = 1. Ha most (ω2)
n/2p = 1 lenne az
n/2 valamilyen p prímosztója esetén, akkor ωn/p − 1 iszérusosztó lenne.
b) Mivel az „új” pontok halmaza részhalmaza a „régi”pontok halmazának, igaz.
Czirbusz Sándor ELTE IK, Komputeralgebra Tanszék FFT
TARTALOMJEGYZÉK Kis történelem Irodalom Az FFT Moduláris aritmetika Primitív egységgyökök A DFT Az algoritmus Az inverz FFT Polinomok gyors szorzása
PÁROS n ESETE
ÁllításLegyen n páros pozitív egész, ω ∈ R n-edik primitív egységgyök.Ekkor(a) ω2 primitív n
2 -edik gyök.(b) Az 1, ω2, ω4, . . . , ωn szimmetrikus kiértékelési pontok.
Bizonyítás
a) Nyilvánvaló, hogy (ω2)n2 = 1. Ha most (ω2)
n/2p = 1 lenne az
n/2 valamilyen p prímosztója esetén, akkor ωn/p − 1 iszérusosztó lenne.
b) Mivel az „új” pontok halmaza részhalmaza a „régi”pontok halmazának, igaz.
Czirbusz Sándor ELTE IK, Komputeralgebra Tanszék FFT
TARTALOMJEGYZÉK Kis történelem Irodalom Az FFT Moduláris aritmetika Primitív egységgyökök A DFT Az algoritmus Az inverz FFT Polinomok gyors szorzása
PÁROS n ESETE
ÁllításLegyen n páros pozitív egész, ω ∈ R n-edik primitív egységgyök.Ekkor(a) ω2 primitív n
2 -edik gyök.(b) Az 1, ω2, ω4, . . . , ωn szimmetrikus kiértékelési pontok.
Bizonyítás
a) Nyilvánvaló, hogy (ω2)n2 = 1. Ha most (ω2)
n/2p = 1 lenne az
n/2 valamilyen p prímosztója esetén, akkor ωn/p − 1 iszérusosztó lenne.
b) Mivel az „új” pontok halmaza részhalmaza a „régi”pontok halmazának, igaz.
Czirbusz Sándor ELTE IK, Komputeralgebra Tanszék FFT
TARTALOMJEGYZÉK Kis történelem Irodalom Az FFT Moduláris aritmetika Primitív egységgyökök A DFT Az algoritmus Az inverz FFT Polinomok gyors szorzása
PÁROS n ESETE
ÁllításLegyen n páros pozitív egész, ω ∈ R n-edik primitív egységgyök.Ekkor(a) ω2 primitív n
2 -edik gyök.(b) Az 1, ω2, ω4, . . . , ωn szimmetrikus kiértékelési pontok.
Bizonyítás
a) Nyilvánvaló, hogy (ω2)n2 = 1. Ha most (ω2)
n/2p = 1 lenne az
n/2 valamilyen p prímosztója esetén, akkor ωn/p − 1 iszérusosztó lenne.
b) Mivel az „új” pontok halmaza részhalmaza a „régi”pontok halmazának, igaz.
Czirbusz Sándor ELTE IK, Komputeralgebra Tanszék FFT
TARTALOMJEGYZÉK Kis történelem Irodalom Az FFT Moduláris aritmetika Primitív egységgyökök A DFT Az algoritmus Az inverz FFT Polinomok gyors szorzása
MEGJEGYZÉS, PÉLDÁK
A fenti állítás adja az algoritmust;
Z41-ben a 14 8-adik primitív egységgyök, a Fourier-pontok:1, 14,−9,−3,−1,−14, 9, 3, mivel 92 = −14, a következosorozat: 1,−9,−1, 9, s.í.t.
Czirbusz Sándor ELTE IK, Komputeralgebra Tanszék FFT
TARTALOMJEGYZÉK Kis történelem Irodalom Az FFT Moduláris aritmetika Primitív egységgyökök A DFT Az algoritmus Az inverz FFT Polinomok gyors szorzása
MEGJEGYZÉS, PÉLDÁK
A fenti állítás adja az algoritmust;Z41-ben a 14 8-adik primitív egységgyök, a Fourier-pontok:1, 14,−9,−3,−1,−14, 9, 3, mivel 92 = −14, a következosorozat: 1,−9,−1, 9, s.í.t.
Czirbusz Sándor ELTE IK, Komputeralgebra Tanszék FFT
TA
RT
AL
OM
JEG
YZ
ÉK
Kis
történelemIrodalom
Az
FFTM
odulárisaritm
etikaPrim
itívegységgyökök
AD
FTA
zalgoritm
usA
zinverz
FFTPolinom
okgyors
szorzása
AZ ALGORITMUS
!
Algorithm 1: FFT(N, ω, a(x))
Input: Adott N, kettohatványInput: ω primitív N-edik primitív egységgyökInput: a(x) legfeljebb N − 1-ed fokú polinomOutput: A polinom Fourier transzformáltja
beginif N = 1 then
A0 ← a0 ;
else
b(x)←∑N
2 −1i=0 a2i · xi ;
c(x)←∑N
2 −1i=0 a2i+i · xi ;
B← FFT(N2 , ω
2, b(x)) ;C← FFT(N
2 , ω2, c(x)) ;
for i← 0 to N2 − 1 do
Ai ← Bi + ωi · Ci ;A N
2 +i ← Bi − ωi · Ci ;
return (A0,A1, . . . ,AN−1) ;C
zirbuszSándor
ELTEIK
,Kom
puteralgebraTanszék
FFT
TARTALOMJEGYZÉK Kis történelem Irodalom Az FFT Moduláris aritmetika Primitív egységgyökök A DFT Az algoritmus Az inverz FFT Polinomok gyors szorzása
AZ FFT MUVELETIGÉNYE
TételA szimmetrikus Fourier-pontokon végrehajtott DFT iterációmuveletigénye O(n · log n)
BizonyításHa T(n) a muveletigény, akkor mint már beláttuk, hogy
T(0) = 1,T(n) = 2 · T(n2 ) + c · n. Ha n = 2k alakú, akkor
n2 = 2k−1-et alkalmazva iterálva a felezéseket pont abizonyítandó képletet kapjuk.
Czirbusz Sándor ELTE IK, Komputeralgebra Tanszék FFT
TARTALOMJEGYZÉK Kis történelem Irodalom Az FFT Moduláris aritmetika Primitív egységgyökök A DFT Az algoritmus Az inverz FFT Polinomok gyors szorzása
A DFT MÁTRIXA
A DFTω lineáris leképezés mátrixa a standard bázisban:
Vω =
1 1 1 · · · 11 ω ω2 . . . ωn−1
1 ω2 ω3 . . . ω2(n−1)
......
.... . .
...1 ωn−1 ω2(n−1) . . . ω(n−1)2
Czirbusz Sándor ELTE IK, Komputeralgebra Tanszék FFT
TARTALOMJEGYZÉK Kis történelem Irodalom Az FFT Moduláris aritmetika Primitív egységgyökök A DFT Az algoritmus Az inverz FFT Polinomok gyors szorzása
AZ INVERZ MÁTRIXA
TételLegyen R kommutatív egységelemes gyuru, n = 1 egész szám, ωn-edik primitív egységgyök. Ekkor ω−1 is n-edik primitív egységgyökés
Vω · Vω−1 = n · In ,
ahol In az n× n-es egységmátrix.
Bizonyítás.
Az, hogy ω−1 egységgyök, következik abból, hogy 1 = ωn =ω · ωn−1,
így ω−1 = ωn−1. Tehát (ω−1)n = (ωn)n−1 = 1. Ezekszerint általában ω−k = ωn−k. Ezért (ω−1)k − 1 = ωn−k − 1 nemlehet zérusosztó.
Czirbusz Sándor ELTE IK, Komputeralgebra Tanszék FFT
TARTALOMJEGYZÉK Kis történelem Irodalom Az FFT Moduláris aritmetika Primitív egységgyökök A DFT Az algoritmus Az inverz FFT Polinomok gyors szorzása
AZ INVERZ MÁTRIXA
TételLegyen R kommutatív egységelemes gyuru, n = 1 egész szám, ωn-edik primitív egységgyök. Ekkor ω−1 is n-edik primitív egységgyökés
Vω · Vω−1 = n · In ,
ahol In az n× n-es egységmátrix.
Bizonyítás.
Az, hogy ω−1 egységgyök, következik abból, hogy 1 = ωn =ω · ωn−1,
így ω−1 = ωn−1. Tehát (ω−1)n = (ωn)n−1 = 1. Ezekszerint általában ω−k = ωn−k. Ezért (ω−1)k − 1 = ωn−k − 1 nemlehet zérusosztó.
Czirbusz Sándor ELTE IK, Komputeralgebra Tanszék FFT
TARTALOMJEGYZÉK Kis történelem Irodalom Az FFT Moduláris aritmetika Primitív egységgyökök A DFT Az algoritmus Az inverz FFT Polinomok gyors szorzása
AZ INVERZ MÁTRIXA
TételLegyen R kommutatív egységelemes gyuru, n = 1 egész szám, ωn-edik primitív egységgyök. Ekkor ω−1 is n-edik primitív egységgyökés
Vω · Vω−1 = n · In ,
ahol In az n× n-es egységmátrix.
Bizonyítás.
Az, hogy ω−1 egységgyök, következik abból, hogy 1 = ωn =ω · ωn−1,
így ω−1 = ωn−1. Tehát (ω−1)n = (ωn)n−1 = 1. Ezekszerint általában ω−k = ωn−k. Ezért (ω−1)k − 1 = ωn−k − 1 nemlehet zérusosztó.
Czirbusz Sándor ELTE IK, Komputeralgebra Tanszék FFT
TARTALOMJEGYZÉK Kis történelem Irodalom Az FFT Moduláris aritmetika Primitív egységgyökök A DFT Az algoritmus Az inverz FFT Polinomok gyors szorzása
AZ INVERZ MÁTRIXA
TételLegyen R kommutatív egységelemes gyuru, n = 1 egész szám, ωn-edik primitív egységgyök. Ekkor ω−1 is n-edik primitív egységgyökés
Vω · Vω−1 = n · In ,
ahol In az n× n-es egységmátrix.
Bizonyítás.
Az, hogy ω−1 egységgyök, következik abból, hogy 1 = ωn =ω · ωn−1, így ω−1 = ωn−1.
Tehát (ω−1)n = (ωn)n−1 = 1. Ezekszerint általában ω−k = ωn−k. Ezért (ω−1)k − 1 = ωn−k − 1 nemlehet zérusosztó.
Czirbusz Sándor ELTE IK, Komputeralgebra Tanszék FFT
TARTALOMJEGYZÉK Kis történelem Irodalom Az FFT Moduláris aritmetika Primitív egységgyökök A DFT Az algoritmus Az inverz FFT Polinomok gyors szorzása
AZ INVERZ MÁTRIXA
TételLegyen R kommutatív egységelemes gyuru, n = 1 egész szám, ωn-edik primitív egységgyök. Ekkor ω−1 is n-edik primitív egységgyökés
Vω · Vω−1 = n · In ,
ahol In az n× n-es egységmátrix.
Bizonyítás.
Az, hogy ω−1 egységgyök, következik abból, hogy 1 = ωn =ω · ωn−1, így ω−1 = ωn−1. Tehát (ω−1)n = (ωn)n−1 = 1. Ezekszerint általában ω−k = ωn−k. Ezért (ω−1)k − 1 = ωn−k − 1 nemlehet zérusosztó.
Czirbusz Sándor ELTE IK, Komputeralgebra Tanszék FFT
TARTALOMJEGYZÉK Kis történelem Irodalom Az FFT Moduláris aritmetika Primitív egységgyökök A DFT Az algoritmus Az inverz FFT Polinomok gyors szorzása
A BIZONYÍTÁS BEFEJEZÉSE
Be kell még látni a két mátrix szorzására vonatkozó állítást. Aszorzat tetszoleges elemére:
u =(Vω · Vω−1)i,k
Czirbusz Sándor ELTE IK, Komputeralgebra Tanszék FFT
TARTALOMJEGYZÉK Kis történelem Irodalom Az FFT Moduláris aritmetika Primitív egységgyökök A DFT Az algoritmus Az inverz FFT Polinomok gyors szorzása
A BIZONYÍTÁS BEFEJEZÉSE
Be kell még látni a két mátrix szorzására vonatkozó állítást. Aszorzat tetszoleges elemére:
u =(Vω · Vω−1)i,k
=
n−1∑j=0
(Vω)i,j · (Vω−1)j,k
Czirbusz Sándor ELTE IK, Komputeralgebra Tanszék FFT
TARTALOMJEGYZÉK Kis történelem Irodalom Az FFT Moduláris aritmetika Primitív egységgyökök A DFT Az algoritmus Az inverz FFT Polinomok gyors szorzása
A BIZONYÍTÁS BEFEJEZÉSE
Be kell még látni a két mátrix szorzására vonatkozó állítást. Aszorzat tetszoleges elemére:
u =(Vω · Vω−1)i,k
=
n−1∑j=0
(Vω)i,j · (Vω−1)j,k
=
n−1∑j=0
ωi·j · ω−j·k
Czirbusz Sándor ELTE IK, Komputeralgebra Tanszék FFT
TARTALOMJEGYZÉK Kis történelem Irodalom Az FFT Moduláris aritmetika Primitív egységgyökök A DFT Az algoritmus Az inverz FFT Polinomok gyors szorzása
A BIZONYÍTÁS BEFEJEZÉSE
Be kell még látni a két mátrix szorzására vonatkozó állítást. Aszorzat tetszoleges elemére:
u =(Vω · Vω−1)i,k
=
n−1∑j=0
(Vω)i,j · (Vω−1)j,k
=
n−1∑j=0
ωi·j · ω−j·k
=∑(
ωi−k)j
Czirbusz Sándor ELTE IK, Komputeralgebra Tanszék FFT
TARTALOMJEGYZÉK Kis történelem Irodalom Az FFT Moduláris aritmetika Primitív egységgyökök A DFT Az algoritmus Az inverz FFT Polinomok gyors szorzása
A BIZONYÍTÁS BEFEJEZÉSE
Be kell még látni a két mátrix szorzására vonatkozó állítást. Aszorzat tetszoleges elemére:
u =(Vω · Vω−1)i,k
=
n−1∑j=0
(Vω)i,j · (Vω−1)j,k
=
n−1∑j=0
ωi·j · ω−j·k
=∑(
ωi−k)j
Ha i = k, akkor a szumma n, egyébként 0.
Czirbusz Sándor ELTE IK, Komputeralgebra Tanszék FFT
TA
RT
AL
OM
JEG
YZ
ÉK
Kis
történelemIrodalom
Az
FFTM
odulárisaritm
etikaPrim
itívegységgyökök
AD
FTA
zalgoritm
usA
zinverz
FFTPolinom
okgyors
szorzása
AZ ALGORITMUS
!
Algorithm 2: FFT_Multiply(a(x), b(x))
Input: a(x), b(x) két polinom, m,n fokszámokkalOutput: c(x) = a(x) · b(x) polinom FFT-vel
beginm← deg a(x) ;n← deg b(x) ;N ← az elso 2 hatvány, mely nagyobb mintm + n ;ω ← primitív N-e-edik egységgyök ;A← FFT(N, ω, a(x)) ;B← FFT(N, ω, b(x)) ;for i← 0 to N − 1 do
Ci ← Ai · Bi ;
c← N−1 · FFT(N, ω−1,C(x)) ;c(x)←
∑N−1i=0 cixi ;
return c(x) ;
Czirbusz
SándorELTE
IK,K
omputeralgebra
TanszékFFT