Root of unity modulo n

From testwiki
Jump to navigation Jump to search

Template:Cleanup In number theory, a kth root of unity modulo n for positive integers k, n ≥ 2, is a root of unity in the ring of integers modulo n; that is, a solution x to the equation (or congruence) xk1(modn). If k is the smallest such exponent for x, then x is called a primitive kth root of unity modulo n.[1] See modular arithmetic for notation and terminology.

The roots of unity modulo Template:Mvar are exactly the integers that are coprime with Template:Mvar. In fact, these integers are roots of unity modulo Template:Mvar by Euler's theorem, and the other integers cannot be roots of unity modulo Template:Mvar, because they are zero divisors modulo Template:Mvar.

A [[primitive root modulo n|primitive root modulo Template:Mvar]], is a generator of the group of units of the ring of integers modulo Template:Mvar. There exist primitive roots modulo Template:Mvar if and only if λ(n)=φ(n), where λ and φ are respectively the Carmichael function and Euler's totient function.

A root of unity modulo Template:Mvar is a primitive Template:Mvarth root of unity modulo Template:Mvar for some divisor Template:Mvar of λ(n), and, conversely, there are primitive Template:Mvarth roots of unity modulo Template:Mvar if and only if Template:Mvar is a divisor of λ(n).

Roots of unity

Properties

  • If x is a kth root of unity modulo n, then x is a unit (invertible) whose inverse is xk1. That is, x and n are coprime.
  • If x is a unit, then it is a (primitive) kth root of unity modulo n, where k is the multiplicative order of x modulo n.
  • If x is a kth root of unity and x1 is not a zero divisor, then j=0k1xj0(modn), because
(x1)j=0k1xjxk10(modn).

Number of kth roots

For the lack of a widely accepted symbol, we denote the number of kth roots of unity modulo n by f(n,k). It satisfies a number of properties:

Examples

Let n=7 and k=3. In this case, there are three cube roots of unity (1, 2, and 4). When n=11 however, there is only one cube root of unity, the unit 1 itself. This behavior is quite different from the field of complex numbers where every nonzero number has k kth roots.

Primitive roots of unity

Properties

  • The maximum possible radix exponent for primitive roots modulo n is λ(n), where λ denotes the Carmichael function.
  • A radix exponent for a primitive root of unity is a divisor of λ(n).
  • Every divisor k of λ(n) yields a primitive kth root of unity. One can obtain such a root by choosing a λ(n)th primitive root of unity (that must exist by definition of λ), named x and compute the power xλ(n)/k.
  • If x is a primitive kth root of unity and also a (not necessarily primitive) th root of unity, then k is a divisor of ℓ. This is true, because Bézout's identity yields an integer linear combination of k and equal to gcd(k,). Since k is minimal, it must be k=gcd(k,) and gcd(k,) is a divisor of .

Number of primitive kth roots

For the lack of a widely accepted symbol, we denote the number of primitive kth roots of unity modulo n by g(n,k). It satisfies the following properties:

  • g(n,k)={>0if kλ(n),0otherwise.
  • Consequently the function kg(n,k) has d(λ(n)) values different from zero, where d computes the number of divisors.
  • g(n,1)=1
  • g(4,2)=1
  • g(2n,2)=3 for n3, since -1 is always a square root of 1.
  • g(2n,2k)=2k for k[2,n1)
  • g(n,2)=1 for n3 and n in Template:OEIS
  • kg(n,k)=f(n,λ(n))=φ(n) with φ being Euler's totient function
  • The connection between f and g can be written in an elegant way using a Dirichlet convolution:
f=𝟏*g, i.e. f(n,k)=dkg(n,d)
One can compute values of g recursively from f using this formula, which is equivalent to the Möbius inversion formula.

Testing whether x is a primitive kth root of unity modulo n

By fast exponentiation, one can check that xk1(modn). If this is true, x is a kth root of unity modulo n but not necessarily primitive. If it is not a primitive root, then there would be some divisor ℓ of k, with x1(modn). In order to exclude this possibility, one has only to check for a few ℓ's equal k divided by a prime.

That is, x is a primitive kth root of unity modulo n if and only if xk1(modn) and xk/p≢1(modn) for every prime divisor p of n.

For example, if n=17, every positive integer less than 17 is a 16th root of unity modulo 17, and the integers that are primitive 16th roots of unity modulo 17 are exactly those such that x16/2≢1(mod17).

Finding a primitive kth root of unity modulo n

Among the primitive kth roots of unity, the primitive λ(n)th roots are most frequent. It is thus recommended to try some integers for being a primitive λ(n)th root, what will succeed quickly. For a primitive λ(n)th root x, the number xλ(n)/k is a primitive kth root of unity. If k does not divide λ(n), then there will be no kth roots of unity, at all.

Finding multiple primitive kth roots modulo n

Once a primitive kth root of unity x is obtained, every power x is a kth root of unity, but not necessarily a primitive one. The power x is a primitive kth root of unity if and only if k and are coprime. The proof is as follows: If x is not primitive, then there exists a divisor m of k with (x)m1(modn), and since k and are coprime, there exists integers a,b such that ak+b=1. This yields

xm(xm)ak+b(xk)ma((x)m)b1(modn),

which means that x is not a primitive kth root of unity because there is the smaller exponent m.

That is, by exponentiating x one can obtain φ(k) different primitive kth roots of unity, but these may not be all such roots. However, finding all of them is not so easy.

Finding an n with a primitive kth root of unity modulo n

In what integer residue class rings does a primitive kth root of unity exist? It can be used to compute a discrete Fourier transform (more precisely a number theoretic transform) of a k-dimensional integer vector. In order to perform the inverse transform, divide by k; that is, k is also a unit modulo n.

A simple way to find such an n is to check for primitive kth roots with respect to the moduli in the arithmetic progression k+1,2k+1,3k+1, All of these moduli are coprime to k and thus k is a unit. According to Dirichlet's theorem on arithmetic progressions there are infinitely many primes in the progression, and for a prime p, it holds λ(p)=p1. Thus if mk+1 is prime, then λ(mk+1)=mk, and thus there are primitive kth roots of unity. But the test for primes is too strong, and there may be other appropriate moduli.

Finding an n with multiple primitive roots of unity modulo n

To find a modulus n such that there are primitive k1th,k2th,,kmth roots of unity modulo n, the following theorem reduces the problem to a simpler one:

For given n there are primitive k1th,,kmth roots of unity modulo n if and only if there is a primitive lcm(k1,,km)th root of unity modulo n.
Proof

Backward direction: If there is a primitive lcm(k1,,km)th root of unity modulo n called x, then xlcm(k1,,km)/kl is a klth root of unity modulo n.

Forward direction: If there are primitive k1th,,kmth roots of unity modulo n, then all exponents k1,,km are divisors of λ(n). This implies lcm(k1,,km)λ(n) and this in turn means there is a primitive lcm(k1,,km)th root of unity modulo n.

References

Template:Reflist