Größter gemeinsamer Teiler

Aus testwiki
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Zur Navigation springen Zur Suche springen

Der größte gemeinsame Teiler (ggT) ist die jeweils größte natürliche Zahl m, durch die sich zwei oder mehr gegebene ganze Zahlen ohne Rest teilen lassen. Weiterhin sind auch alle (echten) Teiler von m dann Teiler aller beteiligten Zahlen, aber nicht die größten Teiler. Ist der größte gemeinsame Teiler 1, sind die beteiligten Zahlen teilerfremd. In der elementaren Mathematik ist dessen wichtigste Anwendung das Kürzen von Brüchen.

So ist der ggT(10, 15)=5, da sich sowohl 10 und 15 durch 5 teilen lassen. Der Bruch 1015 lässt sich zu 23 kürzen. Die beiden „verbleibenden“ Zahlen 2 und 3 sind nun teilerfremd und lassen sich nicht weiter kürzen.

Sein Pendant ist das kleinste gemeinsame Vielfache (kgV). Beide spielen unter anderem in der Arithmetik, der Algebra und der Zahlentheorie eine Rolle.

Wichtigste Anwendung ist heutzutage die Kryptografie.

Das Konzept des größten gemeinsamen Teilers lässt sich auf Gaußsche Zahlen, Polynome und vieles andere erweitern.

Definition

Der größte gemeinsame Teiler ggT zweier ganzen Zahlen a und b, von denen mindestens eine ungleich Null ist, ist die größte ganze Zahl m, so dass m ein Teiler sowohl von a als auch von b ist. Das heißt, es gibt ganze Zahlen α und β, so dass

a=mα und b=mβ

ist und m die größte Zahl mit dieser Eigenschaft ist.

Als Operator wird er ggT(a, b) in deutschsprachigen Texten, gcd(a, b) (greatest common divisor) in englischsprachigen Texten geschrieben, wobei letztere Schreibweise auch in deutschsprachigen Texten zu finden ist. Eine weitere Bezeichnung ist greatest common factor.

Ist eine der beiden Zahlen a und b Null, so ist der ggT der absolute Wert der betragsmäßig größeren Zahl:

ggT(0, a)=max(|0|, |a|)=max(0, |a|)=|a|,

da |a|0 ist und was auch mit 0=|a|0 und a=|a|sgn(a) übereinstimmt, wobei sgn(a) hier für +1 für positive und 1 für negative Zahlen steht. Dieser Fall ist weiterhin wichtig für den Abschluss des euklidischen Algorithmus.

Sind beide Zahlen Null, so ergibt letztere Regel

ggT(0, 0)=max(|0|, |0|)=max(0, 0)=0,

was wiederum mit 0=00 und 0=00 übereinstimmt, auch wenn die Zahl 0 mit dem Begriff größter gemeinsamer Teiler nicht harmonisiert (obwohl es für den ggT gar keiner Division bedarf, siehe Definition).

Diese Definition bzw. Konvention wird meist auch verwendet, da sie einige Konzepte vereinfacht (wie z. B. die Bézout-Identität). Auch die meisten Computeralgebrasysteme, wie z. B. Wolfram Alpha benutzen diese Definition. Einige Autoren lassen ggT(0, 0) jedoch ähnlich wie 00 undefiniert.

Der ggT von a und b ist ihr größter gemeinsamer positiver Teiler in der Quasiordnung der Teilbarkeit. Das bedeutet, dass die gemeinsamen Teiler von a und b genau die Teiler ihres ggT sind. Dies wird in der Regel mit Hilfe des Lemma von Euklid, des Fundamentalsatzes der Arithmetik oder des euklidischen Algorithmus bewiesen. Dies ist die Bedeutung von „größte“, die für die Verallgemeinerung des Konzepts des ggT verwendet wird. Dies spielt eine wesentliche Rolle, wenn man die Schulmathematik verlässt und nicht nur Zahlen, sondern komplexere mathematische Konzepte wie Polynome, Funktionen und Matrizen verwendet.

