Goode-Thomasův algoritmus

Goode-Thomasův algoritmus je algoritmus pro výpočet rychlé Fourierovy transformace aplikovaný na sekvence, jejichž délka je rovna součinu dvou prvočísel .

Algoritmus Goode-Thomas by neměl být zaměňován s algoritmem Cooley-Tukey , kde dělitelé délky transformace nemusí být coprime. Goode-Thomasův algoritmus je touto podmínkou omezen a také používá složitější schéma reindexace než algoritmus Cooley-Tukey, ale nevyžaduje střední násobení komplexními faktory, a proto je z hlediska výpočtů poněkud jednodušší [1] .

Konstrukce algoritmu

Pro libovolné přirozené číslo, diskrétní Fourierova transformace komplexního vektoru , kde , je komplexní vektor , kde , jehož složky jsou dány vzorcem

kde .

Nechat , kde a být coprime. Nechť také a být nové vstupní indexy dané vztahy [2]

Odtud podle čínské věty o zbytku a Bezoutova vztahu vyplývá, že existují celá čísla a taková,

a Podobně nechť a být nové výstupní indexy dané vztahy

Pak

Použití notace

původní vzorec má formu

to znamená, že došlo k přechodu z jednorozměrné transformace délky na dvourozměrnou transformaci velikosti . Počet násobení a počet sčítání se přitom stal přibližně [3] .

Poznámky

  1. Blahut, 1989 , s. 141.
  2. Blahut, 1989 , s. 142.
  3. Blahut, 1989 , s. 143.

Literatura