500 likes | 880 Views
Polynome und die FFT. Sören Tönis Seminar: Ergänzungen zu DAP2. Polynome Addition Multiplikation Alternative Darstellungsformen Koeffizientendarstellung Point-Value-Darstellung Komplexe Einheitswurzeln Diskrete Fouriertransformation Schnelle Fouriertransformation. Polynome.
E N D
Polynome und die FFT Sören Tönis Seminar: Ergänzungen zu DAP2
Polynome • Addition • Multiplikation • Alternative Darstellungsformen • Koeffizientendarstellung • Point-Value-Darstellung • Komplexe Einheitswurzeln • Diskrete Fouriertransformation • Schnelle Fouriertransformation
Polynome • Polynome vom Grad n-1 und Länge n z.B.:
Addition von Polynomen wobei mit
Addition von Polynomen • Polynom hat Grad des höheren der beiden addierten Polynome • Bei Polynomen vom Grad n-1 sind n Additionen notwendig
Multiplikation von Polynomen wobei mit
Multiplikation von Polynomen Grad (C) = Grad (A) + Grad (B)
Darstellungsweise von Polynomen • Koeffizientendarstellung • Point-Value-Darstellung
Koeffizientendarstellung Koeffizientendarstellung von Polynom mit Grad n-1 durch Vektor Auswertung erfolgt nach Horn-Schema über den gewählten Punkt:
Koeffizientendarstellung Addition erfolgt wie bei den Polynomen:
Koeffizientendarstellung 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.
Point-Value-Darstellung Die Punkt-Wert Darstellung eines Polynoms des Grades n-1 besteht aus n Paaren: Wobei alle verschieden sind und für
Point-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.
Point-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.
Begriffsklärung • Evaluation: Umwandlung von Koeffizientendarstellung in Point-Value-Darstellung • Interpolation: Umwandlung von Point-Value-Dartellung in Koeffizientendarstellung
Vorschau Wir brauchen für Multiplikation von Polynomen nach Standard-Rechnung Q( ), es gilt zu zeigen, daß wir durch Umformungen eine Aufwandsersparnis erzielen.
Addition in Point-Value-Darst. Voraussetzung: A und B wurden an den gleichen Punkten evaluiert A B C
Multiplikation in Point-Value-Darst. Voraussetzung: A und B wurden an den gleichen Punkten evaluiert A B C Problem ! : Grad C = Grad A + Grad B
Vorschau 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“ !
Multiplikation in Point-Value-Darst. Lösung: Extended Point-Value-Darstellung von A und B ! A B C Bemerkung: 2n-1 wegen Gradgrenze 2n
Einschub 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.
Vorschau 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.
Vorschau 3. Punktweises Multiplizieren: Berechnen von C(x)=A(x)B(x) punktweises Multiplizieren der Werte 4. Interpolation: Erstellen der Koeffizientendarstellung zum Polynom C(x).
Vorschau Standard-Multiplikation Zeitaufwand Koeffizienten- darstellung Evaluation Zeitaufwand Interpolation Zeitaufwand Point-Value- Darstellung punktweise Multiplikation Zeitaufwand
Komplexe Einheitswurzeln Eine Komplexe n-te Einheitswurzel ist eine komplexe Zahl mit heißt primitive n-te Einheitswurzel, wenn
Eigenschaften der Einheitswurzel Es gibt n verschiedene n-te Einheitswurzeln, diese sind darstellbar als die Potenzen einer primitiven n-ten Einheitswurzel
Eigenschaften der Einheitswurzel Jede ganzzahlige Potenz einer n-ten Einheitswurzel ist wieder n-te Einheitswurzel, denn Dies gilt auch für negative k.
Eigenschaften 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 .
Eigenschaften 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.
Eigenschaften 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.
Eigenschaften der Einheitswurzel Die n komplexen n-ten Einheitswurzeln bilden mit der Multiplikation zusammen eine Gruppe mit der gleichen Struktur wie die additive Gruppe
Komplexe Einheitswurzeln Lemma (Cancellation Lemma): Für jede ganze Zahl gilt
Komplexe Einheitswurzeln Korollar: Für jede ganze Zahl gilt
Komplexe Einheitswurzeln Lemma (Halving Lemma): n>0 ist gerade, dann sind die Quadrate der n komplexen n-ten Einheitswurzeln die n/2 komplexen (n/2)ten Einheitswurzeln.
Komplexe Einheitswurzeln Lemma (Summation Lemma): Für jede ganze Zahl und nicht negative ganze Zahl k, nicht durch n teilbar,
Diskrete Fouriertransformation Polynom an Wir definieren für Der Einfachheit halber betrachten wir wieder nur n anstatt 2n.
Diskrete Fouriertransformation Der Vektor y heißt diskrete Fouriertransformation des Vektors a, oder
Schnelle 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:
Schnelle 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
Rekursive FFT 1 n length [a] n ist Potenz von 2 • ifn=1 • then returna • for k 0 ton/2-1 • do • return yy soll ein Spaltenvektor sein
Interpolation Für n Point-Value Paare existiert ein eindeutiges Polynom der Länge n, so daß für
Interpolation Dazu betrachten wir die Matrizengleichung nach Folie 14 Vandermonde-Matrix, invertierbar falls alle x verschieden
Interpolation 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 !
Ergebnis a,b Vektoren der Länge n, n Potenz von 2 a,b durch 0 zu Länge 2n aufgefüllt
Laufzeit FFT Laufzeit T(n)=2T(n/2)+Q(n)=Q(nlg n)
Literatur Cormen, Leiserson, Rivest: Introduction to algorithm H.W. Lang: Algorithmen in Java