Beispiele

Größter gemeinsamer Teiler zweier Zahlen

ggT(12, 18)[1]

  • 12 hat die Teiler: 1,2,3,4,6,   12.
  • 18 hat die Teiler: 1,2,3,  ,6,9,   18.
  • Die gemeinsamen Teiler von 12 und 18 sind: 1,2,3 und 6.
Der größte gemeinsame Teiler ist 6:
ggT(12, 18)=6

Größter gemeinsamer Teiler dreier Zahlen

ggT(12, 18, 30)[2]

  • 12 hat die Teiler: 1,2,3,4  ,6,    12.
  • 18 hat die Teiler: 1,2,3,    ,6,9,       18.
  • 30 hat die Teiler: 1,2,3,  5,6, 10, 15,  30.
  • Die gemeinsamen Teiler von 12, 18 und 30 sind: 1,2,3 und 6.
Der größte gemeinsame Teiler ist 6:
ggT(12,18,30)=6

Größter gemeinsamer Teiler zweier Polynome

Die „Größe“ wird hier gemessen im Polynomgrad.

Im Ring [x]
ggT(x21, x+1):
  • x21 hat die Teiler x+1, x1. Beide haben den Grad 1.
  • x + 1 hat den Teiler x+1.
Ergebnis: Der gradmäßig größte gemeinsame Teiler von x21 und x+1 ist x+1.
ggT(x21, x+1)=x+1.
ggT(2x3+9x2+6x+1, 3x3+14x2+11x+2)[3]
  • 2x3+  9x2+  6x+1 hat die Teiler 2x+1 und x2+4x+1.
  • 3x3+14x2+11x+2 hat die Teiler 3x+2 und x2+4x+1.
  • x2+4x+1 lässt sich zwar darstellen als (x+23)(x+2+3). Wegen 3 ist es aber prim im Ring [x].
  • Die gemeinsamen Teiler von  2x3+9x2+6x+1  und  3x3+14x2+11x+2  sind im Ring [x]:
1 und x2+4x+1.
Ergebnis: Der gradmäßig größte gemeinsame Teiler ist: x2+4x+1
ggT(2x3+9x2+6x+1, 3x3+14x2+11x+2)=x2+4x+1.
Im Ring (3)[x]
Die gemeinsamen Teiler von  2x3+9x2+6x+1  und  3x3+14x2+11x+2  sind wegen
  • x2+4x+1=(x+23)(x+2+3)
  • 1, x+23, x+2+3  und x2+4x+1.
Ergebnis: Der größte gemeinsame Teiler im Ring (3)[x] ist: x2+4x+1
ggT(2x3+9x2+6x+1, 3x3+14x2+11x+2)=x2+4x+1.
Im Ring [x]
  • ggT(πx2π, x+1)=x+1.

Rechenregeln für Zahlen

Für ganze Zahlen a, b, c, k und |a| als dem Betrag von a gilt:

ggT(a, b) =ggT(b,a) Kommutativgesetz
ggT(a, b, c) =ggT(a,ggT(b,c))=ggT(ggT(a,b),c) Assoziativgesetz
ggT(ka, kb) =|k|ggT(a, b) Distributivgesetz
ggT(±a,±b) =ggT(a, b)
ggT(a, 0) =|a|
ggT(a, 1) =1
ggT(a, a) =|a|
ggT(a, b) =ggT(a, bmoda)=ggT(amodb, b) für a,b0
ggT(a, b+ac) =ggT(a, b)
ggT(a, b) =ggT(ba, b) mindestens für 0ab
ggT(a) =|a|
ggT(a, b, c, ) =ggT(a,ggT(b, c, ))
ggT(a1an,b1bm) =ggT(ggT(a1,an), ggT(b1,bm))
ggT(a, b)kgV(a, b) =|ab| Verhältnis zwischen ggT und kgV
Ist k ein gemeinsamer Teiler von a und b, dann gilt:
k   teilt   ggT(a,b)   und
ggT(ak, bk)=ggT(a, b)|k|
für k0
Ist ab mod c   (a und b sind kongruent modulo c), dann gilt:
ggT(a, c)=ggT(b, c)

