mersenneforum.org

mersenneforum.org (https://www.mersenneforum.org/index.php)
-   Factoring (https://www.mersenneforum.org/forumdisplay.php?f=19)
-   -   Shor's Factoring Algorithm - does it even work? (https://www.mersenneforum.org/showthread.php?t=4885)

Citrix 2005-10-25 16:15

Shor's Factoring Algorithm - does it even work?
 
[url]http://www.answers.com/main/ntquery;jsessionid=2g1j7jrn1rbn8?method=4&dsid=2222&dekey=Shor%27s+algorithm&gwp=8&curtab=2222_1&sbid=lc02a[/url]

Is there any merit to this method? It look like crap to me. The classical method in no way is polynomial time. The site claims that 15 was factored on a quantum computer using this method.

What do you think?



Citrix
Posted in msl section

Citrix 2005-10-25 16:18

More crap:

[URL=http://www.answers.com/main/ntquery;jsessionid=2g1j7jrn1rbn8?method=4&dsid=2222&dekey=Jones%27s+period+proxy+algorithm&gwp=8&curtab=2222_1&sbid=lc02a&linktext=Jones's%20period%20proxy%20algorithm]http://www.answers.com/main/ntquery;jsessionid=2g1j7jrn1rbn8?method=4&dsid=2222&dekey=Jones%27s+period+proxy+algorithm&gwp=8&curtab=2222_1&sbid=lc02a&linktext=Jones's%20period%20proxy%20algorithm[/URL]

don't know why anyone would post something like this.

xilman 2005-10-25 16:49

[QUOTE=Citrix][url]http://www.answers.com/main/ntquery;jsessionid=2g1j7jrn1rbn8?method=4&dsid=2222&dekey=Shor%27s+algorithm&gwp=8&curtab=2222_1&sbid=lc02a[/url]

Is there any merit to this method? It look like crap to me. The classical method in no way is polynomial time. The site claims that 15 was factored on a quantum computer using this method.

What do you think?



Citrix
Posted in msl section[/QUOTE]
Looked ok to me, though I haven't studied in extreme detail.

The IBM achievement is real: they really did factor 15 on a quantum computer.

The algorithm becomes expected polynomial time if the period-finding subroutine is fast enough. No fast classical algorithm for period finding is known, but the variant run on a quantum computer is sufficiently fast to make the overall algorithm run in expected polynomial time.

What is your specific complaint about the presentation? That is, what precisely leads you to the judgement "The classical method in no way is polynomial time."?

Note that I was careful always to say "expected polynomial time". Choosing a random number allows for the possibilty that you may pick a very long sequence of useless values. However, as long as the probability of you being so unlucky is small enough the overall algorithm can be expected to run in polynomial time.


Paul

Citrix 2005-10-25 17:21

If you read the classical part of algorithm 1 above, it looks not in polynomial time. Give me a counter example for a random number.if yout hink the above is not true. Since the classical part is not in P, then the authors should not claim the algorithm is in p.

Citrix

R.D. Silverman 2005-10-25 17:25

[QUOTE=Citrix]

It look like crap to me.

[/QUOTE]

Based upon your prior posts, I would have to say that you are not competent to
make such a judgment. You can barely do basic algebra.

Shor's algorithm is correct and it works. 15 has indeed been factored on a
4-qubit quantum computer.

R.D. Silverman 2005-10-25 17:31

[QUOTE=Citrix]More crap:

[URL=http://www.answers.com/main/ntquery;jsessionid=2g1j7jrn1rbn8?method=4&dsid=2222&dekey=Jones%27s+period+proxy+algorithm&gwp=8&curtab=2222_1&sbid=lc02a&linktext=Jones's%20period%20proxy%20algorithm]http://www.answers.com/main/ntquery;jsessionid=2g1j7jrn1rbn8?method=4&dsid=2222&dekey=Jones%27s+period+proxy+algorithm&gwp=8&curtab=2222_1&sbid=lc02a&linktext=Jones's%20period%20proxy%20algorithm[/URL]

don't know why anyone would post something like this.[/QUOTE]

Yes, it is clear that you have no clue why such a thing might be posted.

Although I have not looked at the details, the basic idea is correct.

If one represents 1/N as a repeating decimal, AND the length of the
recurrence is small (very tiny) relative to N, then this method can factor
N. The reason it works is that if the period is tiny, then so are the primes
dividing N. However, its run time is proportional to the value of the
primes dividing N and thus is essentially equivalent to trial division. It
requires about the same amount of arithmetic.

Maybe one day you will stop making pronouncements about subjects that
you do not understand..... But I doubt it. I suggest that you stop
making pronouncements and go study some number theory.

Citrix 2005-10-25 18:55

I never said it did not work. What I said was that the algorithm is not polynomial as it is claimed.

@R.D. Silverman Before you say others do not know how to do algebra, please learn how to read. :furious:

Citrix

Citrix 2005-10-25 19:14

Shors algorithm says that for a pseudo random number a, find a^x=a^(x+r )mod n

where n is the number to be factored.
How do you do this on an ordinary computer for a large number? I don't think the algorithm is p?

If r could be found easily then all numbers can be factored in p!

Citrix

xilman 2005-10-25 19:29

[QUOTE=Citrix]If you read the classical part of algorithm 1 above, it looks not in polynomial time. Give me a counter example for a random number.if yout hink the above is not true. Since the classical part is not in P, then the authors should not claim the algorithm is in p.

Citrix[/QUOTE]
The classical part is in expected polynomial time [b]if[/b] the quantum part runs fast enough. If, for example, the order finding runs in constant time irrespective of the size of N the proof is relatively straightforward. The classical GCDs all run in polynomial time and you need only show that a small (quantify this!) number of random trials need to be made. Then show how fast the order-finding algorithm must run if the entire algorithm is to run in expected polynomial time.

I repeat but with emphasis this time: what is your [b]specific[/b] complaint about the classical part ot the algorithm? That is, present your analysis. "it looks not in polynomial time" is not an analysis. At best it is an unsupported observation.

Paul

xilman 2005-10-25 19:35

[QUOTE=R.D. Silverman]Based upon your prior posts, I would have to say that you are not competent to
make such a judgment. You can barely do basic algebra.

Shor's algorithm is correct and it works. 15 has indeed been factored on a
4-qubit quantum computer.[/QUOTE]
Are you sure about that?

15 is a 4-bit number, certainly, but I believe the IBM built a 7-qubit machine, using NMR with an organic molecule containing 7 nuclei with spin >0 and in chemically distinct environments.

Working purely from memory (meaning I'm too lazy to look it up at this instant), I believe that Schor's algorithm requires 2N-1 qubits to factor an N-bit integer.


Paul

Citrix 2005-10-25 19:39

Take the RSA number for example or a Cunningham number n, then find x and r such that
a^x=a^(x+r) (mod n) for a=101 and where 2*r>n.

if you can solve this in P then factoring is in P, why do you need quantum computers? This is the part I do not get

Citrix

xilman 2005-10-25 19:43

[QUOTE=Citrix]Shors algorithm says that for a pseudo random number a, find a^x=a^(x+r )mod n

where n is the number to be factored.
How do you do this on an ordinary computer for a large number? I don't think the algorithm is p?

If r could be found easily then all numbers can be factored in p!

Citrix[/QUOTE]
Ah, a great light dawns!

You are quite correct in your observation. No algorithm is known to solve that problem in polynomial time on a classical computer.

However, such an algorithm is known for a quantum computer --- it is Schor's algorithm.

The article to which you refer specifically states that the order-finding subroutine is to be run on a quantum computer. In this situation the entire algorithm runs in polynomial time.

Looks like you thought that the entire algorithm had to be run on a classical machine.

Paul

Citrix 2005-10-25 19:47

What does this mean

"A reduction of the factoring problem to the problem of order-finding, which can be done on a classical computer. " -- How do you do this?

Citrix

akruppa 2005-10-25 19:50

[QUOTE=Citrix]Shors algorithm says that for a pseudo random number a, find a^x=a^(x+r )mod n

where n is the number to be factored.
How do you do this on an ordinary computer for a large number? I don't think the algorithm is p?

If r could be found easily then all numbers can be factored in p!

Citrix[/QUOTE]

On a conventional computer the algorithm is purely exponential-time. The idea is:

1. Choose some a
2. Compute a^n (mod N) for 1<=n<=k*N, with k large enough. This sequence is o-periodic, o=ord_N(a)
3. Do a Fourier transform on the sequence. Since it is o-periodic, the Fourier coefficients for the frequency o/(k*N) will dominate
4. Randomly choose a coefficient with probability according to its amplitude

On a conventional computer, steps 2 and 3 take \Omega(N) steps. On a quantum computer, you can put the all the exponent qubits into a
(1 1)
(1 -1) / sqrt(2) state, i.e. a 0 and 1 bit with 50% probability each, and exponentiate by that exponent. The result of this exponentiation is a superposition of all a^n. This superposition can be transformed with a Quantum Fourier Transform (QFT), giving you a state where the o/(k*N) frequency and its multiples dominate in amplitude. Measuring the state gives you one of these values. You can then recover o by a continued fraction expansion. The nice thing is that the exponentiation and the QFT can be done in time O(log(N)^2), iirc.

There are some catches that make the algorithm extremely tricky to actually implement, but the idea itself is sound.

I gave a presentation on this algorithm at the uni once. Quantum comuting is by far the weirdest I've seen yet. Mind-boggling does not begin to describe it. If you're interested in this, get Nielsen and Chuang: Quantum Computation and Quantum Information.

Note: the above is from memory, there probably are errors. I think I got the overall idea right, though.

Alex

Citrix 2005-10-25 19:55

Thankyou very much. This stuff is really interesting. It was my fault. I was too quick to judge the method. I just read the classical part and thought that, it had to be done before the quantum part.

Mystwalker 2005-10-25 21:25

[QUOTE=R.D. Silverman]15 has indeed been factored on a 4-qubit quantum computer.[/QUOTE]

Just for clarification:
The article stated 7-qubits. Which one is correct?

akruppa 2005-10-25 21:34

7 qubit is correct. The composite number 15 has 4 bits, and you need extra bits for the exponent, etc.

Alex

ewmayer 2005-10-25 21:57

I'm renaming this thread "Shor's Factoring Algorithm = Crap?" (I believe that captures the tone of the initial posting, but is more descriptive) and moving it to the regular Math section.

Note that there is no 'c' in the spelling of Peter Shor's last name.

Citrix 2005-10-26 03:42

Please remove the word crap from the title. It was a misunderstanding on my part.
(Rename it quantum computing perhaps)

Thankyou,
Citrix

akruppa 2005-10-26 05:12

Done.

Alex

Peter Nelson 2005-10-26 05:36

Quantum computing and the Shor algorithm in particular is mentioned in "Crandall and Pomerance: Prime Numbers: A computational approach" in second edition its 8.5.2 "The Shor quantum algorithm for factoring" on p422.

For second edition it may be slightly in need of revision (ie the IBM machine factoring 15 was in 2001) whereas they say "We stress that an appropriate machine has not been built".

Perhaps someone could suggest to C&P that they could mention the IBM experiment.

However they do say "but if it were the following algorithm IS EXPECTED TO WORK".

In their presentation they do not give all the details of the algorithm. In their words "we have been intentionally brief in the final steps of the algorithm".

They do point out that it could be done on conventional computers but in much longer time which would become unworkable, and it is quantum computers that offer opportunity to use it.

I personally found the answers.com/wikipaedia treatment more complete and a little more readable.

ewmayer 2005-10-26 18:35

[QUOTE=akruppa]Done.[/QUOTE]
Wuss. :mad:

I quote:

[quote=Citrix]Is there any merit to this method? It look like crap to me.[/quote]

akruppa 2005-10-26 19:36

[QUOTE=ewmayer]Wuss. :mad:
[/QUOTE]

Maybe. But Citrix explicitly asked for having that changed back, and I think the thread starter ought to have a say in how the thread should be titled...

Alex

crandles 2006-10-22 14:47

I gather the next number after 15 that could be factored is 21.

I have heard of a quantum computer with 12 qubits with a claim this is the highest so far. How many qubits are needed to factor 21? If this is 12 or less has anyone done it?

proctor 2006-11-18 17:03

A good reason shors is useless.
 
O.k., so it requires 2N- 1 Qbits to work...
Humm... Factoring a useful number (like rsa 1024) Would then require 2 * 2 ^ 1024 - 1 qbits.
Correct me if i'm wrong, but if each atom could represent 1 qbit, there would still not be enough atoms in the universe for that.
Let's say, on a more reasonable level, that every atom in that little IBM computer could be a qbit. That would make a billion billion (2^64) qbit computer. Which means it could find factors up to 2^63 - 1.
A problem that can be done in under 1 second using trial division.

See, the problem is that the complexity of the computer needed grows in linear time. The quantum computer actually needed to factor large numbers would be larger than the entirety of creation.

akruppa 2006-11-19 23:30

Wrong, it needs (at least) 2N-1 qubits to factor a number of N bits, so for RSA1024 the number of qubits would be (idealized) 2047. Due to technical difficulties, the number of qubits needed will be larger than than, but still a relatively small multiple of N.

Alex

ixfd64 2006-11-26 00:03

It seems that researchers have been making quite some progress on developing quantum computers, as seen [url=http://en.wikipedia.org/wiki/Timeline_of_quantum_computing]here[/url]. :)

Raman 2008-07-27 12:10

(1) I need more details about the Shor's algorithm
 
[quote=R.D. Silverman;64080]
Shor's algorithm is correct and it works. 15 has indeed been factored on a
4-qubit quantum computer.
[/quote]

I want to know more about the Shor's algorithm.
I know that it is in the complexity class [B]BQP[/B], i.e. quantum polynomial time algorithm.

How long does it take so to factor a GNFS 100 or a GNFS 150 on a quantum computer (whose speed is compatible to that of a Pentium 4 or a Core 2 Duo) by using the Shor's algorithm?

A GNFS 120 takes about 5 days on a Pentium 4 at 2.8 GHz, and that
Core 2 Duo is four times faster than a Pentium 4 processor.

Raman 2008-07-27 13:00

(2) Something is wrong with the AKS algorithm?
 
I have read that the AKS algorithm is a deterministic polynomial time algorithm to test the primality of a number, that had been [COLOR=Black]discovered[/COLOR] by 3 IIT Kanpur students in August 2002.

The paper was being entitled as 'PRIMES IS IN P', a suitable title, indeed, where [B]P [/B]is the complexity class, i.e. deterministic polynomial-time.

The condition is being written as
p is prime if and only if
(x-a)[sup]p[/sup]=(x[sup]p[/sup]-a) mod p

Now that let p be a Carmichael number, for example 561

On the left hand side, since p is a Carmichael number,
(x-a)[sup]p[/sup] mod p = (x-a)

On the right hand side, x[sup]p[/sup] mod p = x
so, (x[sup]p[/sup]-a) mod p = (x-a)

So, this algorithm holds so well (LHS = RHS) for all the Carmichael Numbers, which is not at all valid!
Please clarify it up to me

xilman 2008-07-27 14:56

[QUOTE=Raman;138400]I want to know more about the Shor's algorithm.
I know that it is in the complexity class [B]BQP[/B], i.e. quantum polynomial time algorithm.

How long does it take so to factor a GNFS 100 or a GNFS 150 on a quantum computer (whose speed is compatible to that of a Pentium 4 or a Core 2 Duo) by using the Shor's algorithm?

A GNFS 120 takes about 5 days on a Pentium 4 at 2.8 GHz, and that
Core 2 Duo is four times faster than a Pentium 4 processor.[/QUOTE]We don't know.

Factoring a 400-bit integer will require a quantum machine with around a thousand qubits (at least 799 and probably more) and we've no real idea how to build one or how fast it will work. The state of the art at the moment is factoring a 4-bit number.

Your question is, in some sense, equivalent to asking how long it would take to factor a 15,000 digit number. For this question, other than "a long time" we just don't know.


Paul

jasonp 2008-07-27 14:58

[QUOTE=Raman;138400]
How long does it take so to factor a GNFS 100 or a GNFS 150 on a quantum computer (whose speed is compatible to that of a Pentium 4 or a Core 2 Duo) by using the Shor's algorithm?
[/QUOTE]
A quantum factoring algorithm has an exponential running time until you build a quantum computer big enough to run it on your desired input. With Shor's algorithm we are very far from being able to do that, for RSA numbers of nontrivial size.

More background reading [url="http://www.scottaaronson.com/blog/?p=208"]here[/url]

Raman 2008-07-28 10:33

[quote=xilman;138404]
Factoring a 400-bit integer will require a quantum machine with around a thousand qubits (at least 799 and probably more) and we've no real idea how to build one or how fast it will work. The state of the art at the moment is factoring a 4-bit number.
[/quote]

Ok, fine. I understand the current situation of the Shor's algorithm.

But, what about the AKS algorithm. Did both of you skip up reading about it? :wink:
It is used to [I]prove[/I], i.e. confirm the primality of any given number.

Is the condition really this one?
[FONT=Comic Sans MS][SIZE=3] p is prime if and only if[/SIZE][/FONT]
[FONT=Comic Sans MS][SIZE=3](x-a)[sup]p[/sup] = (x[sup]p[/sup]-a) mod p[/SIZE][/FONT]

If yes, it holds good so for all the Carmichael Numbers, whereas it shouldn't if it were a primality proving algorithm.

bsquared 2008-07-28 11:46

[quote=Raman;138432]

But, what about the AKS algorithm. Did both of you skip up reading about it? :wink:
[FONT=Comic Sans MS][/FONT]

[/quote]


Well, I'm pretty sure jasonp has done his homework w.r.t AKS: [URL]http://images.apple.com/acg/pdf/aks3.pdf[/URL]

jasonp 2008-07-28 12:57

[QUOTE=bsquared;138433]Well, I'm pretty sure jasonp has done his homework w.r.t AKS: [URL]http://images.apple.com/acg/pdf/aks3.pdf[/URL][/QUOTE]

I didn't answer because I'm not familiar with the theory (and don't feel like changing that right now). AKS basically involves a single big exponentiation of a finite field polynomial, repeated however many times it takes to remove the possibility of the input having factors. The big research question is how often that one primitive should be repeated. A, K and S prove that the number of primitives is cubic in the number of bits in the input, and Bernstein shows that for 'most' numbers it's quadratic. That seems to be the limit of current research that I'm aware of. AKS is a very cool algorithm that's computationally essentially useless; the coolness comes from the simplicity of the tools it needs to work.

PS: Raman, the main identity is not over integers mod p, but polynomials mod the polynomial x^r, with coefficients mod p; the algorithm is computationally expensive because those polynomials have huge degree

bdodson 2008-07-29 04:26

[QUOTE=jasonp;138437] ... limit of current research that I'm aware of. AKS is a very cool algorithm that's computationally essentially useless; the coolness comes from the simplicity of the tools it needs to work.
[/QUOTE]

Just to fill-in more of the relevant background, on the computational side,
ecpp has expected degree 4 runtime (the same as the AKS variants), but
is the current method-of-choice in practice. There have been a few
c. 10,000-digit (random) numbers proved prime; and Franke-et-al have the
top two, c. 15,000-digits and c. 20,000-digits.

The report above is the first I've seen of AKS hitting even 300-digits. Is
there a more current update on an AKS record? Aside from collecting
evidence of how far away it is from being able to hit the 10,000-digit range.

On the coolness part; provable, deterministic polyn time was the AKS
theorem. And (unlike Fermat) using tools that everyone else had been
looking at, just put together better. There was a public effort to see
whether we might have overlooked something similar for factoring, or
other problems considered hard; but if anyone found something, especially
something that would work in practice, they're not telling. -Bruce

paulunderwood 2008-08-16 01:48

21 factored with "Quantum Adiabatic Algorithm"
 
I found this recent paper :[URL="http://arxiv.org/abs/0808.1935"]http://arxiv.org/abs/0808.1935[/URL]

What next? Factor 33? :wink:

xilman 2008-08-16 09:01

[QUOTE=paulunderwood;139389]I found this recent paper :[URL="http://arxiv.org/abs/0808.1935"]http://arxiv.org/abs/0808.1935[/URL]

What next? Factor 33? :wink:[/QUOTE]Maybe. An plausible alternative is 65, that being the next two-factor integer greater than the next larger power of two.


Paul

Raman 2008-08-16 14:19

[quote=paulunderwood;139389]
I found this recent paper :[URL]http://arxiv.org/abs/0808.1935[/URL]

What next? Factor 33? :wink:
[/quote]

Huh! Think of going exponentially!

A small Mersenne or Repunit
followed up by the Series of Fermat Numbers! :smile:
fifth, sixth, seventh, eighth Fermat Numbers,

followed by GNFS 100, 120, 140...

I think that it would already be hopefully long before reaching even RSA 129
It would be in fact a long term goal! :wink:

Quantum computing means that the bits overlapping one over the other?


All times are UTC. The time now is 23:28.

Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2021, Jelsoft Enterprises Ltd.