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 und .

Dabei muss im Gegensatz zum Legendre-Symbol keine Primzahl sein, allerdings muss es eine ungerade natürliche Zahl sein. Für sind beim Jacobi-Symbol wie beim Legendre-Symbol alle ganzen Zahlen zugelassen.

n ist eine Primzahl

Bearbeiten

Falls   eine Primzahl ist, ist das Jacobi-Symbol nach Definition gleich dem Legendre-Symbol:

 

n ist keine Primzahl

Bearbeiten

Ist die Primfaktorzerlegung von  , so definiert man

 

Für   wird üblicherweise   gesetzt (leeres Produkt).

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. Beispielsweise erhält man für vier verschiedene Reste a modulo 15 für

 

den Wert 1, jedoch sind nur zwei davon Quadrate modulo 15 (man erhält für 1, 2, 4, 8 den Wert 1, Quadrate sind nur 1 und 4). Den Wert 0 erhält man siebenmal (0, 3, 5, 6, 9, 10, 12), davon sind aber auch nur vier Quadrate (0, 6, 9, 10). Übrig bleiben die vier Werte, für die man -1 erhält (7, 11, 13, 14), hier erhält man, wie bereits angesprochen, niemals ein Quadrat.

Allgemeine Definition

Bearbeiten

Allgemein ist das Jacobi-Symbol   ü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

Bearbeiten

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

Bearbeiten

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   in  , 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   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   für alle   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   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)

Bearbeiten
1 Eingabe  
2  
3 if   then  
4 while   and   do
5 Berechne  
6 if   then  
7 else
8 Berechne  
9 if   and   then  
10 if   then  
11 else
12 if   then  
13  
14  
15 Ausgabe  

Literatur

Bearbeiten