Aus der genannten Rechenregel ggT(a,0)=|a| ergibt sich speziell ggT(0,0)=0. Dies ergibt sich auch daraus, dass jede ganze Zahl a (sogar die 0 selbst) wegen a0=0 Teiler der 0 ist, während umgekehrt 0 keine von 0 verschiedene Zahl teilt.

Hält man eines der beiden Argumente fest, dann ist ggT eine multiplikative Funktion, denn für teilerfremde Zahlen a und b gilt:

ggT(ab,c)=ggT(a,c)ggT(b,c)

Berechnung des größten gemeinsamen Teilers

Berechnung mittels Primfaktorzerlegung

Für die Berechnung mittels Primfaktorzerlegung zweier Zahlen a und b verwendet man alle Primfaktoren, die in jeder der beiden Zahlen vorkommen, mit der jeweils kleinsten vorkommenden Potenz.

Gegeben seien die Primfaktorzerlegungen:

a=p1α1p2α2pmαm
b=p1β1p2β2pmβm

mit αj resp. βj als den Exponenten des Primfaktors pj der Zahl a resp. der Zahl b (für Vorlage:Zeile Da beide, a und b, ganze Zahlen sind, sind alle diese Exponenten 0.

Der ggT(a, b) berechnet sich zu

ggT(a, b)=j=1mpjmin(αj, βj)

mit min(αj, βj) als dem kleinsten Exponenten des Primfaktors pj beider Zahlen.

Beispiel

Gesucht ist der größte gemeinsame Teiler von 2970 und 12936.

Die beiden Primfaktorzerlegungen lauten:

  • 2970=21335170111
  • 12936=23315072111

Dabei sind die jeweils kleinsten Exponenten in Rot, die anderen (irrelevanten) in Grau gesetzt.

Die jeweils kleinsten Exponenten sind (1, 1, 0, 0, 1). Daher folgt:

ggT(2970, 12936)=21315070111=231111=66.

Euklidischer Algorithmus

Vorlage:Hauptartikel Die Berechnung der Primfaktorzerlegung großer Zahlen und damit auch die Bestimmung des größten gemeinsamen Teilers über die Primfaktorzerlegungen ist sehr aufwändig bis hin zu praktisch unmöglich. Allerdings benötigt man auch gar nicht die Primfaktoren der beteiligten Zahlen, um den ggT zu bestimmen. Mit dem euklidischen Algorithmus existiert ein effizientes Verfahren, um den größten gemeinsamen Teiler zweier Zahlen zu berechnen. So braucht man von 1000000004147 und 1000000004149 gar nicht die Primfaktoren zu kennen, um zu erkennen, dass der ggT(1000000004147, 1000000004149)=1 ist. Über die Primfaktoren-Zerlegung wäre das eine Lebensaufgabe, mit dem euklidischen Algorithmus ist das Ergebnis sofort zu sehen.

Der klassische euklidische Algorithmus (wie von Euklid vor 2300 Jahren beschrieben) berechnet den größten gemeinsamen Teiler, indem er nach einem gemeinsamen „Maß“ für die Längen zweier Linien sucht.[4] Dazu wird die kleinere zweier Längen von der größeren mehrfach abgezogen, bis ein Ergebnis übrig bleibt, das kleiner als die kleinere ist (erste zwei Schritte im Beispiel). Bei einer Differenz von 0 ist man fertig und die kleinere Länge das Ergebnis. Andernfalls wiederholt man dieses Abziehen – jetzt aber mit der kleineren Länge anstelle der größeren und der letzten Differenz anstelle der kleineren Länge (im Beispiel die Schritte drei bis sieben mit dem Rest 13 als der kleineren Länge und 65 als der jetzt größeren). Beispiel für den größten gemeinsamen Teiler von 143 und 65:

14365=787865=13 Die entstandene Differenz 13 ist nun kleiner als der Subtrahend 65, die beiden Zahlen werden getauscht.6513=525213=393913=262613=131313=  0 Die entstandene Differenz ist 0, der letzte Minuend ist das Ergebnis.

Der größte gemeinsame Teiler von 143 und 65 ist somit 13.

Beim modernen euklidischen Algorithmus wird in aufeinanderfolgenden Schritten jeweils eine Division mit Rest durchgeführt, wobei im nächsten Schritt der Divisor zum neuen Dividenden und der Rest zum neuen Divisor wird. Der Divisor, bei dem sich Rest 0 ergibt, ist der größte gemeinsame Teiler der Ausgangszahlen. Beispiel für die Ausgangszahlen 143 und 65:

143/65=2 Rest 13  65/13=5 Rest 0: Der letzte Divisor 13 ist das Ergebnis.

Somit ist 13 der größte gemeinsame Teiler von 143 und 65.[5] Beide Verfahren sind auch kombinierbar, bei kleineren Unterschieden kann man Subtrahieren, bei größeren die Division/Modulo-Operation verwenden.

In der Programmiersprache C kann der Algorithmus für zwei vorzeichenlose 64-Bit-Ganzzahlen wie folgt formuliert werden:

#include <stdint.h>

uint64_t ggT_Div_Schleife (uint64_t a, uint64_t b)
{
    if (a == 0) return b;
    if (b == 0) return a;

    do {
        uint64_t h = a % b;
        a = b;
        b = h;
    } while (b != 0);

    return a;
}

Eine Variante mit Rekursion (genauer: Endrekursion) lässt sich so formulieren:

uint64_t ggT_Div_Rekursiv (uint64_t a, uint64_t b)
{
    if (a == 0) return b;
    if (b == 0) return a;
    return ggT_Div_Rekursiv (b, a % b);
}

Beide Versionen erzeugen mit Optimierung durch Auflösung der Endrekursion identischen Code.[6]

Steinscher Algorithmus

Neben dem euklidischen Algorithmus mit Modulo-Operation (bekanntere Version) und dem euklidischen Algorithmus mit rekursiver Subtraktion (ursprüngliche Version von Euklid) gibt es den steinsche Algorithmus als clevere Modifikation des euklidischen Algorithmus mit rekursiver Subtraktion.

Auf aktuellen CPUs[7] läuft der Steinsche Algorithmus etwa dreimal langsamer als euklidischen Algorithmus mit Modulo-Operation.

Er vermeidet Divisionen und erkauft sich das durch viele schlecht vorhersagbare Sprünge. Erstere sind auf aktuelle CPUs mittlerweile relativ schnell (64-Bit-Ganzzahl- wie auch -Gleitkomma-Division: 14 ± 1 Takte Latenz), letztere bremsen aktuelle CPUs massiv aus (falsch vorhergesagter Sprung: 18 ± 3 Straftakte Latenz).

Im Gegensatz zum euklidischen Algorithmus mit rekursiver Subtraktion zeigt er nicht dessen asymptodisch extrem lange Laufzeiten im Worst-Case-Fall, wenn irgendwann bei der rekursiven Berechnung Operanden mit sehr unterschiedlicher Größe entstehen (die zur quasi endlosen rekursiven Subtraktions-Schleifen führen, siehe Kommentare).

Der Knuth-Algorithmus ist der von Donald E. Knuth optimierte Algorithmus auf heutige CPUs angewendet.

Das gemessene Laufzeitverhalten zeigt die folgende Tabelle. Die verwendete Implementierung des ggT der Code darunter. Alle vier Implementierungen liefern die gleichen numerischen Ergebnisse für a,b>0.

Ausführungszeiten in Nanosekunden für gleichverteilte Argumente (1 … 2n − 1)[8][9]
Zahlen-
paare
ggT(64 bit, 64 bit) ggT(64 bit, 48 bit) ggT(64 bit, 32 bit)
Euklid
(Div)
Knuth Stein Euklid
(Sub)
Euklid
(Div)
Knuth Stein Euklid
(Sub)
Euklid
(Div)
Knuth Stein Euklid
(Sub)
103 142 122 462 Vorlage:0591 111 113 345 307 · 103 76 105 317 Vorlage:05,0 · 109
104 142 122 387 1024 111 113 352 495 · 103 78 105 322 11,9 · 109
105 142 122 382 Vorlage:0800 111 113 348 729 · 103 78 106 322 zu lang*)
106 142 122 379 Vorlage:0843 111 114 351 520 · 103 78 106 325 zu lang*)
107 142 122 380 1754 111 113 336 zu lang*) 78 106 322 zu lang*)

