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:

\left({\frac  an}\right) oder auch (a/n)

Um zwischen dem Legendre-Symbol und dem Jacobi-Symbol zu unterscheiden, schreibt man auch L(a,p) und J(a,n).

Dabei muss n im Gegensatz zum Legendre-Symbol keine Primzahl sein, allerdings muss es eine ungerade Zahl größer als 1 sein. Für a sind beim Jacobi-Symbol wie beim Legendre-Symbol alle ganzen Zahlen zugelassen.

n ist eine Primzahl

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

\left({\frac  {a}{n}}\right)={\begin{cases}1&{\mbox{wenn }}a{\mbox{ ein quadratischer Rest modulo }}n{\mbox{ ist}}\\-1&{\mbox{wenn }}a{\mbox{ kein quadratischer Rest modulo }}n{\mbox{ ist}}\\0&{\mbox{wenn }}n{\mbox{ ein Teiler von }}a{\mbox{ ist (also }}a{\mbox{ kongruent }}0{\mbox{ modulo }}n{\mbox{)}}\end{cases}}

n ist keine Primzahl

Ist die Primfaktorzerlegung von n=p_{1}^{{\nu _{1}}}\cdot p_{2}^{{\nu _{2}}}\cdots p_{k}^{{\nu _{k}}}, so definiert man

\left({\frac  {a}{n}}\right)=\left({\frac  {a}{p_{1}}}\right)^{{\nu _{1}}}\cdots \left({\frac  {a}{p_{k}}}\right)^{{\nu _{k}}},

Beispiel:

\left({\frac  {11}{91}}\right)=\left({\frac  {11}{7}}\right)\cdot \left({\frac  {11}{13}}\right)=\left({\frac  {4}{7}}\right)\cdot \left({\frac  {11}{13}}\right)=1\cdot (-1)=-1

Achtung: Falls n keine Primzahl ist, gibt das Jacobi-Symbol nicht an, ob a ein quadratischer Rest modulo n ist (wie beim Legendre-Symbol). Eine notwendige Bedingung dafür, dass a ein quadratischer Rest modulo n ist, ist allerdings, dass das Jacobi-Symbol ungleich -1 ist.

Allgemeine Definition

Allgemein ist das Jacobi-Symbol J(a, n) über einen Charakter \chi_n der Gruppe \mathbb{Z}/n\mathbb{Z} definiert:

\left({\frac  {a}{n}}\right):={\begin{cases}\chi _{n}(a+n{\mathbb  {Z}})&{\mbox{falls ggT}}(a,n)=1\\0&{\mbox{sonst}}\end{cases}}

Dabei ist \chi _{n}(a+n{\mathbb  {Z}}) die folgende Funktion:

\chi _{n}(a+n{\mathbb  {Z}}):=\prod _{{x\in H}}\varepsilon _{x}(a)

H ist dabei ein beliebiges Halbsystem modulo n, da der Wert von \chi_n nicht von der Wahl des Halbsystems abhängt. \varepsilon _{x}(a) bezeichnet den Korrekturfaktor von a und x bezüglich H:

\varepsilon _{x}(a):={\begin{cases}1&{\mbox{falls }}x{\mbox{ und }}a\cdot x{\mbox{ im gleichen Halbsystem liegen}}\\-1&{\mbox{sonst}}\end{cases}}

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:

\left({\frac  {a}{n}}\right)=\prod _{{k=1}}^{{{\frac  12}(n-1)}}\prod _{{h=1}}^{{{\frac  12}(a-1)}}\operatorname{sgn} \left(\left({\frac  kn}-{\frac  ha}\right)\left({\frac  kn}+{\frac  ha}-{\frac  12}\right)\right)

Zur effektiven Berechnung ist diese Formel jedoch wenig geeignet, da sie für größere a,n 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 a,n 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 m,n größer 1 gilt:

\left({\frac  mn}\right)=(-1)^{{{\frac  {(m-1)}{2}}{\frac  {(n-1)}{2}}}}\left({\frac  nm}\right)

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 a+n{\mathbb  {Z}}; daher spielt es keine Rolle, welchen Repräsentanten man wählt.

Als Beispiel soll J(127, 703) bestimmt werden:

\left({\frac  {127}{703}}\right)=(-1)^{{{\frac  {126}{2}}{\frac  {702}{2}}}}\left({\frac  {703}{127}}\right)=-\left({\frac  {703}{127}}\right)

Da man den Repräsentanten im Zähler frei wählen darf, ist dies gleich

-\left({\frac  {68}{127}}\right)=-\left({\frac  {2}{127}}\right)^{2}\cdot \left({\frac  {17}{127}}\right)

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:

-\left({\frac  {17}{127}}\right)=-(-1)^{{{\frac  {126}{2}}{\frac  {16}{2}}}}\left({\frac  {127}{17}}\right)=-\left({\frac  {127}{17}}\right)=-\left({\frac  {8}{17}}\right)=-\left({\frac  {2}{17}}\right)^{3}

Für die 2 im Zähler gibt es eine geschlossene Formel, daher erhält man schließlich:

\left({\frac  {127}{703}}\right)=-\left((-1)^{{{\frac  {17^{2}-1}8}}}\right)^{3}=-1

Algorithmus – Berechnung des Jacobi-Symbols (a/b)

1 Eingabe {\displaystyle x\gets a,\,y\gets b{\text{ und }}J\gets 1}
2 while {\displaystyle x\neq 1} do
3   Berechne {\displaystyle k,\,x'\in \mathbb {N} _{0},{\text{ wobei }}x=2^{k}x'{\text{ gilt und }}x'{\text{ungerade ist.}}}
4   if {\displaystyle k\equiv 1({\text{ mod }}2)} then
5     {\displaystyle J\gets (-1)^{{\frac {x'-1}{2}}{\frac {y-1}{2}}}J}
6   if {\displaystyle x'\neq 1} then
7     {\displaystyle J\gets (-1)^{{\frac {x'-1}{2}}{\frac {y-1}{2}}}J}
8     dividiere y mit Rest r durch x' {\displaystyle \implies y=qx'+r} wobei {\displaystyle 0\leq r<x'}
9     {\displaystyle y\gets x'{\text{ und }}x\gets r}
10   else
11     {\displaystyle x\gets 1}
12 Ausgabe J
Trenner
Basierend auf einem Artikel in: Wikipedia.de
Seitenende
Seite zurück
©  biancahoegel.de
Datum der letzten Änderung:  Jena, den: 27.01. 2021