Is there a simple way to determine if an element is a primitive root modulo n?

  • Thread starter Thread starter sid_galt
  • Start date Start date
  • Tags Tags
    Primitive Root
Click For Summary
Determining if an element is a primitive root modulo a prime P can be done by checking if it satisfies specific conditions related to the factorization of P-1. The method involves verifying that g raised to the power of (P-1)/p_i is congruent to 1 modulo P for each prime factor p_i of P-1. However, the primary challenge lies in the factorization of P-1, which is not straightforward and lacks efficient algorithms for large numbers. While some discussions suggest polynomial-time checks if P-1 is known, there are no universally easy solutions in number theory. The consensus is that finding primitive roots remains a complex problem, as noted by historical references to Gauss and Euler.
sid_galt
Messages
502
Reaction score
1
Is there an easy (by which I mean an algorithm polynomial in size of input) way to know whether in the multiplicative group of integers mod P (P is a prime), whether an element is a generator or not?
 
Physics news on Phys.org
Hi, there is one method but it required knowing expansion of the number P-1 on the simple factors.

So, if P-1 = p_{1}^{a_1} \times \cdots \times p_{n}^{a_n} where each p_i is prime and for each i=1...n : \frac{g^{P-1}}{p_i} \equiv 1 (mod P), than g - is primitive root (generator) by modulo P.

Unfortunately, exponential factorization algorithms not known yet.
 
Last edited:
ialbekht: Hi, there is one method

THAT! You are submitting as an EASY method? Anyway you got the exponent wrong. Should be:

i=1...n : g^\frac{P-1}{p_i} \equiv 1 (mod P) Also, to be a primitative root, it would NOT--by definition--be congruent to 1 for any value less than\varphi({P}).
 
Last edited:
robert Ihnot:
Thanks for correcting me.

It's the first method I've remembered. The hardest thing is to factorize P-1, and It's not a problem for a not large P and if you know factorization of P-1 you may check g to be primitive root for polynomial time.

And I did not say that it's EASY way. Unfortunately, there are not much easy solutions in number-theory problems :wink:
 
From Wickipedia: Gauss defines primitive root in Article 57 of the Disquisitiones Arithmeticae (1801), where he credits Euler with coining the term.

Gauss then went ahead and gave the reader a table of primitive roots, so that he was aware that there was no really easy way to find them. It then seems, from the responses we are getting here, that's about where it is today!
 
Thread 'How to define a vector field?'
Hello! In one book I saw that function ##V## of 3 variables ##V_x, V_y, V_z## (vector field in 3D) can be decomposed in a Taylor series without higher-order terms (partial derivative of second power and higher) at point ##(0,0,0)## such way: I think so: higher-order terms can be neglected because partial derivative of second power and higher are equal to 0. Is this true? And how to define vector field correctly for this case? (In the book I found nothing and my attempt was wrong...

Similar threads

  • · Replies 2 ·
Replies
2
Views
2K
  • · Replies 5 ·
Replies
5
Views
2K
  • · Replies 14 ·
Replies
14
Views
3K
  • · Replies 3 ·
Replies
3
Views
2K
  • · Replies 0 ·
Replies
0
Views
2K
Replies
1
Views
2K
  • · Replies 17 ·
Replies
17
Views
2K
  • · Replies 11 ·
Replies
11
Views
3K
  • · Replies 17 ·
Replies
17
Views
6K
  • · Replies 3 ·
Replies
3
Views
852