6 ms·
Quantum computing (under the quantum circuit model) basically consists of repeatedly applying unitary matrices to complex vectors (the qubits). They are like yo
by throwaway37585 8y ago
Quantum computing (under the quantum circuit model) basically consists of repeatedly applying unitary matrices to complex vectors (the qubits). They are like your Boolean logic gates but they must be unitary, which implies they must be reversible: https://en.wikipedia.org/wiki/Quantum_logic_gate https://en.wikipedia.org/wiki/Quantum_logic_gate.
You can think of unitary matrices as the complex analogue of rotation matrices (https://en.wikipedia.org/wiki/Unitary_matrix https://en.wikipedia.org/wiki/Unitary_matrix), so what quantum logic gates are doing is "rotating" these vectors around in a complex space.
- repsilat 8y agoIn classical computing nobody thinks of programming as consisting of a series of logic gates, though :-). Should we expect more abstractions from quantum computing models in the future? Quantum data structures, common quantum operations etc? Or are quantum algorithms too different from one another, or are "the quantum parts" of most quantum algorithms very compact? (Or do we try to keep them as compact as possible because of hardware constraints?)
- randomsearch 8y agoGreat comment. Circuits are particularly unhelpful in describing quantum algorithms because they usually indicate a fixed problem size, and they do not provide an insight into entanglement, one of the fundamental “resources” of QC. We need new representations and much better abstractions to get away from the low-level thinking we are currently promoting.
- throwaway37585 8y ago> [Quantum circuits] do not provide an insight into entanglement What do you mean? Entanglement occurs whenever the state of a system cannot be factored into a product of the states of its components. Quantum circuits can definitely do that. Just take a qubit, apply the Hadamard gate to it, then CNOT it with a second qubit to get an entangled Bell state. You can see it in action here: http://demonstrations.wolfram.com/GeneratingEntangledQubits/ http://demonstrations.wolfram.com/GeneratingEntangledQubits/. Quantum circuits are also used to describe all kinds of quantum algorithms (quantum Fourier transform, Grover’s algorithm, quantum teleportation, etc).
- antpls 8y agoI'm not sure about the actual intent of the grand-parent, but I think it was referring to insight that a larger audience can understand. I have a CS degree, and I don't know what is "Hadamard", "Bell state", etc. Also your link doesn't load on Firefox Mobile Android, so it didn't help :-) Proposing a Python library about Quantum Computing is an attempt at explaining mechanisms to a larger audience (surely it is not an easy task) Edit : the link finally loaded on another tab while writing the comment, but you have to pay for a license of Wolf.A. to run it, I guess. That can't be arguably considered "accessible" knowledge.
- randomsearch 8y agoI mean, they do not illustrate when qubits have become entangled. You can't see that. I'm sure we can do better.
- throwaway37585 8y agoI’m not sure what you mean by “illustrate when qubits have become entangled”. Can you explain?
- randomsearch 8y agoEntanglement is fundamental to QC, right? So in order to be a useful visualisation of an algorithm, a pictorial representation like a circuit should give some intuition to aid understanding such as: which qubits can potentially be entangled at a given stage in the circuit, etc.
- throwaway37585 8y agoWhy is this (or the demo I linked to earlier) not a satisfactory representation? https://qph.fs.quoracdn.net/main-qimg-1ab704621d3c845630ab6fdc6d1b6259 https://qph.fs.quoracdn.net/main-qimg-1ab704621d3c845630ab6f....
- throwaway37585 8y agoYou might be interested in reading about the quantum lambda calculus and linear types.
- jerf 8y agoYou'd better hope we can figure out some higher abstractions for QM, or you can kiss the even-harder problem of biological computing goodbye. I think there will be, though. I think 99% of the problem is just that we have no hardware yet. It's historically just been too hard to develop algorithms for things we don't have the ability to run yet. I've seen it personally in evolutionary computation [1], and the recent renaissance in AI and ML I believe was largely driven by getting to the point we could actually run these computations in some reasonable period of time. The breakthroughs probably could have happened sooner, except even if you theorized about Deep Learning, nobody would have even been able to use it. [1]: A professor of mine told a heartbreaking (to me) story of carrying around a deck of cards between several institutions as he progressed through his early academic career, running an evolutionary computation in whatever spare time he could get over the literal years. My crappy, grad-student-grade personal laptop, a cheap piece of crap even for the time (I had to permanently clock the nominally 1GHz CPU down to 500MHz just to keep the thing from burning itself up), could have done the whole thing in minutes, if not seconds. Per Dijkstra, computer science may be about computers as much as astronomy is about telescopes, but I would observe astronomy is pretty hard to work on without telescopes in the end.
- ISL 8y agoThe quantum computers to come in the next decade or two might be regarded as marginally more sophisticated than the way we currently regard the first mechanical and electronic computers. The first practical applications will be those that can be readily represented by simple operations on a modest number of qbits. As people practice and learn, sophistication will grow.