Primitivwurzel in Mathematica

Neue Frage »

mexoticom Auf diesen Beitrag antworten »
Primitivwurzel in Mathematica
Hallo Freunde,

für einen Vortrag benötige ich eine Funktion in Mathematica,
die mir eine möglichst große Primitivwurzel einer Primzahl ausgibt.

Mit der Funktion primitiveroot spuckt mir Mathematica lediglich
die erste Primitivwurzel aus.

Bei Wolfram und Google hab ich mich fast totgesucht.

Kann mir da jemand weiterhelfen???

Danke im Voraus
Raumpfleger Auf diesen Beitrag antworten »
RE: Primitivwurzel in Mathematica
PrimitiveRoot[n] findet die kleinste primitive Wurzel von n > 1.

Alle primitiven Wurzeln kann man bei nicht zu grosser Primzahl suchen lassen

In[20]:= Clear[ liPR]
liPR = Select[Range[Prime[127]],
MultiplicativeOrder[#, Prime[127]] == EulerPhi[Prime[127]] &]

Out[21]= {2, 6, 10, 14, 17, 22, 23, 24, 31, 32, 37, 38, 39, 40, 41, \
51, 52, 54, 56, 61, 65, 69, 71, 72, 79, 85, 86, 88, 89, 90, 93, 94, \
97, 111, 115, 117, 118, 119, 120, 126, 128, 139, 143, 150, 152, 155, \
159, 161, 162, 164, 168, 173, 174, 183, 185, 195, 198, 200, 204, 208, \
210, 212, 213, 217, 219, 229, 232, 233, 239, 241, 247, 249, 250, 253, \
254, 259, 264, 265, 267, 269, 270, 272, 273, 276, 280, 281, 282, 288, \
290, 292, 294, 298, 302, 303, 305, 307, 311, 316, 317, 321, 323, 325, \
326, 327, 330, 331, 332, 337, 338, 340, 341, 342, 344, 347, 350, 354, \
355, 359, 362, 365, 367, 368, 369, 371, 372, 377, 378, 379, 382, 383, \
384, 386, 388, 392, 393, 398, 402, 404, 406, 407, 411, 415, 417, 419, \
421, 427, 428, 429, 433, 436, 437, 439, 440, 442, 444, 445, 450, 455, \
456, 459, 460, 462, 468, 470, 476, 477, 480, 490, 492, 496, 497, 499, \
501, 505, 509, 511, 514, 524, 526, 535, 536, 541, 545, 547, 548, 550, \
554, 557, 559, 566, 570, 581, 583, 589, 590, 591, 592, 594, 598, 612, \
615, 616, 619, 620, 621, 623, 624, 630, 637, 638, 640, 644, 648, 653, \
655, 657, 658, 668, 669, 670, 671, 672, 677, 678, 685, 686, 687, 692, \
695, 699, 703, 707}

die Anzahl der nichtkongruenten primitiven Wurzeln einer Primzahl p soll sein, ist die "Totient" Funktion, in Mma EulerPhi:

In[22]:= Length[liPR] == EulerPhi[Prime[127] - 1]
Out[22]= True

und die Probe kann man direkt machen:

In[31]:= Union[MultiplicativeOrder[Mod[#, Prime[127]], Prime[127]]& /@ liPR]
Out[31]= {708}


In[32]:= 708 == Prime[127] - 1
Out[32]= True

weil, wenn g eine primitive Wurzel der Primzahl p ist, dann hat g(mod p) die modulo order (was ist der deutsche Begriff an der Stelle?) p - 1, Prime[127] ist die 127.-te Primzahl.
Neue Frage »
Antworten »



Verwandte Themen

Die Beliebtesten »
Die Größten »
Die Neuesten »