0 Pluspunkte 0 Minuspunkte
Wie kann ich in Wolfram Mathematica die primitiven Elemente (primitive roots) einer Primzahl errechnen?
von  

1 Antwort

0 Pluspunkte 0 Minuspunkte

Du kannst die primitiven Wurzeln einer gegebenen Primzahl mithilfe eines Algorithmus wie dem "Index Calculus Algorithmus" errechnen.

PrimitiveRoots[p_] := Module[{primitiveRoots = {}},
  Do[
   If[OrderMod[g, p] == p - 1,
    AppendTo[primitiveRoots, g]
    ],
   {g, 2, p - 1}
   ];
  primitiveRoots
  ]

p = 23; (* Die Primzahl *)
result = PrimitiveRoots[p] 

{5, 7, 10, 11, 14, 15, 17, 19, 20, 21}
von