3 ms·
Question for someone who knows more about this: Is this the right way to think about it? What we need to do to write a "program" to solve a problem is: 1) Fi
by roundsquare 17y ago
Question for someone who knows more about this:
Is this the right way to think about it? What we need to do to write a "program" to solve a problem is:
1) Find a set of gates to setup the atoms so that they have the right input.
2) Find a set of gates that uses this input to solve the problem.
I know very little about quantum computation so any help is appreciated...
- pmjordan 17y agoTake a look at Shor's algorithm[1] for factoring integers on a quantum computer. It's definitely not for the faint of heart, but it should show you what goes into creating an algorithm for a quantum computer. People complain about concurrent programming, they have another thing coming if quantum computers become commonplace. I suspect it will be more like programming an FPGA than a CPU. In any case, as I understand it, you will need to add a third step, which is to extract the correct solution from the system's state, which is also non-trivial. [1] http://en.wikipedia.org/wiki/Shors_algorithm http://en.wikipedia.org/wiki/Shors_algorithm
- roundsquare 17y agoIn any case, as I understand it, you will need to add a third step, which is to extract the correct solution from the system's state, which is also non-trivial. Good point, I didn't think about retrieving the answer. Is that something can be done with gates or is there another method? Edit: People complain about concurrent programming, they have another thing coming if quantum computers become commonplace. I suspect it will be more like programming an FPGA than a CPU. Seems like you might be right in the short term, but I wonder if it will be true in the long term. E.g. once you get methods for doing a bunch of standard stuff you can put them together. Not sure if that works for quantum computing but maybe some other way of abstracting out the details.
- pmjordan 17y agoGood point, I didn't think about retrieving the answer. Is that something can be done with gates or is there another method? My (simplistic) understanding is this: you need to think of the "registers" in a qc as not storing one value but essentially a probability distribution, so your operations are really convolutions of those distributions. "reading" from the register is a measurement, which collapses the wavefunction into a set of states which happen to share the value for the attribute you are measuring. The outcome of the measurement is random but governed by the probability distribution that the system has for that attribute at that point. You need to make the desired answer stand out in that distribution (i.e. more likely to come up), otherwise you won't have gained anything vs a classical computer. Seems like you might be right in the short term, but I wonder if it will be true in the long term. I'm having a hard time understanding this stuff at the micro level, whereas assembly language of a classical computer is trivial in comparison. I made the FPGA and concurrency analogy because you have to account for global state, not just the state of registers touched by one instruction. Except the "global state" in a qc is a different beast entirely. I guess I don't have a clue what these abstractions might look like so I'm going to accept that you may well be right.
- chrjozefharibo 17y agoFor performing a quantum algorithm two sets of gates are needed, for instance single qubit rotations and a square root of swap gate. A hadamard gate is another example of a universal gate. Starting up your quantum computer, you will find it in its ground state, that is the state where all qubits are in their lowest energy state. From there you start to apply q gates to the qubits. These gates make the Hamiltonian of the system evolve in time. Depending on THE sequence of gate operations on qubits, you evolve from one state to the other, performing a certain algorithm. Read out of the final state depends on the implementation of the qubit. For atoms and diamond nv centers you can use a laser. For electron spins you can use a charge detector, for flux qubits you measure a magnetic field.