Primitives Polynom

Aus testwiki
Version vom 5. März 2025, 08:24 Uhr von imported>OS (Literatur: Link)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Zur Navigation springen Zur Suche springen

Vorlage:Dieser Artikel In der Theorie mathematischer Körper ist ein primitives Polynom das Minimalpolynom einer primitiven (pm1)-ten Einheitswurzel einer Körpererweiterung GF(pm) über GF(p) endlicher Körper. Anders ausgedrückt ist ein Polynom F(X) mit den Koeffizienten aus GF(p)=/p ein primitives Polynom, wenn es eine Nullstelle α in GF(pm) hat, so dass die Menge {0,1,α,α2,α3,,αpm2} der ganze Körper GF(pm) ist und außerdem F(X) das Polynom mit dem kleinsten Grad mit α 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 GF(p) für eine Primzahl p ist ein primitives Polynom, wenn pm1 die kleinste ganze Zahl n ist, für die F(X) ein Teiler von Xn1 ist.

Über dem Körper GF(pm) gibt es genau φ(pm1)m primitive Polynome des Grades m, wobei φ die Eulersche φ-Funktion ist.

Die Nullstellen eines primitiven Polynoms haben alle die Ordnung pm1.

Anwendungen

Darstellung von Körper-Elementen

Primitive Polynome werden für die Darstellung von Elementen eines endlichen Körpers verwendet. Wenn αGF(pm) eine Nullstelle eines primitiven Polynoms F(X) ist, dann hat α die Ordnung pm1, das heißt alle Elemente von GF(pm) können als aufeinanderfolgende Potenzen von α dargestellt werden:

GF(pm)={0,1,α,α2,,αpm2}.

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 GF(p)[X]/(F(X))GF(pm).

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

Sei z. B. ein primitives Polynom X10+X3+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 2101=1023 Pseudo-Zufalls-Bits zu erzeugen. Für eine Maximum Length Sequence sind ganz bestimmte Ausgänge des Schieberegisters erforderlich.[1]

Allgemein gilt für ein primitives Polynom des Grades m, dass dieser Vorgang 2m1 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 2r1 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. X6972593+X3037958+1. Damit können Pseudozufallsgeneratoren mit einer riesigen Periode von 269725931, oder ca. 102098959 erzeugt werden.[2]

Literatur

  • Vorlage:Literatur
  • Peterson, W.W., Weldon, E.J., "Error correcting codes", Cambridge, The MIT – Press, 1972
  • Anderson, G.C., Finnie, B. W., "Pseudo-random and random test signals", HP Journal 19, Nr. 1,2 1967

Einzelnachweise

  1. Tietze/Schenk, "Halbleiter-Schaltungstechnik", 3. Auflage 1976, S.590 ff, in späteren Auflagen nicht mehr beschrieben.
  2. Search for Primitive Trinomials (mod 2).