| Definition (5.3) | (erweiterter) euklidischer Algorithmus |

anchored to [[104.00_anchor_math]] proceeds from [[104.11_elementare_zahlentheorie]] also possible in [[104.14_PolynomRinge]]


| Overview |

Wir können den euklidischen Algorithmus verwenden, um von zwei gegebenen Zahlen den [[104.11_elementare_zahlentheorie#Definition (5.1) ggT/gcd - größter gemeinsamer Teiler|ggt]] zu berechnen!

Unter Anwendung des erweiterten euklidischen Algorithmus wird es uns weiterhin ermöglicht den ggT in einer neuen Schreibweise darzustellen, die wir in manchen Bereichen anwenden können.

| Definition |

[!Definition] Beschreibung | Ablauf des euklidischen Algorithmus: Wir erhalten als Eingabe folgend; hierbei dürfen beide nicht sein. Wir möchten ihn jetzt mit PseudoCode beschreiben:

if then endif if then endif if then: , enter loop: while now do: endwhile endif

Wir erhalten damit dann den ggT folgend:

[!Important] die größere Zahl sollte immer vorn stehen! Denn dadurch sparen wir uns einen Schritt, welchen wir sonst durchführen müssten. ( siehe slides #TODO )

[!Important] Möglichkeit: nur mit Betrag rechnen Wir können den ggT mit dem obig definierten euklidischen Algorithmus auch nur mit dem Betrag der beiden Zahlen berechne. Das heißt wir brauchen hierbei dann nicht mit negativen Werten rechnen. Dafür müssen wir dann jedoch beim [[#Definition erweiterter eukl. Algorithmus]] aufpassen

| Beispiel für euklidischer Algorithmus |

Wir möchten jetzt ein Beispiel des Algorithmus durchlaufen. Damit sollte das Prinzip der Berechnung ersichtlicher werden

[!Attention] Variante des Aufschreibens Es gibt viele verschiedene Arten diesen Algorithmus und seine Schritte aufzuschreiben. Wir werden hier beispielhaft die Form einer Tabelle betrachten

Sei jetzt wir möchten den ggT beider finden:

xy
48-3018 ()
-30186 ( )
1860

Haben wir diese Tabelle, müssen wir jetzt den letzten Wert vor dem Rest betrachten und dieser wird dann unser ggT sein!

Also folgend:

| Satz (5.5) | Lemma von Bachet de Mézirac | lange Schreibweise eines ggT

Seien jetzt wieder , wobei beide Wir können also den ggT von zwei Zahlen auch folgend aufschreiben und somit etwas ausführlicher darstellen!

[!Important] Intuition Wir sehen hier, dass beide Werte irgendwie multipliziert werden können, sodass sie dann den gleichen Wert repräsentieren. Unter Anwendung des euklidischen Algorithmus können wir entsprechend diese beiden Werte berechnen, sodass wir diese Darstellung dann übernehmen können.

| Beweis des Lemma |

Wir betrachten jetzt folgend und möchten es via Induktion beweisen:

Sei folgend: Das zeigen wir jetzt nocht mit der Induktion über j: mit und weiterhin ist auch noch

$$\begin{aligned} \text{ IA}: & & \ j = 0 & a_{0} = s_{0} \cdot a_{0} + t_{0} \cdot a_{1}, s_{0} = 1, t_{0}=0~\square\ j = 1 & a_{1} = s_{1} \cdot a_{0} + t_{1} \cdot a_{1}, s_{1} = 0, t_{1} = 1~\square\ \text{IS}: j-1, j- 2 \implies j & & \ \text{ Sei} $j \geq 2$ \text{ und es gelte jetzt:} && \ a_{j-2} = &s_{j-2} \cdot a_{0} + t_{j-2} \cdot a_{1} \ a_{j-1} = & s_{j-1} \cdot a_{0} + t_{j-1} \cdot a_{1} \ \text{Dann folgt jetzt (IV!)}: &&\ a_{j} = a_{j-2} - q_{j-1} \cdot (a_{j-1}) \ =& s_{j-2} \cdot a_{0} + t_{j-2} \cdot a_{1} ~ - q_{j-1} \cdot s_{j-1} \cdot a_{0} + t_{j-1} \cdot a_{1} \ = & (s_{j-2} - q_{j-1} \cdot s_{j-1} ) \cdot a_{0} + ( t_{j-2} - q_{j-1} \cdot) \end{aligned}$$

| Definition | erweiterter eukl. Algorithmus

Folglich ist der erweiterte euklidische Algorithmus als PseudoCode angegeben, weil er sehr ausführlich in seiner Ausführung ist: ![[Pasted image 20231204131756.png]]

| alternative Schreibweise für erw. eukl. Algorithmus |

Wir haben das vorherige [[#Beispiel für euklidischer Algorithmus]] nochmals unter Anwendung des erweiterten Euklidhschen Algorithmus betrachtet.

[!Tip] Jameels Schreibweise Jameel hat eine alternative Schreibweise zum berechnen und niederschreiben des erw. eukl. Algo gezeigt, mit welcher es schneller und schöner möglich ist, alles zu berechnen:

Selbiges Beispiel, wie vorher:

[!Task] Bestimmen von wir möchten auch hier nochmal den ggT von bestimmen, aber dies mal in der Schreibweise von

[!Important] Intuition Prinzipielle möchte man also durch rückwärtseinsetzen die beiden Werte bestimmen. Dazu schreiben wir jetzt folgend jeden Schritt des eukl ALgorithmus mit der Divions mit Rest auf. und am Ende möchten wir diese erhaltenen Kombinationen wieder einsetzen, bis man dann den erhält.

Wir schreiben folgend: Wir haben die 48 umgeschrieben, jetzt haben wir den GGT mit 6 gefunden und möchten diesen jetzt so umschreiben, dass er als Kombination der beiden Ausgangswerte gebildet werden kann!

Dafür nehmen wir die Gleichung, wo der GGT auftritt und schreiben ihn so um ,dass das Ergebnis ist. Danach müssen wir jetzt die vorherigen Gleichungen nochmal anschauen ( wir müssen ja die ursprünglichen Werte nochmal anwenden).


| Anwendung des erw. eukl. Algorithmus |

Angewandt werden kann dieser Algorithmus, um etwa das multiplikative Inverse eines Wertes , wobei (), bestimmen zu können.

In dieser Struktur hattten wir gezeigt, dass: invertierbar !

[!Example] etwa in

In dieser Betrachtung liefer der erw. eukl. Algorithmus zu und dann die Zahlen , sodass gilt:

Beispiel dazu:

ein weiteres Beispiel findet sich folgend: ![[104.87_assignment06#Aufgabe 3]]

Diese Umformung ist gerade bei Anwendung von [[104.11_elementare_zahlentheorie#Anwendung Zahlentheorie RSA]] wichtig, weil somit der private Schlüssel berechnet werden kann!