Title: Polynome und die FFT
1Polynome und die FFT
- Sören Tönis
- Seminar Ergänzungen zu DAP2
2- Polynome
- Addition
- Multiplikation
- Alternative Darstellungsformen
- Koeffizientendarstellung
- Point-Value-Darstellung
- Komplexe Einheitswurzeln
- Diskrete Fouriertransformation
- Schnelle Fouriertransformation
3Polynome
- Polynome vom Grad n-1 und Länge n
z.B.
4Addition von Polynomen
wobei
mit
5Addition von Polynomen
6Addition von Polynomen
- Polynom hat Grad des höheren der beiden addierten
Polynome - Bei Polynomen vom Grad n-1 sind n Additionen
notwendig -
7Multiplikation von Polynomen
wobei
mit
8Multiplikation von Polynomen
9Multiplikation von Polynomen
- Grad (C) Grad (A) Grad (B)
10Darstellungsweise von Polynomen
- Koeffizientendarstellung
- Point-Value-Darstellung
11Koeffizientendarstellung
- Koeffizientendarstellung von Polynom mit Grad
- n-1 durch Vektor
- Auswertung erfolgt nach Horn-Schema über den
gewählten Punkt
12Koeffizientendarstellung
- Addition erfolgt wie bei den Polynomen
13Koeffizientendarstellung
- Addition hat den Zeitaufwand von Q(n), wie auch
die normale Addition von zwei Polynomen. Genau so
Multiplikation möglich, mit Zeitaufwand Q( ).
Wir multiplizieren einfach jeden Koeffizienten in
Vektor a mit jedem Koeffizienten in Vektor b.
14Point-Value-Darstellung
- Die Punkt-Wert Darstellung eines Polynoms des
Grades n-1 besteht aus n Paaren
Wobei alle verschieden sind und
für
15Point-Value-Darstellung
- Polynom hat viele verschiedene Point-Value
Darstellungen da n verschieden x als Basis der
Abbildung genutzt werden können. - Wir können beliebige
auswählen.
16Point-Value-Darstellung
- Aufwand für diese Auswertung/Entwicklung (ab
- jetzt nur der Begriff Evaluation) Q( ) nach
- Horn-Schema.
- Ziel Q( ) ist kein Vorteil, wir wollen die
Evaluation möglichst in linearer Zeit abwickeln. - Weg Kluge wählen.
17Begriffsklärung
- Evaluation
- Umwandlung von Koeffizientendarstellung
- in Point-Value-Darstellung
- Interpolation
- Umwandlung von Point-Value-Dartellung
- in Koeffizientendarstellung
18Vorschau
- Wir brauchen für Multiplikation von Polynomen
- nach Standard-Rechnung Q( ), es gilt zu
zeigen, daß wir durch Umformungen eine
Aufwandsersparnis erzielen.
19Addition in Point-Value-Darst.
Voraussetzung A und B wurden an den gleichen
Punkten evaluiert
A B C
20Multiplikation in Point-Value-Darst.
Voraussetzung A und B wurden an den gleichen
Punkten evaluiert
A B C
Problem ! Grad C Grad A Grad B
21Vorschau
- Problematik
- A,B Polynome vom Grad n-1 und C
- Polynom von Grad 2n-2, für punktweise
- Multiplikation müssen wir bei der Evaluation
- unsere Spaltenvektoren auffüllen !
-
22Multiplikation in Point-Value-Darst.
- Lösung Extended Point-Value-Darstellung von
- A und B !
A B C
Bemerkung 2n-1 wegen Gradgrenze 2n
23Einschub
- Literatur spricht von degree bound
Gradschranke! - Polynom der Länge n hat Grad n-1 und
Gradschranke n, Polynom der Länge 2n-1 hat den
Grad 2n-2 und Gradschranke 2n-1 und somit auch
Gradschranke 2n.
24Vorschau
- 1. Verdoppeln der Gradschranke.
- Erstellen einer Koeffizientendarstellung von
A(x) und B(x), durch hinzufügen von höherwertigen
0-Koeffizienten. - 2. Evaluation
- Berechnen der Point-Value-Darstellung von A(x)
und B(x), durch Anwenden der FFT.
25Vorschau
- 3. Punktweises Multiplizieren
- Berechnen von C(x)A(x)B(x) punktweises
Multiplizieren der Werte - 4. Interpolation
- Erstellen der Koeffizientendarstellung zum
Polynom C(x).
26Vorschau
Standard-Multiplikation Zeitaufwand
Koeffizienten- darstellung
Evaluation Zeitaufwand
Interpolation Zeitaufwand
Point-Value- Darstellung
punktweise Multiplikation Zeitaufwand
27Komplexe Einheitswurzeln
- Eine Komplexe n-te Einheitswurzel ist eine
komplexe Zahl mit - heißt primitive n-te Einheitswurzel, wenn
28Eigenschaften der Einheitswurzel
- Es gibt n verschiedene n-te Einheitswurzeln,
diese sind darstellbar als die Potenzen einer
primitiven n-ten Einheitswurzel
29Eigenschaften der Einheitswurzel
- Jede ganzzahlige Potenz einer n-ten
Einheitswurzel ist wieder n-te Einheitswurzel,
denn - Dies gilt auch für negative k.
30Eigenschaften der Einheitswurzel
- Ist n gerade, so gilt für jede primitive n-te
Einheitswurzel , denn - ,d.h.
ist 2-te Einheitswurzel, also 1 oder -1. - Da aber ist, da primitiv ist,
- gilt .
31Eigenschaften der Einheitswurzel
- Das Quadrat einer primitiven n-ten Einheitswurzel
(n gerade) ist primitive n/2-te Einheitswurzel, - denn 1.
- 2. Angenommen, sie sei nicht primitiv, dann
- Dann ist aber ein
- Widerspruch dazu, daß primitiv ist.
32Eigenschaften der Einheitswurzel
- Ist primitive n-te Einheitswurzel, so ist
ebenfalls primitive n-te Einheitswurzel, denn - 1.
- 2. Angenommen, sei nicht primitiv, dann
-
- Dann ist aber
- ein Widerspruch dazu, dass primitiv ist.
33Eigenschaften der Einheitswurzel
- Die n komplexen n-ten Einheitswurzeln
- bilden mit der Multiplikation zusammen eine
Gruppe mit der gleichen Struktur wie die - additive Gruppe
34Komplexe Einheitswurzeln
- Lemma (Cancellation Lemma)
- Für jede ganze Zahl
gilt
35Komplexe Einheitswurzeln
- Korollar
- Für jede ganze Zahl
gilt
36Komplexe Einheitswurzeln
- Lemma (Halving Lemma)
- ngt0 ist gerade, dann sind die Quadrate der
- n komplexen n-ten Einheitswurzeln die
- n/2 komplexen (n/2)ten Einheitswurzeln.
37Komplexe Einheitswurzeln
- Lemma (Summation Lemma)
- Für jede ganze Zahl und nicht negative
ganze Zahl k, nicht durch n teilbar,
38Diskrete Fouriertransformation
Polynom
an
Wir definieren
für
Der Einfachheit halber betrachten wir wieder nur
n anstatt 2n.
39Diskrete Fouriertransformation
- Der Vektor y heißt diskrete Fouriertransformation
des - Vektors a, oder
40Schnelle Fouriertransformation
- FFT nutzt Divide Conquer Strategie
- FFT bildet aus zwei Polynome
der Länge n/2.
Das erste Polynom enthält die Koeffizienten mit
geradem Index, das zweite die mit ungeradem
Index. Daraus folgt
41Schnelle Fouriertransformation
Anstelle der Evaluation des gesamten Polynoms,
müssen wir nur noch unsere beiden Teilpolynome
über evaluieren und
die Ergenis dann nach obiger Gleichung
kombinieren. Die Zerlegung in Polynome der Länge
n/2, lässt uns zwar die Gleiche Rechnung, aber
die Größe halbiert sich.
Für unseren Algorithmus ist oBdA n eine Potenz
von 2
42Rekursive FFT
- 1 n ? length a
n ist Potenz von 2 - if n1
- then return a
-
-
-
-
-
-
- for k ? 0 to n/2-1
- do
-
-
- return y
y soll ein Spaltenvektor sein
43Interpolation
Für n Point-Value Paare
existiert ein eindeutiges Polynom
der Länge n,
so daß
für
44Interpolation
- Dazu betrachten wir die Matrizengleichung nach
Folie 14
Vandermonde-Matrix, invertierbar falls alle x
verschieden
45Interpolation
46Interpolation
Mit der Inversen der Vandermonde-Matrix erhalten
wir
Vergleich mit Folie 38 Tausch im Algorithmus von
a und y und
mit , nur noch Division von jedem
Element durch n.
Es folgt Interpolation hat gleiche Laufzeit wie
Evaluation !
47Ergebnis
- a,b Vektoren der Länge n, n Potenz von 2
a,b durch 0 zu Länge 2n aufgefüllt
48Laufzeit FFT
- Laufzeit T(n)2T(n/2)Q(n)Q(nlg n)
49Zur VeranschaulichungParallele FFT
50Literatur
- Cormen, Leiserson, Rivest Introduction to
algorithm - H.W. Lang Algorithmen in Java