Okay, so I’ve sort of started to grasp what quantum computing is and how it works (after comments from some of my co-workers the other day). And I hate not understanding certain things – if things are explained to me and I still don’t understand, it bugs me to no end; and I in turn usually bug them to no end with more and more specific questions until I begin getting it at a basic level. I think my internet research to date has given me a preliminary concept though and I’m going to put it up and ask a few questions about it.
(Quantum physics stuff especially bugs me because people try explaining things like uncertainty or Bells inequality with buzzwords “multiple universes” and “superposition of concepts”, like “well sometimes it’s a particle and sometimes it’s a wave”. This doesn’t give me much of a picture of what’s going on, just a series of stories told about the topic. Someday I’m going to wade through an entire QP textbook, nasty field equations and all, just to keep myself sane when the topic comes up.)
Okay, well here is what I’ve gathered about how quantum computing works so far: You start with some data that you want to perform operations on. There is some process whereby several bits of information are encoded in one or more “quibit” vectors. These vectors can be imposed (method unknown) on the state of things like fluorine atoms suspended at extremely low temperatures, ect; where we can preserve quantum superposition of these states. (Quibits being quantum superpositions of on-states and off-states, the superposition can hold the whole vector (with analog probabilities assigned to each vector basis) worth of information, rater than just digital on or off states.)
Okay, so now you have many digital bits worth of information represented by the analog orientation of these quibit vectors. You can now perform other superposition operations between quibit vectors (addition, subtraction, and negation are apparently the limit. conditionals currently require us to collapse the state, reconvert the info, and digitally operate). You are effectively performing operations on all these different pieces of digital info simultaneously by adding the vectors.
Then you reconvert the quibits back into digital information so that you can see what you have. Actually, when you collapse the superposition of states of a quibit you just get either 1 or 0. But when you send the info through multiple times, you get 1 with probability a and 0 with probability b, {a,b} being the components of the resultant quibit vector, which can be re-converted back into digital info using the reverse of your encoding method.
(missing anything so far?)
Okay, so this brings me to some of my questions:
1. Maintaining superposition of states in fluorine atoms is a pain in the butt, requiring cool, yet bulky and expensive lab toys like near-absolute-zero temperatures and big NMRI machines to manipulate and read the state of the atoms. What would prevent you from doing the same operations with analog electric signals? If you have an analog signal a and b, you still have a 2d analog vector in which you can encode some number of digital bits and perform the same addition, subtraction, and negation operations. Furthermore, you don’t have to destroy the info (like you destroy quibits when you read them) to read an analog vector. One pass should give you the straight values of a and b, and thus the resultant vector.
2. QCs are supposed to allow us to solve currently infeasible problems much faster than conventional computers due to our ability to encode some arbitrary amount of information in quibits which can be passed through simultaneously. However, can you do something like matrix inversion without conditionals? Gaussian elimination requires you to look at what you have several times to see what the magnitude of the leading values are in the row are. Other iterative methods of inversion require matrix multiplication. (Can you “multiply” information within a quibit without having to collapse it to read how many times to add another quibit?)
To be continued.