Präsentation herunterladen
Veröffentlicht von:Karsten Gerlach Geändert vor über 10 Jahren
1
Polynome und schnelle Fourier-Transformation
Mohsen Taheri FU Berlin – SoSe2012
2
Polynome Ein Polynom ist eine Funktion Koeffizienten:
Ein Polynom hat Grad k wenn der höchste Koeffizient mit einem Wert ungleich 0 Länge = jede ganze Zahl großer als Grad eines Polynoms Polynome und FFT
3
Addition von Polynomen
Seien und Polynome der Länge n Addition von A(x) und B(x) ist hat auch Länge n und Beispiel Laufzeit: Polynome und FFT
4
Multiplikation von Polynomen
Seien und Polynome der Länge n Multiplikation von A(x) und B(x) ist Wobei Länge(C) = Länge(A) + Länge(B) Beispiel Laufzeit: Polynome und FFT
5
Darstellung von Polynomen
Koeffizienten-Darstellung Point-Value-Darstellung Polynome und FFT
6
Koeffizienten-Darstellung
Das Polynom als ein Vektor der Koeffizienten Addition: Laufzeit Multiplikation (wie vorhin): wobei Polynome und FFT
7
Point-Value-Darstellung
Polynom Länge n in Point-Value- Darstellung: eine Menge von Punkten alle sind disjunkt für alle : Auswertung durch Horne-Schema (in ) Polynome und FFT
8
Addition in Point-Value-Darstellung
B : Addition: Laufzeit: Polynome und FFT
9
Multiplikation in Point-Value-Darstellung
Problem: Länge(A.B)=Länge(A)+Länge(B) Lösung: Extended Point-Value 2n Punkte statt n Punkte A: B: Multiplikation: C: Laufzeit : Polynome und FFT
10
Evaluation Evaluation: Transform von Koeffizienten-Vektor zur Point-Value-Darstellung Evaluating: Die Auswertung eines Polynoms unter einen bestimmten Wert von x Mit Hilfe von Horne-Schema in Evaluation insgesamt in Polynome und FFT
11
Interpolation Interpolation: Transform von Point-Value-Darstellung zur Koeffizienten-Darstellung Lagranges Formel Polynome und FFT
12
Theorem 1: Eindeutigkeit von Interpolation der Polynomen
Für alle Menge von n Punkten mit disjunkt gibt es ein eindeutiges Polynom A(x) der Länge n, so dass für alle Polynome und FFT
13
DFT effiziente Methode für Evaluation und Interpolation
Diskrete Fourier Transform Das Polynom in n komplexe n-te Einheitswurzeln auswerten Eingabe: Koeffizienten-Vektor Ausgabe: Vektor Auswertung der Polynom in n Komplexe n-te Einheitswurzeln Polynome und FFT
14
Komplexe Einheitswurzeln
komplexe Einheitswurzel: eine komplexe Zahl wobei Es gibt genau n komplexe n-te Einheitswurzeln: für k=0,1, … , n-1: Die Zahl : primitive n-te Einheitswurzel alle anderen Zahlen sind die Potenzen dieser Zahl n komplexe n-te Einheitswurzeln sind dann: Polynome und FFT
15
Komplexe Einheitswurzeln - Eigenschaften
Additive Gruppe Die n Zahlen haben die gleiche Struktur wie die additive Gruppe Beweis: Polynome und FFT
16
Komplexe Einheitswurzeln - Eigenschaften
Cancellation Lemma Für jede ganze Zahl gilt: Beweis: . Korollar: Für alle ganze Zahlen n>0 gilt: Polynome und FFT
17
Komplexe Einheitswurzeln - Eigenschaften
Halving Lemma: wenn n>0 gerade Zahl die Quadrate der n komplexen n -te Einheitswurzeln sind die n/2 komplexe (n/2)-te Einheitswurzeln: Polynome und FFT
18
Komplexe Einheitswurzeln - Eigenschaften
Halving Lemma: Beweis: Da n gerade ist, nehmen wir an n=2m Zu zeigen: Nach Cancellation Lemma: da , ist dann , also □ Polynome und FFT
19
Komplexe Einheitswurzeln - Eigenschaften
Summation Lemma: Für jede ganze Zahl n≥1 und für k≠0 und nicht dividierbar durch n, gilt: Polynome und FFT
20
FFT Evaluation eines Polynoms in
unter Verwendung der Eigenschaften der Einheitswurzeln Diese Methode heißt Fast Fourier Transform(FFT). Annahme n ist ein 2er Potenz ( ) Divide-and-Conquer Polynome und FFT
21
FFT das Polynom A(x) in gerade und ungerade indizierte Koeffizienten teilen zwei neue Polynome der Länge n/2 Das Polynom wird so berechnet: Polynome und FFT
22
FFT das Problem von Auswerten des Polynoms in n Punkten ( ) reduziert zu: 1. zwei Polynome der Länge n/2 in Punkten ( ) auswerten 2. das Resultat mit Hilfe der Abgleichung zusammen addieren Polynome und FFT
23
FFT Nach Halving Lemma:
die Anzahl der Elemente der Liste nicht n, sondern n/2. Die zwei Subprobleme haben genau die gleiche Struktur wie das ursprüngliche Problem und sind halb so groß. Polynome und FFT
24
Rekursiv FFT RECURSIVE-FFT(a) n = a.length() if n==1 return a
for k=0 to n/2-1 return y Eingabe: Ausgabe: Zeilen 2-3 Rekursionsbasis: DFT von einem Vektor mit einem Element ist das Element selbst., weil Zeilen 6-7 definieren die Koeffizienten-Vektoren für Zeilen 4,5 und 13 sorgen dafür, dass stets den Wert hat Die Zeilen 8-9 führen die rekursive Berechnung für k=0,1,…,n/2-1: und oder, weil durch Cancellation Lemma , ist: Polynome und FFT
25
Rekursiv FFT Zeilen11-12 kombinieren das Ergebnis der rekursiven Berechnung Zeile 11 für Zeile 12 für zusammengefügt wird Vektor y berechnet Polynome und FFT
26
Rekursiv FFT - Laufzeit
jeder rekursiver Aufruf kostet n = Länge des Eingabevektors Laufzeit: Polynome und FFT
27
Interpolation in Einheitswurzeln
umgekehrtes Verfahren Polynom vom Point-Value zurück zu Koeffizienten Berechnung von DTF als eine Matrizenmultiplikation Vandermonde-Matrix wir brauchen die Inverse-Matrix Polynome und FFT
28
Inverse von Vandermonde-Matrix
Theorem: Für j,k=0,1,…,n-1 sind die (j,k)Einträge von die Zahlen Beweis: z.z.: , wobei die n×n Identitätsmatrix betrachte die (j,j')Einträge von Falls j=j‘ : Falls j≠j‘ : -(n-1) ≤ j-j' ≤ n-1 j-j' ist nicht durch n dividierbar Summation Lemma : Polynome und FFT
29
Interpolation in Einheitswurzeln
I : (j,k)Einträge der sind: II : Vergleiche mit Polynom in Einheitswurzeln leichte Modifikation in Algorithmus berechnet die Interpolation tausche a und y ersetze durch dividiere jedes Element durch n Also die Interpolation auch in berechenbar Polynome und FFT
30
Zusammenfassung Standard-Multiplikation Koeffizienten- Darstellung
Laufzeit Koeffizienten- Darstellung Interpolation Laufzeit Evaluation Laufzeit Wir haben gezeigt, dass mit Hilfe vom Recursive-FFT man die Evaluation und Interpolation eines Polynoms in durchführen kann. Damit man zwei Polynome in Koeffizienten-Form in multipliziert, wird man sie zunächst in Point-Value-Form umwandeln. Diese Transformation ist in machbar. Die Multiplikation in Point-Value-Form kostet nun Zeit. Nachher wird man das Ergebnis der Multiplikation in zurück in Koeffizienten-Form umwandeln. Somit kann man diese Multiplikation insgesamt in durchführen. punktweise Multiplikation Laufzeit Point-Value- Darstellung Polynome und FFT
Ähnliche Präsentationen
© 2024 SlidePlayer.org Inc.
All rights reserved.