A grid of coupled qubits can be used to simulate quantum systems. A quantum system many physicists like to simulate is the Hubbard model (http://en.wikipedia.org/wiki/Hubbard_model) . A simulation of the Hubbard model can possibly lead to a better understanding of high temperature superconductivity. This in turn can tell physicists where to look for room-temperature superconductors, the discovery of which will drastically transform the world as we know it.
This is in my opinion the most important application of a quantum computer.
Theoretically none. Quantum computers are universal Turing machines. The main advantage of quantum computers is speedup.
5 years ago (when I took a couple of courses in QC) there were basically 2 quantum algorithms -- Shor's factorization and Grover's search. The former speeds up integer factorization (and discrete logarithm) and brings it to polynomial time, and the later speeds up search from O(n) to O(sqrt(n)).
So just being able to quickly factor integers breaks a lot of encryption algorithms, and a faster search would really help with data processing.
One of the main difficulty with quantum computers is quantum de-coherence. Qubits when they are entangled must be isolated from the outside environment until the final result measurement is taken. That is what is preventing the creation of large, multi-qubit computers. For example, it would be useful to have a 1024 qubit machine to simultaneously represent all 1024 bit states.
Quantum error correction might solve the problem, but we are yet to see practical quantum computers.
you were right to leave it out - quantum cryptography and quantum computing have only the quantum in common. (i've published on quantum cryptography protocols)
quantum cryptography isn't "encryption" in the sense that crypto algorithms are involved. the encryption part is just XOR with a random one-use string (the key). the hard part is distributing that key.
a better name is quantum key distribution. entangled photons are used to get the random data to both parties in a way that eavesdroppers would introduce error (because of something called quantum indeterminancy).
since no computation is involved, there's not a lot relation to quantum computing. wikipedia's got the details!
Disclaimer: I'm not quantum-anything researcher. But: Based on the description of how "quantum encryption" works, I prefer to call it "quantum intrusion detection". It allows you to verify that the channel is free of eavesdroppers and get a stream of random bits that are guaranteed to only be agreed upon by the two ends of the connection, which can then be used for any other purpose that a stream of random bits only known by two parties can be used for. Using it for a one-time pad is the easiest thing from a theoretical point of view, but you can use it to feed a conventional encryption algorithm, too.
The real key isn't the "random", which is easily obtained from a wide variety of other sources, including fully unpredictable ones like decay sources, nor is it the "encryption" which is merely one application (though easily the "killer app") of the system. The real key is the part where you can detect any intrusion into the connection.
there's no intrusion detection - an attacker increases the error rate, and by the error rate we can calculate the maximum probabilistic information an attacker plausibly might have. i say can, because that number is actually pretty uninteresting, since it isn't intrusion detection - we just now there's something causing the error rate to go up - doesn't have to be an attacker. a higher error rate in practice just means we gotta throw more bits away both during error correction and during privacy amplification - which is kinda like packetloss on a classical channel.
at some point the error rate is too high for error correction with a positive yield (= more key lost in communication, than gained through said communication) - thus the scheme stops working.
my personal favorite name is 'quantum key growing', because that's essentially what happens - you turn an initial shared secret (= random key) into a longer random key. (and while you're continually doing this, you're using up part of the previous key to secure communication as you go along)
Is there some interesting characteristic of the channel that you're looking for, other than intruders, though? Merely detecting the error rate on a channel is uninteresting; conventional algorithms have nailed that problem to the wall. I'm not worried about exactly how it is done, I'm thinking about what it's good for; take away the ability to detect intruders, even if that's not the only thing it may be doing, and what's left?
But it seems that quantum cryptography allows you to do more than what is possible with classical computing: namely, to detect someone listening in on your communication.
What is the relationship between quantum cryptography and quantum computing?
Actually, because of the inherent uncertainty, most computations are exponentially slower on a quantum computer. There are a few algorithms that manage to take advantage of entanglement and superposition to be faster, but quantum computers are not inherently faster than classical computers.
These are uses I recall from a recent lecture on QC:
Using "adiabatic" qbits (not like this one), it seems you can solve any problem that can be structured as a low energy state. Examples of these are: PCB track routing, city planning, some kinds of pattern matching search in large datasets such as gene maps. There are possible applications to AI because it can efficiently update a neural network or a Bayes net.
Also (not sure what kind of qbits are best for this) you should be able to simulate a quantum-influenced process, such as protein folding, one for one rather than via exhaustive calculation on supercomputers.
Factoring crypto is often cited, but to be honest it's a very boring application compared to the many others.
See, I've heard this before. But it really doesn't mean anything to most people. The only concrete example I can think of is cracking modern encryption.
Does anybody have any ideas that would be useful to everyday life? I'm 100% sure that there are a ton.
Well unless users work for NSA, are somehow aware of encryption algorithms, are concerned about protecting their data, or are interested in factoring large numbers, this would not interest them much.
Grover's search algorithm however, will speedup searching. It would be possible to search very large databases in a much shorter time : O(sqrt(n)) instead of O(n). Of course, many problems are based on searching so it is hard to enumerate all the possible end-user visible effects of this.
Idealy only an index would be searched. For example when a sorting algorithm is presented, typically we assume that items are just integers.
So if the database itself is huge, one would take a column and feed that into the quantum computer along with a matching function and a search item and the output would be the position of the item in the column.
In general it is assumed that 'items' are integers. That is general enough. But since no practical implementations exist, still we still don't know how it would work in the real world with a real database.
Here is a more in depth (and somewhat dramatic) explanation:
For N, items to be search, it would take log2(N) qubits (that's enough to represent all N states). The matching function would have to be a quantum gate/operator. In other words, matching is performed in the quantum world.
The idea behind quantum algorithms is to encode the input in a set of qubits, then make them interact in a way that creates a superposition of states. A superposition of states can be thought of as sending the input into a 'magic' quantum world, where N qubits simoultaneously represent all 2^N binary states. Then a set of quantum operators (gates) are applied to the state vector, while it is still in this magic quantum world.
All is fine and dandy (provided that we can mentain the whole quantum world in a stable/isolated state). Then the 'sad' part is that once we measure the result and bring it into the 'real' world, the whole 'magic' quantum world collapses on itself, and only one particular state out of 2^N emerges.
The trick is then to apply the quantum operators such that the probability of the quantum world collapsing to one particular 2^N state is increased. In case of Grover's algorithm that is what happens. The quantum operators increase the probability of the quantum state collapsing to the matched index. It is a probabilistic algorithm in the sense that it might have to be run a couple of times.
You can use polynomial time factoring to prove P = NP. Which means you have simultaneously solved a ton of outstanding optimization problems in science and engineering, and would allow for the creation of AI, clean renewable energy and practical space travel. Obviously those innovations would lead to the biggest change in the history of human civilization, and probably would cause lasting world peace.
All from something as "useless" as factoring integers.
True story.
sleep(3) will be exact natural time three seconds, and you can't hack the system clock like SpeedGear to speed it up or slow it down on a quantum computer.
Quantum Computing seems like voodoo to me, I have to read up more about it. Anyone care enough to explain a bit to me how data compression can benefit from it?
This is in my opinion the most important application of a quantum computer.