Quantum computer

From Wikipedia, the free encyclopedia

Jump to: navigation, search
The Bloch sphere is a representation of a qubit, the fundamental building block of quantum computers.
The Bloch sphere is a representation of a qubit, the fundamental building block of quantum computers.

A quantum computer is any device for computation that makes direct use of distinctively quantum mechanical phenomena, such as superposition and entanglement, to perform operations on data. In a classical (or conventional) computer, information is stored as bits; in a quantum computer, it is stored as qubits (quantum bits). The basic principle of quantum computation is that the quantum properties can be used to represent and structure data, and that quantum mechanisms can be devised and built to perform operations with this data.[1]

Although quantum computing is still in its infancy, experiments have been carried out in which quantum computational operations were executed on a very small number of qubits. Research in both theoretical and practical areas continues at a frantic pace, and many national government and military funding agencies support quantum computing research to develop quantum computers for both civilian and national security purposes, such as cryptanalysis.[2] (See Timeline of quantum computing for details on current and past progress.)

If large-scale quantum computers can be built, they will be able to solve certain problems exponentially faster than any of our current classical computers (for example Shor's algorithm). Quantum computers are different from other computers such as DNA computers and traditional computers based on transistors. Some computing architectures such as optical computers may use classical superposition of electromagnetic waves, but without some specifically quantum mechanical resources such as entanglement, they have less potential for computational speed-up than quantum computers.

Contents

[edit] The basis of quantum computing

A classical computer has a memory made up of bits, where each bit holds either a one or a zero. A quantum computer maintains a sequence of qubits. A single qubit can hold a one, a zero, or, crucially, a quantum superposition of these, allowing for an infinite number of states. A quantum computer operates by manipulating those qubits with (possibly a suite of) quantum logic gates.

An example of an implementation of qubits for a quantum computer could start with the use of particles with two spin states: "up" and "down" (typically written |0\rangle and |1\rangle). But in fact any system possessing an observable quantity A which is conserved under time evolution and such that A has at least two discrete and sufficiently spaced consecutive eigenvalues, is a suitable candidate for implementing a qubit. That's because any such system can be mapped onto an effective spin-1/2.

[edit] Bits vs. qubits

Consider first a classical computer that operates on a 3-bit register. At any given time, the bits in the register are in a definite state, such as 101. In a quantum computer, however, the qubits can be in a superposition of all the classically allowed states. In fact, the register is described by a wavefunction:

|\psi \rangle = a\,|000\rangle + b\,|001\rangle + c\,|010\rangle + d\,|011\rangle + e\,|100\rangle + f\,|101\rangle + g\,|110\rangle + h\,|111\rangle
Qubits are made up of controlled particles and the means of control (e.g. devices that trap particles and switch them from one state to another).
Qubits are made up of controlled particles and the means of control (e.g. devices that trap particles and switch them from one state to another).[3]

where the coefficients a, b, c,..., h are complex numbers whose amplitudes squared are the probabilities to measure the qubits in each state- for example, | c | 2 is the probability to measure the register in the state 010. It is important that these numbers are complex, because the phases of the numbers can constructively and destructively interfere with one another; this is an important feature for quantum algorithms.[4]

Recording the state of a quantum register requires an exponential number of complex numbers (the 3-qubit register above requires 23 = 8 complex numbers). The number of classical bits required even to estimate the complex numbers of some quantum state grows exponentially with the number of qubits. For a 300-qubit quantum register, somewhere on the order of 1090 classical registers are required, more than there are atoms in the observable universe.[5]

[edit] Initialization, execution and termination

In our example, the contents of the qubit registers can be thought of as an 8-dimensional complex vector. An algorithm for a quantum computer must initialize this vector in some specified form (dependent on the design of the quantum computer). In each step of the algorithm, that vector is modified by multiplying it by a unitary matrix. The matrix is determined by the physics of the device. The unitary character of the matrix ensures the matrix is invertible (so each step is reversible).

Upon termination of the algorithm, the 8-dimensional complex vector stored in the register must be somehow read off from the qubit register by a quantum measurement. However, by the laws of quantum mechanics, that measurement will yield a random 3-bit string (and it will destroy the stored state as well). This random string can be used in computing the value of a function because (by design) the probability distribution of the measured output bitstring is skewed in favor of the correct value of the function. By repeated runs of the quantum computer and measurement of the output, the correct value can be determined, to a high probability, by majority polling of the outputs. In brief, quantum computations are probabilistic; see quantum circuit for a more precise formulation.

For more details on the sequences of operations used for various algorithms, see universal quantum computer, Shor's algorithm, Grover's algorithm, Deutsch-Jozsa algorithm, quantum Fourier transform, quantum gate, quantum adiabatic algorithm and quantum error correction. Also refer to the growing field of quantum programming.

[edit] The power of quantum computers

Integer factorization is believed to be computationally infeasible with an ordinary computer for large integers that are the product of only a few prime numbers (e.g., products of two 300-digit primes).[6] By comparison, a quantum computer could solve this problem more efficiently than a classical computer using Shor's algorithm to find its factors. This ability would allow a quantum computer to "break" many of the cryptographic systems in use today, in the sense that there would be a polynomial time (in the number of bits of the integer) algorithm for solving the problem. In particular, most of the popular public key ciphers are based on the difficulty of factoring integers, including forms of RSA. These are used to protect secure Web pages, encrypted email, and many other types of data. Breaking these would have significant ramifications for electronic privacy and security. The only way to increase the security of an algorithm like RSA would be to increase the key size and hope that an adversary does not have the resources to build and use a powerful enough quantum computer.

A way out of this dilemma would be to use some kind of quantum cryptography. There are also some digital signature schemes that are believed to be secure against quantum computers. See for instance Lamport signatures.

This dramatic advantage of quantum computers has only been discovered for these problems so far: factoring, discrete logarithm. However, there is no proof that the advantage is real: an equally fast classical algorithm may still be discovered. There is one other problem where quantum computers have a smaller, though significant (quadratic) advantage. It is quantum database search, and can be solved by Grover's algorithm. In this case the advantage is provable. This establishes beyond doubt that (ideal) quantum computers are superior to classical computers for at least one problem.

Consider a problem that has these four properties:

  1. The only way to solve it is to guess answers repeatedly and check them,
  2. There are n possible answers to check,
  3. Every possible answer takes the same amount of time to check, and
  4. There are no clues about which answers might be better: generating possibilities randomly is just as good as checking them in some special order.

An example of this is a password cracker that attempts to guess the password for an encrypted file (assuming that the password has a maximum possible length).

For problems with all four properties, the time for a quantum computer to solve this will be proportional to the square root of n (it would take an average of (n + 1)/2 guesses to find the answer using a classical computer.) That can be a very large speedup, reducing some problems from years to seconds. It can be used to attack symmetric ciphers such as Triple DES and AES by attempting to guess the secret key. Regardless of whether any of these problems can be shown to have an advantage on a quantum computer, they nonetheless will always have the advantage of being an excellent tool for studying quantum mechanical interactions, which of itself is an enormous value to the scientific community.

There are currently no other practical problems known where quantum computers give a large speedup over classical computers. Research is continuing, and more problems may yet be found.

[edit] Problems and practicality issues

There are a number of practical difficulties in building a quantum computer, and thus far quantum computers have only solved trivial problems. David DiVincenzo, of IBM, listed the following requirements for a practical quantum computer:[7]

  • scalable physically to increase the number of qubits
  • qubits can be initialized to arbitrary values
  • quantum gates faster than decoherence time
  • universal gate set
  • qubits can be read easily

To summarize the problem from the perspective of an engineer, one needs to solve the challenge of building a system which is isolated from everything except the measurement and manipulation mechanism. Furthermore, one needs to be able to turn off the coupling of the qubits to the measurement so as to not decohere the qubits while performing operations on them.

[edit] Quantum decoherence

One major problem is keeping the components of the computer in a coherent state, as the slightest interaction with the external world would cause the system to decohere. This effect causes the unitary character (and more specifically, the invertibility) of quantum computational steps to be violated. Decoherence times for candidate systems, in particular the transverse relaxation time T2 (terminology used in NMR and MRI technology, also called the dephasing time), typically range between nanoseconds and seconds at low temperature.[8] The issue for optical approaches are more difficult as these timescales are orders of magnitude lower and an often cited approach to overcome it uses an optical pulse shaping approach. Error rates are typically proportional to the ratio of operating time to decoherence time, hence any operation must be completed much more quickly than the decoherence time.

If the error rate is small enough, it is thought to be possible to use quantum error correction, which corrects errors due to decoherence, thereby allowing the total calculation time to be longer than the decoherence time. An often cited (but rather arbitrary) figure for required error rate in each gate is 10−4. This implies that each gate must be able to perform its task 10,000 times faster than the decoherence time of the system.

Meeting this scalability condition is possible for a wide range of systems. However, the use of error correction brings with it the cost of a greatly increased number of required qubits. The number required to factor integers using Shor's algorithm is still polynomial, and thought to be between L4 and L6, where L is the number of bits in the number to be factored. For a 1000-bit number, this implies a need for 1012 to 1018.[9]

A very different approach to the stability-decoherence problem is to create a topological quantum computer with anyons, quasi-particles used as threads and relying on knot theory to form stable logic gates.[10]

[edit] Candidates

There are a number of quantum computing candidates, among those:

  1. Superconductor-based quantum computers (including SQUID-based quantum computers)
  2. Trapped ion quantum computer
  3. Electrons on helium quantum computers
  4. "Nuclear magnetic resonance on molecules in solution"-based
  5. "Quantum dot on surface"-based (e.g. the Loss-DiVincenzo quantum computer)
  6. "Cavity quantum electrodynamics" (CQED)-based
  7. "Molecular magnet"-based
  8. Fullerene-based ESR quantum computer
  9. Solid state NMR Kane quantum computers
  10. Optic-based quantum computers (Quantum optics)
  11. Topological quantum computer
  12. Spin-based quantum computer
  13. Adiabatic quantum computation[11]
  14. Diamond-based quantum computer[12]
  15. Bose–Einstein condensate-based quantum computer[13]
  16. Transistor-based - string quantum computers with entrainment of positive holes using a electrostatic trap

The large number of candidates shows explicitly that the topic, in spite of rapid progress, is still in its infancy. But at the same time there is also a vast amount of flexibility.

In 2005, researchers at the University of Michigan built a semiconductor chip which functioned as an ion trap. Such devices, produced by standard lithography techniques, may point the way to scalable quantum computing tools.[14] An improved version was made in 2006.

D-Wave Systems Inc. claims to be the world’s first — and only — provider of quantum computing systems designed to run commercial applications. On 13 February, 2007 they ran an initial demonstration of their Orion quantum computing system, which is built around a 16-qubit superconducting adiabatic quantum computer processor.[15] However, since D-Wave Systems has not released the full details of Orion to the scientific community, many experts in the field have expressed skepticism.[16]

[edit] Quantum computing in computational complexity theory

The suspected relationship of BQP to other problem spaces
The suspected relationship of BQP to other problem spaces[17]

This section surveys what is currently known mathematically about the power of quantum computers. It describes the known results from computational complexity theory and the theory of computation dealing with quantum computers.

The class of problems that can be efficiently solved by quantum computers is called BQP, for "bounded error, quantum, polynomial time". Quantum computers only run probabilistic algorithms, so BQP on quantum computers is the counterpart of BPP on classical computers. It is defined as the set of problems solvable with a polynomial-time algorithm, whose probability of error is bounded away from one quarter.[18] A quantum computer is said to "solve" a problem if, for every instance, its answer will be right with high probability. If that solution runs in polynomial time, then that problem is in BQP.

BQP is suspected to be disjoint from NP-complete and a strict superset of P, but that is not known. Both integer factorization and discrete log are in BQP. Both of these problems are NP problems suspected to be outside BPP, and hence outside P. Both are suspected to not be NP-complete. There is a common misconception that quantum computers can solve NP-complete problems in polynomial time. That is not known to be true, and is generally suspected to be false.

An operator for a quantum computer can be thought of as changing a vector by multiplying it with a particular matrix. Multiplication by a matrix is a linear operation. Daniel S. Abrams and Seth Lloyd have shown that if a quantum computer could be designed with nonlinear operators, then it could solve NP-complete problems in polynomial time. It could even do so for #P-complete problems. They do not believe that such a machine is possible.

Although quantum computers may be faster than classical computers, those described above can't solve any problems that classical computers can't solve, given enough time and memory (albeit possibly an amount that could never practically be brought to bear). A Turing machine can simulate these quantum computers, so such a quantum computer could never solve an undecidable problem like the halting problem. The existence of "standard" quantum computers does not disprove the Church-Turing thesis.[19]

Very recently, many researchers have begun to investigate the possibility of using quantum mechanics for hypercomputation - that is, solving undecidable problems. Such claims have been met with considerable skepticism as to whether it is even theoretically possible; see the hypercomputation article for more details.

[edit] Quantum computers in fiction

The TV show Code Lyoko features a quantum supercomputer.

Quantum computing technology is used in the alternate reality game for the Nine Inch Nails album Year Zero to transmit data to the present from the year 2022.

In the 2007 movie Transformers, it is stated that the Decepticons use quantum computing to break the U.S. Army's data signal, therefore being able to access secure files. It is stated that even with the most powerful supercomputer, it would take 22 years to do.

The Michael Crichton novel Timeline also features use of a quantum computer, especially with regards to deconstructing and reconstructing objects being transported across time (or, more accurately, across the multiverse).

The Robert J. Sawyer trilogy The Neanderthal Parallax involves a quantum computer which unintentionally opens a gateway between different versions of Earth.

Quantum computers and mechanics are also used in the Noein anime series extensively.

In the MMORPG EvE Online the Caldari State makes use of Quantum computers

In Dan Brown's novel Digital Fortress, the NSA's cypher breaking computer TRANSLTR uses quantum computing to break encryption keys of encrypted E-mails.

Gas Powered Games' real time strategy game, Supreme Commander, features a sentient computer program called QAI, standing for Quantum Artificial Intelligence.

[edit] See also

Wikimedia Commons has media related to:

[edit] Notes

  1. ^ "Quantum Computing with Molecules" article in Scientific American by Neil Gershenfeld and Isaac L. Chuang - a generally accessible overview of quantum computing and so on.
  2. ^ Quantum Information Science and Technology Roadmap for a sense of where the research is heading.
  3. ^ Waldner, Jean-Baptiste (2007). Nanocomputers and Swarm Intelligence. ISTE, p157. ISBN 2746215160. 
  4. ^ DiVincenzo, David (October 1995). "Quantum Computation". Science 270 (5234): 255-261. Retrieved on 2007-04-25. 
  5. ^ Note that the coefficients are not all independent, since the probabilities must sum to 1.
  6. ^ http://modular.fas.harvard.edu/edu/Fall2001/124/misc/arjen_lenstra_factoring.pdf
  7. ^ David P. DiVincenzo, IBM (2000-04-13). The Physical Implementation of Quantum Computation. Retrieved on 2006-11-17.
  8. ^ David P. DiVincenzo, IBM (1995-10-13). Quantum Computation. Retrieved on 2006-11-17.
  9. ^ M. I. Dyakonov, Université Montpellier (2006-10-14). Is Fault-Tolerant Quantum Computation Really Possible?. Retrieved on 2007-02-16.
  10. ^ Freedman, Michael; Alexei Kitaev, Michael Larsen, Zhenghan Wang (2002-10-20). "Topological Quantum Computation". Bulletin of the American Mathematical Society 40 (1): 31—38. Retrieved on 2007-05-07. 
  11. ^ William M Kaminsky, MIT (Date Unknown). Scalable Superconducting Architecture for Adiabatic Quantum Computation. Retrieved on 2007-02-19.
  12. ^ Wolfgang Gruener, TG Daily (2007-06-01). Research indicates diamonds could be key to quantum storage. Retrieved on 2007-06-04.
  13. ^ Rene Millman, IT PRO (2007-08-03). Trapped atoms could advance quantum computing. Retrieved on 2007-07-26.
  14. ^ Ann Arbor (2005-12-12). U-M develops scalable and mass-producible quantum computer chip. Retrieved on 2006-11-17.
  15. ^ Comment on D-Wave by David Deutsch
  16. ^ Jason Pontin (2007). A Giant Leap Forward in Computing? Maybe Not. The New York Times Company. Retrieved on 2007-04-08.
  17. ^ Michael Nielsen and Isaac Chuang (2000). Quantum Computation and Quantum Information. Cambridge: Cambridge University Press. ISBN 0-521-63503-9.
  18. ^ (Nielsen & Chuang 2000)
  19. ^ Nielsen, Michael and Isaac Chuang (2000), p. ?

[edit] References

  • DiVincenzo, David P. (2000). "The Physical Implementation of Quantum Computation". Experimental Proposals for Quantum Computation. arXiv:quant-ph/0002077.
  • DiVincenzo, David P. (1995). "Quantum Computation". Science 270 (5234): 255–261.  Table 1 lists switching and dephasing times for various systems.
  • Feynman, Richard (1982). "Simulating physics with computers". International Journal of Theoretical Physics 21: 467. 
  • Jaeger, Gregg (2006). Quantum Information: An Overview. Berlin: Springer. ISBN 0-387-35725-4. "
  • Nielsen, Michael and Isaac Chuang (2000). Quantum Computation and Quantum Information. Cambridge: Cambridge University Press. ISBN 0-521-63503-9. 
  • Singer, Stephanie Frank (2005). Linearity, Symmetry, and Prediction in the Hydrogen Atom. New York: Springer. ISBN 0-387-24637-1. 
  • http://jquantum.sourceforge.net/jQuantumApplet.html Java quantum computer simulator.
Personal tools