Primitives Polynom
# Primitives Polynom

In der Theorie mathematischer Körper ist ein primitives Polynom das Minimalpolynom einer primitiven $(p^{m}-1)$-ten Einheitswurzel einer Körpererweiterung $\mathrm {GF} (p^{m})$ über $\mathrm {GF} (p)$ endlicher Körper. Anders ausgedrückt ist ein Polynom $F(X)$ mit den Koeffizienten aus $\mathrm {GF} (p)=\mathbb {Z} /p\mathbb {Z}$ ein primitives Polynom, wenn es eine Nullstelle $\alpha$ in $\mathrm {GF} (p^{m})$ hat, so dass die Menge $\{0,1,\alpha ,\alpha ^{2},\alpha ^{3},\dots ,\alpha ^{p^{m}-2}\}$ der ganze Körper $\mathrm {GF} (p^{m})$ ist und außerdem $F(X)$ das Polynom mit dem kleinsten Grad mit $\alpha$ als Nullstelle ist.

## Eigenschaften

Da alle Minimalpolynome irreduzibel sind, sind primitive Polynome ebenso irreduzibel.

Ein primitives Polynom muss einen von Null verschiedenen konstanten Term haben, da es andernfalls durch $X$ teilbar wäre. Über einem Körper aus zwei Elementen ist $X+1$ ein primitives Polynom und alle anderen primitiven Polynome haben eine ungerade Anzahl von Termen, da jedes Polynom modulo 2 mit einer geraden Anzahl von Termen durch $x+1$ teilbar ist.

Ein irreduzibles Polynom $F(X)$ des Grades $m$ über $\mathrm {GF} (p)$ für eine Primzahl $p$ ist ein primitives Polynom, wenn $p^{m}-1$ die kleinste ganze Zahl $n$ ist, für die $F(X)$ ein Teiler von $X^{n}-1$ ist.

Über dem Körper $\mathrm {GF} (p^{m})$ gibt es genau ${\tfrac {\varphi (p^{m}-1)}{m}}$ primitive Polynome des Grades $m$, wobei $\varphi$ die Eulersche φ-Funktion ist.

Die Nullstellen eines primitiven Polynoms haben alle die Ordnung $p^{m}-1$.

## Anwendungen

### Darstellung von Körper-Elementen

Primitive Polynome werden für die Darstellung von Elementen eines endlichen Körpers verwendet. Wenn $\alpha \in \mathrm {GF} (p^{m})$ eine Nullstelle eines primitiven Polynoms $F(X)$ ist, dann hat $\alpha$ die Ordnung $p^{m}-1$, das heißt alle Elemente von $\mathrm {GF} (p^{m})$ können als aufeinanderfolgende Potenzen von $\alpha$ dargestellt werden:

    $\mathrm {GF} (p^{m})=\{0,1,\alpha ,\alpha ^{2},\ldots ,\alpha ^{p^{m}-2}\}.$

Wenn diese Elemente modulo $F(X)$ reduziert werden, dann bildet die Darstellung als polynomielle Basis aller dieser Elemente einen Körper.

Da die multiplikative Gruppe eines endlichen Körpers immer eine zyklische Gruppe ist, ist für ein primitives Polynom $F(X)$ das Element $X$ ein Generator der multiplikativen Gruppe in $\mathrm {GF} (p)[X]/(F(X))\cong \mathrm {GF} (p^{m})$.

### Erzeugung von Pseudo-Zufallszahlen

Primitive Polynome definieren eine wiederkehrende Relation, die verwendet werden kann um Bits von Pseudozufallszahlen zu erzeugen. Tatsächlich steht jedes linear rückgekoppelte Schieberegister mit maximalem Zyklus (dieser ist $2^{lrsrlength}$ - 1) mit primitiven Polynomen in Beziehung.

Sei z. B. ein primitives Polynom $X^{10}+X^{3}+1$ gegeben. Man beginnt mit einem benutzerdefinierten Startwert (engl. seed, Saatkorn, dieser muss nicht unbedingt zufällig gewählt werden). Man nimmt dann das 10-te, 3-te und 0-te Bit, gezählt vom niederwertigsten Bit, verknüpft diese mit XOR und erhält ein neues Bit. Die Saatzahl wird dann nach links verschoben und das neue Bit wird zum niederwertigsten Bit der Saatzahl. Dies kann wiederholt werden um $2^{10}-1=1023$ Pseudo-Zufalls-Bits zu erzeugen. Für eine Maximum Length Sequence sind ganz bestimmte Ausgänge des Schieberegisters erforderlich.

Allgemein gilt für ein primitives Polynom des Grades $m$, dass dieser Vorgang $2^{m}-1$ Pseudo-Zufallszahlen erzeugt, bevor die Sequenz sich wiederholt.

### Primitive Trinome

Primitive Trinome sind primitive Polynome mit nur drei von Null verschiedenen Termen. Die Trinome sind sehr einfach und werden für sehr effiziente Zufallszahlengeneratoren verwendet. Es gibt verschiedene Methoden, um primitive Trinome zu ermitteln und zu prüfen. Ein einfacher Test funktioniert wie folgt: Für jedes $r$, für das $2^{r}-1$ eine Mersenne-Primzahl ist, ist ein Trinom des Grades $r$ primitiv, genau dann wenn es irreduzibel ist. Durch kürzlich von Richard P. Brent entwickelte Algorithmen ist es möglich geworden, primitive Trinome von hohem Grad zu finden, wie z. B. $X^{6972593}+X^{3037958}+1$. Damit können Pseudozufallsgeneratoren mit einer riesigen Periode von $2^{6972593}-1$, oder ca. $10^{2098959}$ erzeugt werden.

