Cyklotomiczna szybka transformata Fouriera

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 .