How Does Shor's Algorithm Factor Integers Effectively?

  • Thread starter Thread starter ptabor
  • Start date Start date
  • Tags Tags
    Algorithm
AI Thread Summary
Shor's algorithm effectively factors integers by selecting an integer 'a' less than 'N' and computing the function f(x) = a^x mod N, which exhibits periodicity with period 'r'. The greatest common divisor (gcd) of N and a^(r/2) ± 1 is then calculated to find potential factors. In the example with N = 12 and a = 5, the period is 2, leading to factors 2 and 6. However, if the period is 1, as with a = 4, the gcd calculations yield factors that may not be useful, prompting the need to select a different 'a'. The discussion highlights the importance of choosing 'a' carefully to ensure effective factorization and the potential for missing factors if the gcd is not greater than 1.
ptabor
Messages
14
Reaction score
0
I'm playing around with the algorithm and I'm having some confusion:

the algorithm is as follows: to factorize some integer N pick some integer a such that a < N.
then compute the function f(x) = a^x mod N
f(x) will be periodic with period r, then to find the factors you find the greatest common divisor of N and a^(r/2) +\- 1

For example, suppose that N = 12. Then let us say that a = 5, then we have f(x) = 5^x mod 12. Plugging in some values for x, we see that
f(1) = 5 mod 12 = 5
f(2) = 25 mod 12 = 1
f(3) = 125 mod 12 = 5
f(4) = 625 mod 12 = 1

so here the period is 2, hence we must find the gcd of 5^(2/2) +\- 1 and N
=> gcd of 12 and 4 is 2; gcd of 12 and 6 is 6
hence 12 = 6*2

But suppose I start over and let a = 4
f(1) = 4 mod 12 = 4
f(2) = 16 mod 12 = 4
f(3) = 64 mod 12 = 4
and so on.

So the period here is 1, and we must find the gcd of 4^(1/2) +\- 1
and 12.

gcd of 3 and 12 is 3, gcd of 1 and 12 is 1. So does this imply that a is also a factor of N? It seems to me that it must, in all cases, but I don't want to make a hasty generalization.
 
Last edited:
Mathematics news on Phys.org
You would compute the gcd of N and the 'a' you picked before proceeding with the algorithm. If it's >1 you've found a factor, if it's 1 then you go on. Also if the period is odd, you have to pick a new 'a'.
 
ptabor said:
I'm playing around with the algorithm and I'm having some confusion:

the algorithm is as follows: to factorize some integer N pick some integer a such that a < N.
then compute the function f(x) = a^x mod N
f(x) will be periodic with period r, then to find the factors you find the greatest common divisor of N and a^(r/2) +\- 1

For example, suppose that N = 12. Then let us say that a = 5, then we have f(x) = 5^x mod 12. Plugging in some values for x, we see that
f(1) = 5 mod 12 = 5
f(2) = 25 mod 12 = 1
f(3) = 125 mod 12 = 5
f(4) = 625 mod 12 = 1

so here the period is 2, hence we must find the gcd of 5^(2/2) +\- 1 and N
=> gcd of 12 and 4 is 2; gcd of 12 and 6 is 6
hence 12 = 6*2

But suppose I start over and let a = 4
f(1) = 4 mod 12 = 4
f(2) = 16 mod 12 = 4
f(3) = 64 mod 12 = 4
and so on.

So the period here is 1, and we must find the gcd of 4^(1/2) +\- 1
and 12.

gcd of 3 and 12 is 3, gcd of 1 and 12 is 1. So does this imply that a is also a factor of N? It seems to me that it must, in all cases, but I don't want to make a hasty generalization.


I've never heard of this method. It sounds neat. :smile:

I do want to make a quick point, though:
so here the period is 2, hence we must find the gcd of 5^(2/2) +\- 1 and N
=> gcd of 12 and 4 is 2; gcd of 12 and 6 is 6
hence 12 = 6*2

(12,4)=4, not 2. Sorry to be so picky! :rolleyes:

-Dan
 
thanks for the correct, tops. I noticed the simple math error but didn't bother to fix it in the post =/

In any event, is this algorithm supposed to find all factors of N? I've performed it many times, and have only been able to come up with 6 and 4, not 2 and 3.

for instance, if a = 7 then we get 7 +/- 1 = 8, 6 - yielding 6 and 4 again.
if a = 11 then we get 11 +/- 1 = 12, 10 yielding 12 and 2 - where 12 is a trivial factor.
I can't let a = 2, 3, 4, 6, 8, 9, 10 because the gcd of these numbers with 12 is != 1.

Apparently I'm missing something here.
 
Seemingly by some mathematical coincidence, a hexagon of sides 2,2,7,7, 11, and 11 can be inscribed in a circle of radius 7. The other day I saw a math problem on line, which they said came from a Polish Olympiad, where you compute the length x of the 3rd side which is the same as the radius, so that the sides of length 2,x, and 11 are inscribed on the arc of a semi-circle. The law of cosines applied twice gives the answer for x of exactly 7, but the arithmetic is so complex that the...
Is it possible to arrange six pencils such that each one touches the other five? If so, how? This is an adaption of a Martin Gardner puzzle only I changed it from cigarettes to pencils and left out the clues because PF folks don’t need clues. From the book “My Best Mathematical and Logic Puzzles”. Dover, 1994.
Back
Top