3 ms·
Ya looking at quantum computing (QC) from a programmer's perspective, I see issues with abstraction at multiple levels. Basically what's going on is that it's t
by zackmorris 4y ago
Ya looking at quantum computing (QC) from a programmer's perspective, I see issues with abstraction at multiple levels. Basically what's going on is that it's too narrow (tightly coupled to its implementation details), but also too broad (generalized over many disciplines) to easily transform it into simpler domains that are easier for humans to reason about.
So for example, in computer science we can explain basic data structures like binary trees and hash tables from whichever context a student understands. We can use pointers and references from C-style imperative languages. We can use car and cdr from Lisp-style functional languages. We can even jump up to higher levels of abstraction with associative arrays in Javascript. Or make the whole thing in key-value stores like Redis or even a SQL database or x86 assembly if that floats our boat.
But with QC, even its "assembly language" of Hilbert spaces and tensors is already so difficult to understand, much less apply, that the terminology feels like gatekeeping. There's no way to easily identify the smoking gun(s) which separate a QC simulation from qubits in the real world. It's like asking an assembly language teacher how a full adder works, but they throw up their hands and say that first we must understand Fermi levels and electron diffusion across a PN junction. Which while important, doesn't answer the student's question.
What's needed are simple transforms to go from any existing formula/algorithm to its "optimized" QC equivalent. I don't know if that can be done in a general way, like how we can switch from the time domain to the frequency domain with a Fourier transform, or take the derivative of an equation. Maybe it's more like an integral where the solution must be "found" by composing known integrals from a dictionary using heuristics.
But without those transforms, I see us being stuck in a QC winter for the foreseeable future. My words are imperfect, but I know precisely what I'm getting at here. I can't run with QC the way I would with any other programming language, and it really bothers me. To the point of, I'll probably have to actually learn it from first principles and write it up from a programmer's perspective! Someday.
- JieJie 4y ago“The remaining probability was distributed over 01 and 10, which should not be a part of the Bell state. As we discussed before, this phenomenon is due to errors inherent to the quantum processor. As the backend technology improves we expect to get better results.” Debugging sounds like a real bear.