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.
 
Fermat's Last Theorem has long been one of the most famous mathematical problems, and is now one of the most famous theorems. It simply states that the equation $$ a^n+b^n=c^n $$ has no solutions with positive integers if ##n>2.## It was named after Pierre de Fermat (1607-1665). The problem itself stems from the book Arithmetica by Diophantus of Alexandria. It gained popularity because Fermat noted in his copy "Cubum autem in duos cubos, aut quadratoquadratum in duos quadratoquadratos, et...
Insights auto threads is broken atm, so I'm manually creating these for new Insight articles. In Dirac’s Principles of Quantum Mechanics published in 1930 he introduced a “convenient notation” he referred to as a “delta function” which he treated as a continuum analog to the discrete Kronecker delta. The Kronecker delta is simply the indexed components of the identity operator in matrix algebra Source: https://www.physicsforums.com/insights/what-exactly-is-diracs-delta-function/ by...
Thread 'Imaginary Pythagorus'
I posted this in the Lame Math thread, but it's got me thinking. Is there any validity to this? Or is it really just a mathematical trick? Naively, I see that i2 + plus 12 does equal zero2. But does this have a meaning? I know one can treat the imaginary number line as just another axis like the reals, but does that mean this does represent a triangle in the complex plane with a hypotenuse of length zero? Ibix offered a rendering of the diagram using what I assume is matrix* notation...
Back
Top