*) Messung abgebrochen, da Ausführungsdauer zu lang

Berechnung mittels Probieren

Die einfachste, aber meist langsamste Methode ist das Probieren:

Beginnend von der kleinsten der Zahlen (daher sollte diese klein sein) wird abwärts zählend die Teilbarkeit geprüft.

ggT(8,12)

Teilbar durch 8?  8 ist Vorlage:0 teilbar, 12 ist nicht teilbar
Teilbar durch 7?  8 ist nicht teilbar, 12 ist nicht teilbar
Teilbar durch 6?  8 ist nicht teilbar, 12 ist Vorlage:0 teilbar
Teilbar durch 5?  8 ist nicht teilbar, 12 ist nicht teilbar
Teilbar durch 4?  8 ist Vorlage:0 teilbar, 12 ist Vorlage:0 teilbar ggT(8,12)=4

ggT(6,12)

Teilbar durch 6?  6 ist Vorlage:0 teilbar, 12 ist Vorlage:0 teilbar ggT(6,12)=6

ggT(6,93099)

Teilbar durch 6?  6 ist Vorlage:0 teilbar, 93099 ist nicht teilbar, da ungerade
Teilbar durch 5?  6 ist nicht teilbar, 93099 ist nicht teilbar, da nicht auf 0 oder 5 endend
Teilbar durch 4?  6 ist nicht teilbar, 93099 ist nicht teilbar, da ungerade
Teilbar durch 3?  6 ist Vorlage:0 teilbar, 93099 ist offensichtlich teilbar ggT(6, 93099)=3

