Primitives Polynom

aus Wikipedia, der freien Enzyklopädie
Wechseln zu: Navigation, Suche
Dieser Artikel behandelt den Begriff des primitiven Polynoms in der Körpertheorie. Für den gleichnamigen Begriff aus der Theorie faktorieller Ringe siehe Inhalt (Polynom).

In der Theorie mathematischer Körper ist ein primitives Polynom das Minimalpolynom eines primitiven Elements 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) = \Z/p\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[Bearbeiten | Quelltext bearbeiten]

Da alle minimalen Polynome 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[Bearbeiten | Quelltext bearbeiten]

Darstellung von Körper-Elementen[Bearbeiten | Quelltext bearbeiten]

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[Bearbeiten | Quelltext bearbeiten]

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 2lrsr length - 1) mit primitiven Polynomen in Beziehung.

Sei z. B. ein primitives Polynom X^{10} + X^3 + 1 gegeben. Man beginnt mit einer 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.

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[Bearbeiten | Quelltext bearbeiten]

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 Pseuodzufallsgeneratoren mit einer riesigen Periode von 2^{6972593}-1, oder ca. 10^{2098959} erzeugt werden.[1]

Literatur[Bearbeiten | Quelltext bearbeiten]

  • Elwyn R. Berlekamp: Algebraic Coding Theory, Revised Edition. 2. Aufl. Aegean Park Press, 1984, ISBN 0-89412-063-8.

Weblinks[Bearbeiten | Quelltext bearbeiten]

Einzelnachweise[Bearbeiten | Quelltext bearbeiten]

  1. Search for Primitive Trinomials (mod 2).