Der erweiterte euklidische Algorithmus ist ein Algorithmus aus dem mathematischen Teilgebiet der Zahlentheorie. Er berechnet neben dem größten gemeinsamen Teiler zweier natürlicher Zahlen und noch zwei ganze Zahlen und , die die folgende Gleichung erfüllen
Wie der Name schon aussagt ist dieser Algorithmus eine Erweiterung des bereits in der Antike bekannten euklidischen Algorithmus, der nur den größten gemeinsamen Teiler berechnet.
Das Haupteinsatzgebiet des erweiterten euklidischen Algorithmus ist die Berechnung der inversen Elemente in primen Restklassengruppen. Der Algorithmus liefert zudem einen konstruktiven Beweis für das Lemma von Bézout.
Zur Berechnung werden die Variablen m, n, s, t, u und v verwendet. Diese werden wie folgt initialisiert:
Nach Beendigung ist .
Man kann dieses Vorgehen in der folgenden Form übersichtlich darstellen:
Man zieht also immer von der vorletzten Zeile die mit q multiplizierte letzte Zeile ab, um die nächste Zeile zu erhalten. Wenn die Abbruchbedingung n=0 erfüllt ist, gilt m = r = ggT(a,b) und folglich
a,b: zwei Zahlen für die der erweiterte euklidische Algorithmus durchgeführt wird
extended_euclid(a,b)
1 wenn b = 0
2 dann return (a,1,0)
3 (d',s',t') extended_euclid(b, a mod b)
4 (d,s,t) (d',t',s' - floor(a/b)t')
5 return (d,s,t)
Ein kleines Script findet sich unter http://www.mirsky.de/ggt.php. Jeder Schritt wird genau erklärt. Außerdem gibt es noch ein ausführliches Skript mit Quelltext unter *.
Extended Euclidean algorithm | Algorithme d'Euclide étendu | Uitgebreid Euclidisch algoritme
This article is licensed under the GNU Free Documentation License.
It uses material from the
"Erweiterter euklidischer Algorithmus".
Home Page • arts • business • computers • games • health • hospitals • home • kids & teens • news • physicians • recreation• reference • regional • science • shopping • society • sports • world