Berechnung für mehrere Zahlen

Vorlage:Anker

Berechnung mittels Primfaktorzerlegung

Die Berechnung mittels Primfaktorzerlegung lässt nativ die Berechnung für eine beliebige Menge von Zahlen a1,,ak zu. Man verwendet alle Primfaktoren, die in jeder der Zahlen vorkommen, mit der jeweils kleinsten vorkommenden Potenz.

Gegeben seien die Primfaktorzerlegungen:

a1=p1e1,1p2e1,2pme1,ma2=p1e2,1p2e2,2pme2,mak=p1ek,1p2ek,2pmek,m

mit ei,j0 dem jeweiligen Exponenten des Primfaktors pj der Zahl ai (i=1,,k,j=1,,m).

Der ggT berechnet sich zu (mit min(e1,j,e2,j,,ek,j) dem kleinsten Exponenten des Primfaktors pj aller Zahlen):

ggT(a1,a2,,ak)=j=1mpjmin(e1,j,e2,j,,ek,j) .
Beispiel

Gesucht ist der kleinste gemeinsame Teiler von 1574, 1760 und 1925.

Die Primfaktorenzerlegung lautet, wobei die jeweils kleinsten Exponenten in Rot, die anderen (irrelevanten) in Grau gesetzt sind:

1584=24325070111
1760=25305170111
1925=20305271111,

die kleinsten Exponenten sind (0, 0, 0, 0, 1). Daher folgt:

ggT(1584, 1760, 1925)=20305070111=111111=11.
Bemerkung

Bei Anwendung des jeweils größten Exponenten erhält man (analog) das kleinste gemeinsame Vielfache:

1584=24325070111
1760=25305170111
1925=20305271111,

die größten Exponenten sind (5, 2, 2, 1, 1). Daher folgt:

kgV(1584, 1760, 1925)=25325271111=32925711=554400.

