Jacobi-Symbol
Das Jacobi-Symbol, benannt nach Carl Gustav Jacob Jacobi, ist eine Verallgemeinerung des Legendre-Symbols. Das Jacobi-Symbol kann wiederum zum Kronecker-Symbol verallgemeinert werden. Die Notation ist die gleiche wie die des Legendre-Symbols:
- oder auch
Um zwischen dem Legendre-Symbol und dem Jacobi-Symbol zu unterscheiden, schreibt man auch L(a,p) und J(a,n).
Dabei muss im Gegensatz zum Legendre-Symbol keine Primzahl sein, allerdings muss es eine ungerade Zahl größer als 1 sein. Für sind beim Jacobi-Symbol wie beim Legendre-Symbol alle ganzen Zahlen zugelassen.
n ist eine Primzahl
Falls eine Primzahl ist, ist das Jacobi-Symbol nach Definition gleich dem Legendre-Symbol:
n ist keine Primzahl
Ist die Primfaktorzerlegung von , so definiert man
Beispiel:
Achtung: Falls keine Primzahl ist, gibt das Jacobi-Symbol nicht an, ob ein quadratischer Rest modulo ist (wie beim Legendre-Symbol). Eine notwendige Bedingung dafür, dass ein quadratischer Rest modulo ist, ist allerdings, dass das Jacobi-Symbol ungleich ist.
Allgemeine Definition
Allgemein ist das Jacobi-Symbol J(a, n) über einen Charakter der Gruppe definiert:
Dabei ist die folgende Funktion:
ist dabei ein beliebiges Halbsystem modulo , da der Wert von nicht von der Wahl des Halbsystems abhängt. bezeichnet den Korrekturfaktor von und bezüglich :
Eine alternative Definitionsmöglichkeit liefert das Lemma von Zolotareff, nach dem das Jacobi-Symbol gleich dem Vorzeichen einer speziellen Permutation ist.
Geschlossene Darstellung
Die folgende Formel ist eine geschlossene Darstellung des Werts des Jacobi-Symbols:
Zur effektiven Berechnung ist diese Formel jedoch wenig geeignet, da sie für größere schnell sehr viele Faktoren aufweist.
Effiziente Berechnung des Jacobi-Symbols
In den meisten Fällen, in denen man die Berechnung des Jacobi-Symbols benötigt, so beim Solovay-Strassen-Test, hat man keine Primfaktorzerlegung der Zahl n in J(a,n), sodass sich das Jacobi-Symbol nicht auf das Legendre-Symbol zurückführen lässt. Zudem ist die oben angegebene geschlossene Darstellung für größere nicht effizient genug.
Es gibt jedoch ein paar Rechenregeln, mit denen sich J(a,n) effizient bestimmen lässt. Diese Regeln ergeben sich unter anderem aus dem quadratischen Reziprozitätsgesetz, das auch für das Jacobi-Symbol seine Gültigkeit besitzt.
Das wichtigste Prinzip ist das folgende: Für alle ungeraden ganzen Zahlen größer 1 gilt:
Diese Regel ist das quadratische Reziprozitätsgesetz für das Jacobi-Symbol. Mit ihrer Hilfe, sowie wenigen weiteren Rechenregeln, lässt sich J(a, b) für alle a, b mit verhältnismäßig geringem Aufwand bestimmen, der vergleichbar mit dem des euklidischen Algorithmus zur Bestimmung des größten gemeinsamen Teilers ist. Die Rechenregeln, die zusätzlich benötigt werden, sind die folgenden:
Die oben stehende Regel folgt aus der Definition des Jacobi-Symbol über den Charakter. Der Zähler des Jacobi-Symbols ist nur ein Repräsentant der Gruppe ; daher spielt es keine Rolle, welchen Repräsentanten man wählt.
- (Multiplikativität im Zähler)
- (Multiplikativität im Nenner)
Als Beispiel soll J(127, 703) bestimmt werden:
Da man den Repräsentanten im Zähler frei wählen darf, ist dies gleich
Da 2 zu 127 teilerfremd ist, ist J(2, 127) sicher nicht 0 und damit J(2, 127)2 = 1. Also fällt dieser Faktor weg und man erhält:
Für die 2 im Zähler gibt es eine geschlossene Formel, daher erhält man schließlich:
Algorithmus – Berechnung des Jacobi-Symbols (a/b)
1 | Eingabe | |||||||
2 | while do | |||||||
3 | Berechne | |||||||
4 | if then | |||||||
5 | ||||||||
6 | if then | |||||||
7 | ||||||||
8 | dividiere mit Rest durch wobei | |||||||
9 | ||||||||
10 | else | |||||||
11 | ||||||||
12 | Ausgabe |
© biancahoegel.de
Datum der letzten Änderung: Jena, den: 27.01. 2021