Endliche Körper Berechnungen Vb.Net / C#

    • C#
    • .NET (FX) 4.5–4.8

      Endliche Körper Berechnungen Vb.Net / C#

      Hallo Community

      Habe mir eine Klasse für die Berechnung der Endlicher Körper erstellt.
      de.wikipedia.org/wiki/Endlicher_K%C3%B6rper

      Da es sich um einen Galoiskörper handelt, werden hier alle Berechnungen nur über die Polynome berechnet. Für die interne Berechnungen wird IMMER ein Irreduzibles Polynom benötigt.
      de.wikipedia.org/wiki/Irreduzibles_Polynom

      Der Generator (Dezimalwert) für den Galoisekörper muss immer eine Primzahl sein, ansonsten kann kein Körper erstellt werden.

      Wenn es sich um einen normalen Körper handelt, dann muss bei der Deklaration nur der Generator und der Value miteinbezogen werden . Der Exponent wie auch das Irreduzible Polynom werden zu 1.
      Dim gf7 = New FiniteField(7, 5)

      Handelt es sich um eine Körpererweiterung dann müssen bei der Deklaration alle Angaben (Generator, Exponent, Irreduzibles Polynom) angegeben werden. (Der Exponent ist in diesem Falle > 1 und das Irreduzible Polynom entsprechend dem Körpersystem)
      Dim gf256 = New FiniteField(2, 8, 285, -189715)

      Wie man erkennen kann, können auch negative Zahlen eingegeben werden, die sofort über eine Moduloberechnung auf den Endlosen Körper angepasst werden. Auch verschiedene Systeme z.B. GF8 und GF7 können berechnet werden. Der Value des Galoiskörper ist immer ein Dezimalwert, der nur zum Zeitpunkt der Berechnung an das System angepasst wird.

      Viel Spass beim Testen.

      Bitte lasst es mich wissen, sofern sich Fehler eingeschlichen haben. Ich werde es dann umgehend ändern. Danke.


      EDIT (vb-paradise.zip):
      - Subtraktion und Division geändert. Lösungen über Extended Euclidean.
      - Erweiterter Test hinzugefügt.

      EDIT (TheBigBrother.zip):
      - Eine Mischung Long-BigInteger-Variante hinzugefügt

      EDIT (FiniteFieldsBigInteger.zip):
      - Komplett neu Überarbeitet, mit vielen Optimierungen.
      - Eine BigInteger-Variante die nach oben offen ist.

      Freundliche Grüsse

      exc-jdbi
      Dateien

      Dieser Beitrag wurde bereits 4 mal editiert, zuletzt von „exc-jdbi“ () aus folgendem Grund: GF Subtraktion korrigiert. Danke für den Hinweis.