Das Produkt aus ggT und kgV ist 6098400, das der drei Zahlen ist 5366592000, womit man sieht, dass die Multiplikationsregel für ggT und kgV für mehr als zwei Zahlen nicht gilt.

Berechnung mittels Verkettung

Wie wir schon festgestellt haben, ist die Berechnung über die Primfaktorenzerlegung nicht die effizienteste Methode.

Die Berechnung des ggT erfolgt durch Verkettung. Die Reihenfolge (sowohl kommutativ wie assoziativ) ist dabei irrelevant:

ggT(a,b,c)=ggT(ggT(a,b),c)=ggT(a,ggT(b,c))
=ggT(b,a,c)=ggT(b,ggT(c,a))=

Für die Berechnung von ggT(1584,1760,1925) berechnet man z. B. zuerst

ggT(1584,1760)=176 und im zweiten Schritt
ggT(  176,1925)=  11.

Der Hintergrund, warum das funktioniert, ist die Eigenschaft des Minimum-Operators:

min(𝒜)=min(min(𝒜),min()),  der sich durch das Anwenden auf die Exponenten auf die ggT durchschlägt:
ggT(𝒜)=ggT(ggT(𝒜),ggT()).

𝒜 und bezeichnen hier jeweils nichtleere Mengen an ganzen Zahlen, d. h. man kann eine Menge in (sinnvollerweise, aber nicht notwendigerweise echte) nichtleere Teilemengen 𝒜 und mit 𝒜= zerlegen und dann die Operation rekursiv anwenden.

Dies rechtfertigt die Schreibweise ggT(a1, a2an).[10]

Bemerkung

Das Gleiche gilt für das kleinste gemeinsame Vielfache, nur dass hier das Minimum jeweils durch das Maximum (der Exponenten) ersetzt wird.

Berechnen für Polynome

Die Bestimmung des ggT für Polynome läuft auf geschicktes Raten und Polynomdivisionen bzw. auf die Bestimmung der Nullstellen der Polynome hinaus.

Letzteres erfolgt folgendermaßen:

ggT(i=0kaixi,i=0mbixi)=ggT(aki=0k(xxa,i),bmi=0m(xxb,i))=ggT(ak,bm)xi(xxi)

wobei die Menge aller paarweise identischen Nullstellen der beiden Polynome umfasst.

Beispiel
ggT(2x528x4+138x3296x2+280x96,6x572x4+312x3612x2+546x180)=
ggT(2(x1)(x1)(x2)(x4)(x6),6(x1)(x1)(x2)(x3)(x5)).

Die gemeinsamen Nullstellen sind die doppelte Nullstelle +1 und die einfache Nullstelle +2, weiterhin ist das ggT(2,6)=2.

ggT(2x420x3+64x276x+30, 2x416x3+42x244x+16)=2(x1)(x1)(x2)=2x38x2+10x4.

Der rationale Bruch

2x528x4+138x3296x2+280x966x572x4+312x3612x2+546x180

lässt sich für x1,2  kürzen zu:

(x6)(x4)3(x5)(x3)

Lemma von Bézout

Vorlage:Hauptartikel

Nach dem Lemma von Bézout lässt sich der größte gemeinsame Teiler zweier ganzer Zahlen m und n als Linearkombination von m und n mit ganzzahligen Koeffizienten darstellen:

  • ggT(m,n)=sm+tn  mit s,t[11]

Beispielsweise besitzt der größte gemeinsame Teiler von 12 und 18 die folgende Darstellung:

  • ggT(12,18)=6=(1)12+118

Die Koeffizienten s und t können mit dem erweiterten euklidischen Algorithmus berechnet werden.

Sonderfälle

Für gerades e, ungerades d sowie ganzes i,j,k gilt:

ggT(e1, e+2)=1ggT(2e, e21)=1ggT(2d, d21)=2ggT(2k(k+1), 2k+1)=1ggT(4k, 4k21)=1ggT(ij, 1+i+j)=ggT(1+2j, 1+2i)ggT(a, b)=2ggT(a2, b2)falls a und b geradeggT(a, b)=ggT(a2, b)falls a gerade und b ungeradeggT(a, b)=ggT(ab2, b)falls a und b ungerade

