WOLFRAM

gives a primitive root of n.

gives the smallest primitive root of n greater than or equal to k.

Details

  • PrimitiveRoot[n] gives a generator for the multiplicative group of integers modulo n relatively prime to n.
  • PrimitiveRoot[n] returns unevaluated if n is not 2, 4, an odd prime power, or twice an odd prime power.
  • PrimitiveRoot[n,1] computes the smallest primitive root of n.

Examples

open allclose all

Basic Examples  (2)Summary of the most common use cases

A primitive root of 9 is 2:

Out[1]=1

The primitive root generates all integers modulo 9 that are relatively prime to 9:

Out[2]=2

A primitive root of 10:

Out[1]=1

The smallest primitive root of 10:

Out[2]=2

Scope  (3)Survey of the scope of standard use cases

Find the smallest primitive root:

Out[1]=1

Find the primitive root greater than a number:

Out[7]=7

PrimitiveRoot works on large integers:

Out[1]=1

PrimitiveRoot automatically threads over lists:

Out[1]=1

Properties & Relations  (2)Properties of the function, and connections to other functions

The multiplicative order of a primitive root modulo n is EulerPhi[n]:

Out[1]=1
Out[2]=2

For a prime p, there exist EulerPhi[p-1] primitive roots modulo p:

Out[1]=1
Out[2]=2

Possible Issues  (1)Common pitfalls and unexpected behavior

PrimitiveRoot is not defined for all integers:

Out[1]=1

Neat Examples  (1)Surprising or curious use cases

Elements relatively prime to 22 are enumerated by the primitive root:

Out[1]=1
Out[2]=2
Wolfram Research (2007), PrimitiveRoot, Wolfram Language function, https://reference.wolfram.com/language/ref/PrimitiveRoot.html (updated 2015).
Wolfram Research (2007), PrimitiveRoot, Wolfram Language function, https://reference.wolfram.com/language/ref/PrimitiveRoot.html (updated 2015).

Text

Wolfram Research (2007), PrimitiveRoot, Wolfram Language function, https://reference.wolfram.com/language/ref/PrimitiveRoot.html (updated 2015).

Wolfram Research (2007), PrimitiveRoot, Wolfram Language function, https://reference.wolfram.com/language/ref/PrimitiveRoot.html (updated 2015).

CMS

Wolfram Language. 2007. "PrimitiveRoot." Wolfram Language & System Documentation Center. Wolfram Research. Last Modified 2015. https://reference.wolfram.com/language/ref/PrimitiveRoot.html.

Wolfram Language. 2007. "PrimitiveRoot." Wolfram Language & System Documentation Center. Wolfram Research. Last Modified 2015. https://reference.wolfram.com/language/ref/PrimitiveRoot.html.

APA

Wolfram Language. (2007). PrimitiveRoot. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/PrimitiveRoot.html

Wolfram Language. (2007). PrimitiveRoot. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/PrimitiveRoot.html

BibTeX

@misc{reference.wolfram_2025_primitiveroot, author="Wolfram Research", title="{PrimitiveRoot}", year="2015", howpublished="\url{https://reference.wolfram.com/language/ref/PrimitiveRoot.html}", note=[Accessed: 05-June-2025 ]}

@misc{reference.wolfram_2025_primitiveroot, author="Wolfram Research", title="{PrimitiveRoot}", year="2015", howpublished="\url{https://reference.wolfram.com/language/ref/PrimitiveRoot.html}", note=[Accessed: 05-June-2025 ]}

BibLaTeX

@online{reference.wolfram_2025_primitiveroot, organization={Wolfram Research}, title={PrimitiveRoot}, year={2015}, url={https://reference.wolfram.com/language/ref/PrimitiveRoot.html}, note=[Accessed: 05-June-2025 ]}

@online{reference.wolfram_2025_primitiveroot, organization={Wolfram Research}, title={PrimitiveRoot}, year={2015}, url={https://reference.wolfram.com/language/ref/PrimitiveRoot.html}, note=[Accessed: 05-June-2025 ]}