Cyklotomiczna szybka transformata Fouriera jest rodzajem algorytmu szybkiej transformacji Fouriera na polach skończonych . Ten algorytm najpierw rozkłada DFT na kilka splotów kołowych, a następnie wyprowadza wyniki DFT z wyników splotów kołowych. Po zastosowaniu do DFT przez złożoność W praktyce, ponieważ zwykle istnieją wydajne algorytmy dla splotów kołowych o określonej długości, algorytm ten jest bardzo wydajny.
Tło
Dyskretna transformata Fouriera na polach skończonych znajduje szerokie zastosowanie w dekodowaniu kodów korekcji błędów, takich jak kody BCH i kody Reeda-Solomona . Uogólniona z pola zespolonego dyskretna transformata Fouriera sekwencji nad polem skończonym GF ( p m ) jest zdefiniowany jako
gdzie jest -tym pierwotnym z 1 w GF ( p m ). Jeśli zdefiniujemy reprezentację wielomianową jako
łatwo zauważyć, że prostu } Oznacza to, że dyskretna transformata Fouriera sekwencji przekształca ją w wielomianowy problem oceny.
Zapisane w formacie macierzowym,
DFT _ Szybkie transformaty Fouriera to po prostu wydajne algorytmy oceniające powyższy iloczyn macierzowo-wektorowy.
Algorytm
Najpierw definiujemy zlinearyzowany wielomian nad GF(pm ) jako
nazywa się linearyzowanym, ponieważ , co wynika z faktu, że dla elementów
Zauważ, że jest odwracalny modulo , ponieważ musi podzielić rząd multiplikatywnej grupy pola . Tak więc elementy można podzielić na . cyklotomiczne cosets modulo :
gdzie . Dlatego dane wejściowe do transformaty Fouriera można przepisać jako
W ten sposób reprezentacja wielomianowa jest rozkładana na sumę wielomianów liniowych, a zatem jest dana przez
-
.
jot odpowiednią podstawą , mamy s i przez właściwość zlinearyzowanego wielomianu mamy
zapisać w postaci macierzowej jako , gdzie jest Displaystyle \ mathbf { blokową macierzą diagonalną jest macierzą permutacji przegrupowującą elementy z cyklotomicznym indeksem coset.
Zauważ, że jeśli normalna podstawa elementów pola i-ty blok jest określony przez: L { \ Displaystyle \ mathbf {L}}
która jest macierzą cyrkulacyjną . Powszechnie wiadomo, że krążący iloczyn macierz-wektor można skutecznie obliczyć za pomocą splotów . Dlatego z powodzeniem redukujemy dyskretną transformatę Fouriera do krótkich splotów.
Złożoność
do charakterystycznego pola -2 GF (2 m macierz jest po prostu macierzą binarną. Przy obliczaniu iloczynu macierzowo-wektorowego używane jest tylko dodawanie \ . Wykazano, że multiplikatywna złożoność algorytmu cyklotomicznego jest dana przez , a addytywna złożoność jest dana przez .