Setzt man eine Primzahl aus zwei echten Summanden zusammen, gilt für diese stets Teilerfremdheit:

Aus p=a+b,0<ba<p,a,b,p folgt ggT(a,b)=1.

Anwendungen

Kürzen von Brüchen

Beim Kürzen wird ein gemeinsamer Faktor von Zähler und Nenner eines Bruches entfernt, wobei sich der Wert des Bruches nicht ändert, z. B. 1218=6  29  2=69. Kürzt man mit dem größten gemeinsamen Teiler von Zähler und Nenner, entsteht ein Bruch, der nicht weiter kürzbar ist.[12] Zum Beispiel ist ggT(12,18)=6, also

1218=2636=23

Vorlage:AnkerEin Bruch mit Zähler a und Nenner b, bei dem ggT(a,b)=1 ist, ist nicht weiter kürzbar. Er wird voll gekürzt[13], in der Mathematik vollständig oder maximal gekürzter Bruch genannt. In der englischsprachigen Literatur wird er „Simplified fraction“ oder „Reduced fraction“ genannt.

Zusammenhang zwischen größtem gemeinsamen Teiler (ggT) und kleinstem gemeinsamen Vielfachen (kgV)

Satz
ggT(a,b)kgV(a,b)=ab
Beweis
Nachweis für positive ganze Zahlen m und n, alle anderen Fälle lassen sich analog behandeln. Sei k=kgV(m,n), dann ist k auch Teiler des Produkts mn. Die Zahl g enthalte dagegen alle Primfaktoren des Produkts mn, die k nicht enthält. Betrachtet man, wie der ggT(m,n) aus der Primfaktordarstellung des Produkts aus m und n berechnet wird, dann folgt g=ggT(m,n). Daraus ergibt sich die obige Gleichung.[14]

Weitere algebraische Strukturen mit ggT

Der Begriff des ggT baut auf dem Begriff der Teilbarkeit auf, wie er in Ringen definiert ist. Man beschränkt sich bei der Diskussion des ggT auf nullteilerfreie Ringe, im kommutativen Fall sind das die Integritätsringe.

Ein Integritätsring, in dem je zwei Elemente einen ggT besitzen, heißt ggT-Ring oder ggT-Bereich. (In einem ggT-Ring haben je zwei Elemente auch ein kgV.)

Im Allgemeinen besitzen solche Ringe keine Halbordnung, die antisymmetrisch ist, wie die ganzen oder die natürlichen Zahlen eine haben. Häufig ist die Teilbarkeitsrelation, die eine Quasiordnung ist, die einzige Ordnungsrelation. Deshalb lässt sich der ggT gegebenenfalls nicht mehr eindeutig als nicht-negativ normieren, sondern nur bis auf Assoziiertheit bestimmen. Zwei Elemente a und b sind assoziiert, in Zeichen ab, wenn es eine Einheit ϵ mit a=bϵ gibt.

Wir erweitern den Begriff des ggT auf die Menge aller größten gemeinsamen Teiler der Elemente einer Teilmenge M eines Ringes R, formal:

dggT(M):yR:(xM:yx)yd.

In Worten: Die Teiler von d sind genau die Elemente aus R, die alle Elemente aus M teilen. Die ggT sind untereinander assoziiert.

Polynomringe

Man kann den ggT z. B. auch für Polynome bilden. Statt der Primfaktorzerlegung nimmt man hier die Zerlegung in irreduzible Faktoren:

f(X,Y)=X2+2XY+Y2=(X+Y)2g(X,Y)=X2Y2=(X+Y)(XY)

Dann ist

ggT(f,g)X+Y

Der Polynomring [X] in einer Variablen X ist euklidisch. Dort gibt es zur Berechnung des ggT eine Division mit Rest.

Gaußscher Zahlenring

