# What is a quantum processor?

Someone brought up a "quantum processor" or "quantum computing" the other day. What is it? How does it differ from the processors we're using?

-

## migrated from stackoverflow.comJun 25 '10 at 14:21

This question came from our site for professional and enthusiast programmers.

This guys seem to know the answer > en.wikipedia.org/wiki/Quantum_computer – Tom Jun 25 '10 at 14:20

Josh K has linked to some good resources which wouldn't be a bad idea for you to read. I believe most of Wikipedia's information on these topics is reasonably accurate. But in case you couldn't tell from the link titles, quantum computing is not exactly a trivial subject. You have to be familiar with some background material (i.e. quantum physics) in order to make sense of it.

For an somewhat less technical explanation (coming from someone who has studied quantum computing in some detail), try this: in quantum mechanics, the properties of particles are described by "quantum states" which consist of a combination of "basis states." For example, electrons have a spin (angular momentum), so they act like little magnets. Put them in a magnetic field and they point either up or down (well, either parallel to or antiparallel to the field). In normal computers (simplified model), you might choose up to be 1 and down to be 0, and you can do computations by adjusting the magnetic fields to flip the electrons up or down as you want.

But in quantum mechanics, electrons aren't limited to pointing just up or just down; they can actually have some combination (superposition) of those two states, like half up and half down at the same time. That could represent a bit that acts as both 1 and 0. It's called a qubit. When you put multiple qubits (electrons) together, you can get more complicated superpositions, like 11/10/00 or 110/101/011/001/000 or whatever, and if you use those in the right kind of computer, it's like running an algorithm with 3 or 5 or however many inputs simultaneously. So any algorithm that requires you to perform the same operation on many different sets of bits can be enormously speeded up by quantum computing. In practice, it turns out that some exponential-time algorithms turn into polynomial-time algorithms when you run them on a quantum computer.

-
"So any algorithm that requires you to perform the same operation on many different sets of bits can be enormously speeded up by quantum computing." — this is not exactly true. Sure, if you can prepare a superposition over the inputs, the quantum computer can prepare the appropriate superposition over the outputs, but when you measure it, you get only one of the outputs, at random. Actually, quantum algorithms work by exploiting structure to make amplitudes cancel out... there is no exponential algorithm that directly can be made polynomial (without a new algorithm) on a quantum computer. – ShreevatsaR Jul 9 '10 at 7:43
@ShreevatsaR: True, I guess I misspoke slightly. What I had in mind when writing this was algorithms that process a large number of inputs and distill them down into a single answer. – David Z Jul 9 '10 at 9:04
Even to "distill them down into a single answer" is not possible except in special circumstances. (For instance, if you want the sum of all the answers, there's no known way of doing it.) The only known examples where quantum algorithms are better than classical algorithms work by exploiting some very special structure, usually involving periodicity and the Fourier transform (e.g. factoring). – ShreevatsaR Jul 11 '10 at 22:01
OK, bad choice of wording, but what you are saying is what I meant. – David Z Jul 11 '10 at 23:27

In a nutshell: processors right now run on electrons, and so are limited by the speed of light and various other nuances.

Quantum processors take advantage of the properties of subatomic particles (e.g quantum entanglement, or Einstein's "Spooky action at a distance") to overcome some of these limits and offer a potentially exponential increase in power.

In an even smaller nutshell: they're much, much faster.

-
That's not quite correct: they are much faster, but only on a small subset of operations accessible to "conventional" computers. E.g. cracking RSA is fast, but rendering HTML pages is probably not at all (if even possible...). – whitequark Jun 25 '10 at 15:55
Also quantum computers are still limited by the speed of light. – David Z Jun 25 '10 at 15:58
I guess it might be more accurate to say that they're massively parallel, rather than just "faster" as such... – Brian Knoblauch Jun 25 '10 at 17:02
@Brian: That does seem like a decent way to think about it. – David Z Jun 29 '10 at 0:05
+1 for a very down-to-earth explanation. Might not be scientifically accurate but still useful for the average person. – Torben Gundtofte-Bruun Aug 26 '10 at 6:42