Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
Shor's algorithm
(section)
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
{{Short description|Quantum algorithm for integer factorization}}'''Shor's algorithm''' is a [[quantum algorithm]] for finding the [[prime factor]]s of an integer. It was developed in 1994 by the American mathematician [[Peter Shor]].<ref>{{cite book |doi=10.1109/sfcs.1994.365700 |chapter=Algorithms for quantum computation: Discrete logarithms and factoring |title=Proceedings 35th Annual Symposium on Foundations of Computer Science |date=1994 |last1=Shor |first1=P.W. |pages=124β134 |isbn=978-0-8186-6580-6 }}</ref><ref name="siam">{{Cite journal |last=Shor |first=Peter W. |date=October 1997 |title=Polynomial-Time Algorithms for Prime Factorization and Discrete Logarithms on a Quantum Computer |journal=SIAM Journal on Computing |volume=26 |issue=5 |pages=1484β1509 |arxiv=quant-ph/9508027 |doi=10.1137/S0097539795293172 |s2cid=2337707 }}</ref> It is one of the few known quantum algorithms with compelling potential applications and strong evidence of superpolynomial speedup compared to best known classical (non-quantum) algorithms.<ref name=":0" /> On the other hand, factoring numbers of practical significance requires far more [[qubit|qubits]] than available in the near future.<ref name="q2000">{{cite journal|arxiv=1905.09749| title = How to factor 2048 bit RSA integers in 8 hours using 20 million noisy qubits | first1 = Craig | last1 = Gidney | first2 = Martin | last2 = EkerΓ₯| journal=Quantum | year=2021 | volume=5 | page=433 | doi=10.22331/q-2021-04-15-433 | bibcode = 2021Quant...5..433G | s2cid=162183806 }} </ref> Another concern is that noise in quantum circuits may undermine results,<ref name="noise"/> requiring additional qubits for [[quantum error correction]]. Shor proposed multiple similar algorithms for solving the [[Integer factorization|factoring problem]], the [[Discrete logarithm|discrete logarithm problem]], and the period-finding problem. "Shor's algorithm" usually refers to the factoring algorithm, but may refer to any of the three algorithms. The discrete logarithm algorithm and the factoring algorithm are instances of the period-finding algorithm, and all three are instances of the [[hidden subgroup problem]]. On a quantum computer, to factor an integer <math> N </math>, Shor's algorithm runs in [[polynomial time]], meaning the time taken is polynomial in <math> \log N </math>.<ref>See also [[pseudo-polynomial time]].</ref> It takes [[quantum logic gate|quantum gates]] of order <math> O \! \left((\log N)^{2} (\log \log N) (\log \log \log N) \right) </math> using fast multiplication,<ref name="Beckman">{{cite journal |last1=Beckman |first1=David |last2=Chari |first2=Amalavoyal N. |last3=Devabhaktuni |first3=Srikrishna |last4=Preskill |first4=John |title=Efficient networks for quantum factoring |journal=Physical Review A |date=August 1996 |volume=54 |issue=2 |pages=1034β1063 |doi=10.1103/physreva.54.1034 |pmid=9913575 |arxiv=quant-ph/9602016 |bibcode=1996PhRvA..54.1034B }}</ref> or even <math> O \! \left((\log N)^{2} (\log \log N) \right) </math> utilizing the asymptotically fastest multiplication algorithm currently known due to Harvey and [[Van Der Hoven]],<ref name="Integer multiplication in time <math">{{cite journal |last1=Harvey |first1=David |last2=van der Hoeven |first2=Joris |title=Integer multiplication in time O (n log n) |journal=Annals of Mathematics |date=March 2021 |volume=193 |issue=2 |doi=10.4007/annals.2021.193.2.4 |url=https://hal.science/hal-02070778v2/file/nlogn.pdf }}</ref> thus demonstrating that the [[integer factorization]] problem can be efficiently solved on a quantum computer and is consequently in the [[complexity class]] '''[[BQP]]'''. This is significantly faster than the most efficient known classical factoring algorithm, the [[general number field sieve]], which works in [[Time complexity#Sub-exponential time|sub-exponential time]]: <math> O \! \left(e^{1.9 (\log N)^{1/3} (\log \log N)^{2/3}} \right) </math>.<ref>{{cite web|url = http://mathworld.wolfram.com/NumberFieldSieve.html|title = Number Field Sieve|work = wolfram.com|access-date = 23 October 2015}}</ref>
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)