Im gaußschen Zahlenring +i ist der größte gemeinsame Teiler von 2 und 1+3i gerade 1+i, denn 2=i(1+i)2 und 1+3i=(1+i)(2+i). Genau genommen ist 1+i nur ein größter gemeinsamer Teiler, da alle zu dieser Zahl assoziierten Zahlen ebenfalls größte gemeinsame Teiler sind. (Die Einheiten sind ±1,±i.)

Integritätsringe

Im Integritätsring R=[3] haben die Elemente

a:=4=22=(1+3)(13),b:=(1+3)2

keinen ggT: Die Elemente 1+3 und 2 sind zwei maximale gemeinsame Teiler, denn beide haben den gleichen Betrag, aber diese zwei Elemente sind nicht zueinander assoziiert. Also gibt es keinen ggT von a und b.

Die genannten Elemente 1+3 und 2 haben aber ihrerseits einen ggT, nämlich 1. Dagegen haben sie kein kgV, denn wenn v ein kgV wäre, dann folgt aus der „ggT-kgV-Gleichung“, dass v assoziiert zu k:=(1+3)2 sein muss. Das gemeinsame Vielfache 4 ist jedoch kein Vielfaches von k, also ist k kein kgV und die beiden Elemente haben gar kein kgV.

Ist R ein Integritätsring und haben die Elemente a und b ein kgV, dann haben sie auch einen ggT, und es gilt die Gleichung:

abggT(a,b)kgV(a,b)

Ein euklidischer Ring ist ein Hauptidealring, der ein faktorieller Ring ist, der schließlich ein ggT-Ring ist. Ebenso ist jeder Hauptidealring ein Bézoutring, der wiederum stets ein ggT-Ring ist.

Ein Beispiel für einen nicht-kommutativen ggT-Ring sind die Hurwitzquaternionen.

Analytische Zahlentheorie

In der elementaren Zahlentheorie gehört der größte gemeinsame Teiler t von zwei ganzen Zahlen m,n{0} zu den wichtigsten Grundkonzepten. Man schreibt dort regelmäßig t=(m,n) und meint damit dann den positiven ggT, geht also von t aus.

In der analytischen Zahlentheorie kann die ggT-Funktion {0};m(m,n) in einer Variablen für festes n{0} analytisch zu einer ganzen Funktion fortgesetzt werden. → Siehe Ramanujansumme.

Einzelnachweise

  1. Wolfram Alpha zu ggT(12, 18)
  2. Wolfram Alpha zu ggT(12, 18, 30)
  3. Wolfram Alpha zu ggT(2x³ + 9x² + 6x + 1, 3x³ + 14x² + 11x + 2)
  4. Lambacher Schweizer: Mathematik für Gymnasien 5 Niedersachsen. Klett Verlag, Stuttgart 2006, ISBN 978-3-12-734551-3, S. 197.
  5. Schüler-Duden: Die Mathematik I. Dudenverlag Mannheim, 1990, ISBN 3-411-04205-2, S. 100
  6. Compiler Explorer
  7. C++, Microsoft Compiler, 64 bit-Code, Prozessoren um das Jahr 2020, Intel Cannon Lake, Raptor Lake, AMD ZEN 3, ZEN 4
  8. AMD Ryzen 9 3900X, Microsoft VC 2022, Optionen /GL /O2
  9. Compiler Explorer
  10. Harald Scheid: Einführung in die Zahlentheorie. Klett Verlag, Stuttgart, 1972, ISBN 3-12-983240-8, S. 78.
  11. Lemma von Bézout.
  12. Lutz Engelmann (Hrsg.): Kleiner Leitfaden Mathematik. Paetec, Berlin 1997, ISBN 3-89517-150-6, S. 51/2.
  13. Schüler-Duden: Die Mathematik I. Dudenverlag, Mannheim. Leipzig, Wien, Zürich 1990, ISBN 3-411-04205-2, S. 48.
  14. § 4. ggT und kgV. In: math-www.uni-paderborn.de. S. 14.

Literatur

Vorlage:Wikibooks