1 / 50

Polynome und die FFT

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.

jela
Download Presentation

Polynome und die FFT

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Polynome 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

  3. Polynome • Polynome vom Grad n-1 und Länge n z.B.:

  4. Addition von Polynomen wobei mit

  5. Addition von Polynomen

  6. Addition von Polynomen • Polynom hat Grad des höheren der beiden addierten Polynome • Bei Polynomen vom Grad n-1 sind n Additionen notwendig

  7. Multiplikation von Polynomen wobei mit

  8. Multiplikation von Polynomen

  9. Multiplikation von Polynomen Grad (C) = Grad (A) + Grad (B)

  10. Darstellungsweise von Polynomen • Koeffizientendarstellung • Point-Value-Darstellung

  11. Koeffizientendarstellung Koeffizientendarstellung von Polynom mit Grad n-1 durch Vektor Auswertung erfolgt nach Horn-Schema über den gewählten Punkt:

  12. Koeffizientendarstellung Addition erfolgt wie bei den Polynomen:

  13. 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.

  14. Point-Value-Darstellung Die Punkt-Wert Darstellung eines Polynoms des Grades n-1 besteht aus n Paaren: Wobei alle verschieden sind und für

  15. 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.

  16. 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.

  17. Begriffsklärung • Evaluation: Umwandlung von Koeffizientendarstellung in Point-Value-Darstellung • Interpolation: Umwandlung von Point-Value-Dartellung in Koeffizientendarstellung

  18. Vorschau Wir brauchen für Multiplikation von Polynomen nach Standard-Rechnung Q( ), es gilt zu zeigen, daß wir durch Umformungen eine Aufwandsersparnis erzielen.

  19. Addition in Point-Value-Darst. Voraussetzung: A und B wurden an den gleichen Punkten evaluiert A B C

  20. 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

  21. 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“ !

  22. Multiplikation in Point-Value-Darst. Lösung: Extended Point-Value-Darstellung von A und B ! A B C Bemerkung: 2n-1 wegen Gradgrenze 2n

  23. 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.

  24. 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.

  25. 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).

  26. Vorschau Standard-Multiplikation Zeitaufwand Koeffizienten- darstellung Evaluation Zeitaufwand Interpolation Zeitaufwand Point-Value- Darstellung punktweise Multiplikation Zeitaufwand

  27. Komplexe Einheitswurzeln Eine Komplexe n-te Einheitswurzel ist eine komplexe Zahl mit heißt primitive n-te Einheitswurzel, wenn

  28. Eigenschaften der Einheitswurzel Es gibt n verschiedene n-te Einheitswurzeln, diese sind darstellbar als die Potenzen einer primitiven n-ten Einheitswurzel

  29. Eigenschaften der Einheitswurzel Jede ganzzahlige Potenz einer n-ten Einheitswurzel ist wieder n-te Einheitswurzel, denn Dies gilt auch für negative k.

  30. 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 .

  31. 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.

  32. 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.

  33. Eigenschaften der Einheitswurzel Die n komplexen n-ten Einheitswurzeln bilden mit der Multiplikation zusammen eine Gruppe mit der gleichen Struktur wie die additive Gruppe

  34. Komplexe Einheitswurzeln Lemma (Cancellation Lemma): Für jede ganze Zahl gilt

  35. Komplexe Einheitswurzeln Korollar: Für jede ganze Zahl gilt

  36. 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.

  37. Komplexe Einheitswurzeln Lemma (Summation Lemma): Für jede ganze Zahl und nicht negative ganze Zahl k, nicht durch n teilbar,

  38. Diskrete Fouriertransformation Polynom an Wir definieren für Der Einfachheit halber betrachten wir wieder nur n anstatt 2n.

  39. Diskrete Fouriertransformation Der Vektor y heißt diskrete Fouriertransformation des Vektors a, oder

  40. 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:

  41. 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

  42. 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

  43. Interpolation Für n Point-Value Paare existiert ein eindeutiges Polynom der Länge n, so daß für

  44. Interpolation Dazu betrachten wir die Matrizengleichung nach Folie 14 Vandermonde-Matrix, invertierbar falls alle x verschieden

  45. Interpolation

  46. 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 !

  47. Ergebnis a,b Vektoren der Länge n, n Potenz von 2 a,b durch 0 zu Länge 2n aufgefüllt

  48. Laufzeit FFT Laufzeit T(n)=2T(n/2)+Q(n)=Q(nlg n)

  49. Zur VeranschaulichungParallele FFT

  50. Literatur Cormen, Leiserson, Rivest: Introduction to algorithm H.W. Lang: Algorithmen in Java

More Related