Skip to main content
Try out the RareSkills ZK AI Tutor!
The RareSkills Book of Zero Knowledge

Roots of unity ω have the property ω^(k/2) ≡ −1

Last updated on Dec 31, 2025

In previous articles, we established that in the finite field 𝔽q, if k divides q−1:

  • There exists a unique subgroup of order k - the k-th roots of unity.
  • A generator ω of this subgroup is a primitive k-th root of unity and is given by ω=gq−1k, where g is a generator of 𝔽q∗.
  • k is the smallest positive integer for which ωk≡1.

In this article, we explore a key property of a primitive root of unity ω in 𝔽q: As long as k is even, ωk2 is congruent to −1.

Motivation

For some applications, we want to find relationships among different k-th roots of unity for some k. More precisely, we want to determine which roots of unity are additive inverses of others.

In a field 𝔽q, if k divides q−1, the k-th roots of unity can be written as

{1,ω,ω2,...,ωk−1}

where ω is a primitive k-th root of unity.

One might ask: can we easily find −ω or −ω2? Yes, we can. Let’s take the following fact, which we will prove shortly: If k is even, then ωk2≡−1.

Let us use this fact. Since −ω is the same as (−1)ω, knowing that −1≡ωk2, we have that

−ω=(−1)ω=ωk2ω=ωk2+1

The same can be used to find −ω2. We have that

−ω2=(−1)ω2=ωk2ω2=ωk2+2

This can be generalized by any i as

−ωi=ωk2+i

This establishes a relationship between the k-th roots of unity.

As an example, let us consider the 8th roots of unity,

{1,ω,ω2,ω3,ω4,ω5,ω6,ω7}

Using the relationship obtained, the 8th roots of unity can be written as

{1,ω,ω2,ω3,−1,−ω,−ω2,−ω3}

For this to hold, we just need to show that ωk2≡−1 for any k. Let’s proceed to do that now.

What is the meaning of −1 in a finite field 𝔽q

In 𝔽q, the notation −a denotes the additive inverse of a, satisfying a+(−a)=0.

For example, in 𝔽7, since 6+1=7≡0(mod7), we say 6 is the additive inverse of 1, and write

−1≡6(mod7).

For any finite field 𝔽q, since (q−1)+1=q≡0(modq), the additive inverse of 1 is always q−1:

−1≡q−1(modq).

Let’s now look at examples of ωk2.

Example of ωk2 among the k-th roots of unity in 𝔽17

In the following examples, we use the generator g=3 for the multiplicative group 𝔽17∗. Since 16 is the additive inverse of 1 in 𝔽17, we have:

−1≡16(mod17)

Case k=4

A primitive 4th root of unity is ω=gq−1k=g164=34≡13(mod17).

Here, ωk2=ω42=ω2=132≡16≡−1.

Thus, we conclude that ωk2≡−1 for k=4.

Case k=8

Now ω=gq−1k=g168=32≡9(mod17) is a primitive 8th root of unity.

For k=8, k2=4, and we have ωk2=94≡16≡−1.

Example of ωk2 among the k-th roots of unity in 𝔽97

In the finite field 𝔽97, we have q−1=97−1=96. The additive inverse of 1 is:

−1≡96(mod97)

The element g=5 is a generator of the multiplicative group 𝔽97∗={1,2,…,96}. The galois library provides a convenient way to find this generator using the primitive_element property, as shown below:

import galois
GF = galois.GF(97) # Define the field
GF.primitive_element # Returns GF(5, order=97)

For k=32, we obtain ω as

ω=gq−1k=g9632=53=125≡28(mod97).

Letting k2=16, we calculate ωk2=2816 with the following Python code:

result = 28**16 % 97
print(f"28^16 % 97 = {result}")  # Output: 96

Thus:

ω16=2816≡96≡−1(mod97).

We conclude that, for k=32, ωk2≡−1 in 𝔽97.

Python code

The following Python code checks if ωk2≡−1 for a field 𝔽q. It is used to test this property in 𝔽17 for k=8 and ω=9. You can test it for k=32 with ω=28 in 𝔽97 or another valid combination of your choice.

import galois

def check_omega_half_is_minus_one(q, omega, k):
	GF = galois.GF(q)
	if k % 2 != 0:
		raise ValueError("k must be even")

	omega_half = GF(omega) ** (k // 2)

	return omega_half == GF(q-1)

# Example usage:
q = 17
k = 8
omega = 9
result = check_omega_half_is_minus_one(q, omega, k)
print(f"For ω={omega} and k={k}: ω^(k/2) == -1 is {result} in F_{q}")

The mathematical proof

Let g be a generator of 𝔽q∗. This equivalently means that g is a primitive (q−1)-th root of unity.

Let ω=gq−1k be a primitive k-th root of unity in the finite field 𝔽q. We will prove that ωk2≡−1.

The idea of the proof is to show that ωk2 can only be 1 or −1. We will exclude the possibility that ωk2 is 1, leaving −1 as the only option.

Proof:

Let’s take the square of ωk2. It is given by

(ωk2)2=ωk≡1

The last equality follows from the fact that ω is a primitive k-th root of unity.

Since the square of ωk2 is 1, that is, (ωk2)2≡1, then ωk2 can only be 1 or −1, because only 12 or (−1)2 is equal to 1.

Let us show that it cannot be 1.

Replace ω=gq−1k into ωk2. This gives us that

ωk2=(gq−1k)k2=gq−12

Since g is a primitive (q−1)-th root of unity, the smallest positive integer r for which gr≡1 is r=q−1.

In other words, there is no integer r smaller than q−1 such that gr≡1. Since q−12<q−1, gq−12 cannot be 1. Therefore, the only possibility is that ωk2 is equal to −1.

Summary

  • If ω is a primitive k-th root of unity in a finite field 𝔽q, then ωk2≡−1 for even k.
  • Using this property, we have that −ωi=ωk2+i or stated equivalently, ωi is the additive inverse of ωk/2+i.

The following chapter will introduce a visualization that makes these points easier to remember.