Skip to main content
\( \newcommand{\lt}{ < } \newcommand{\gt}{ > } \newcommand{\amp}{ & } \)

Section10.3When Does a Primitive Root Exist?

Recall your experimentation in Subsection 10.1.3. You should have discovered that there is not always a primitive root.

This is also the case for \(n=8\) (Exercise 10.6.3).So, when do we have primitive roots?

Subsection10.3.1Primitive roots of powers of two

We'll start this investigation by proving that most powers of 2 do not have primitive roots. The following should give you an error.

Subsection10.3.2Two important lemmas

There follow two important lemmas 1  for working with primitive roots, whose proofs are valuable exercises.

Subsubsection10.3.2.1How the lemmas work

Before using them a lot, we should unpack these results a little bit. Here is a first taste.

It works; let's check this out.

Subsubsection10.3.2.2How the lemmas (don't) fail

To continue, let's pick a non-prime number we know something about to see how many numbers we have with a given order.

We saw in Proposition 10.3.2 that powers of 2 don't have cyclic groups of units, but they do have lots of elements with the next smallest possible order. So, for example, for \(n=32\) we can look at whether powers \(b\) coprime to that order of such an element are in fact also elements with the same order.

The interact confirms that it works; indeed, Lemma 10.3.4 should be true whether \(p\) is prime or not, though I won't ask you to prove it.

Lemma 10.3.5 also seems to be working; there are exactly \(\phi(8)=4\) powers here, which have order eight.

The problem in deciding if there are primitive roots, though, is that there might be some element of the same order as the ones above which is not actually one of them! This code finds them.

In some sense there are ‘extra’ elements with order \(8\) when \(n=32\). If you have eight elements of order eight, and obviously at least one element of order 1, in \(U_{32}\), then it is impossible to have the required eight elements of order sixteen one would need for there to be a primitive root modulo \(32\). (Why? Because \(8+1+8>16=|U_{32}|\).) In essence, the fact that this can't happen for a prime modulus is why primitive roots do exist in that case.