Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Multiplikation großer Zahlen mit Standard-FFT

Ähnliche Präsentationen


Präsentation zum Thema: "Multiplikation großer Zahlen mit Standard-FFT"—  Präsentation transkript:

1 Multiplikation großer Zahlen mit Standard-FFT
Projekt 4 Multiplikation großer Zahlen mit Standard-FFT Matthias Hochsteger, e

2 Die Aufgabenstellung Gegeben sind 2 natürliche Zahlen der in b-adischer Darstellung: Gesucht ist das Produkt dieser Zahlen in b-adischer Darstellung: Aufwand: Dieses Cauchy-Produkt kann auch als Faltung interpretiert werden!

3 Lösung: Verwendung des Faltungssatzes
Der Algorithmus Lösung: Verwendung des Faltungssatzes // Eingabe: 2 Vektoren x,y der Länge n=2^i, wobei die Einträge x[n/2]...x[n-1] 0 sein müssen, // um keinen Überlauf zu erzeugen // Ausgabe: Vektor z mit z=x*y ( *...Faltung ) z=fastMultiply(x, y, n) { x1 = fft(x); y1 = fft(y); for(int i=0; i<n; i++) { z1[i] = x1*y1; } z = round(ifft(z1)); // Auf Integer Runden for(int i=1; i<n; i++) { z[i]+=z[i-1]/b; // Überträge weitergeben z[i-1] %= b; // Nun liegt z[i-1] in {0,...,b-1} return z;

4 Ziel: Sinnvolle Abschätzungen für den Gesamtfehler
Fehlerabschätzung Bei der Berechnung treten komplexe Gleitpunktzahlen auf. Der Gesamte Fehler darf beim Runden zum Schluss 0.5 nicht überschreiten! Ziel: Sinnvolle Abschätzungen für den Gesamtfehler

5 Fehler mit Basis b=2

6 Fehler mit Basis b=128

7 Laufzeitverhalten


Herunterladen ppt "Multiplikation großer Zahlen mit Standard-FFT"

Ähnliche Präsentationen


Google-Anzeigen