FiniteFieldElementPrimitiveQ

FiniteFieldElementPrimitiveQ[a]

tests whether a is a primitive element of its ambient field.

Details

  • a is a primitive element of a finite field if the minimal polynomial of a is primitive and has degree equal to the extension degree of over .
  • A finite field with q elements contains EulerPhi[q-1] primitive elements.

Examples

open allclose all

Basic Examples  (1)

Test whether a finite field element is a primitive element of its ambient field:

Scope  (3)

Test elements of a finite field in polynomial representation:

Test elements of a finite field in exponential representation:

Arguments that are not FiniteFieldElement objects yield False:

Applications  (1)

Implement a discrete logarithm function for a given base element:

The base element needs to be primitive:

Construct a field with exponential element representation using the minimal polynomial of b:

Construct a field isomorphism that maps b to the field generator of :

Define the discrete logarithm function:

Compute the discrete logarithm for a nonzero element of :

Properties & Relations  (4)

a is a primitive element of its ambient field if every nonzero element of the field is an integer power of a:

a is a primitive element of if it is a generator of and its minimal polynomial is primitive:

Use MinimalPolynomial to find the minimal polynomial of a:

This shows that a is a generator of :

Use PrimitivePolynomialQ to show that f is primitive:

The multiplicative order of a primitive element is one less than its ambient field size:

Use MultiplicativeOrder to compute the multiplicative order of a:

A finite field with q elements contains EulerPhi[q-1] primitive elements:

Wolfram Research (2023), FiniteFieldElementPrimitiveQ, Wolfram Language function, https://reference.wolfram.com/language/ref/FiniteFieldElementPrimitiveQ.html.

Text

Wolfram Research (2023), FiniteFieldElementPrimitiveQ, Wolfram Language function, https://reference.wolfram.com/language/ref/FiniteFieldElementPrimitiveQ.html.

CMS

Wolfram Language. 2023. "FiniteFieldElementPrimitiveQ." Wolfram Language & System Documentation Center. Wolfram Research. https://reference.wolfram.com/language/ref/FiniteFieldElementPrimitiveQ.html.

APA

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

BibTeX

@misc{reference.wolfram_2023_finitefieldelementprimitiveq, author="Wolfram Research", title="{FiniteFieldElementPrimitiveQ}", year="2023", howpublished="\url{https://reference.wolfram.com/language/ref/FiniteFieldElementPrimitiveQ.html}", note=[Accessed: 27-February-2024 ]}

BibLaTeX

@online{reference.wolfram_2023_finitefieldelementprimitiveq, organization={Wolfram Research}, title={FiniteFieldElementPrimitiveQ}, year={2023}, url={https://reference.wolfram.com/language/ref/FiniteFieldElementPrimitiveQ.html}, note=[Accessed: 27-February-2024 ]}