Quantum Computing 101
academy.meetiqm.com
academy.meetiqm.com
It's not monetized or anything. Just hoping it's of some help to someone out there.
When there is examples of entanglement, it is always between two particles. But if I understand QC right, every qubit must be entangled with each other.
1a - Thus this mean that "particles" can be entangled, not only to one "particle", but to many at the same time? Or are they entangled in series or something?
It is often talk about that qubits need to be entangled in a QC, but never how this is done.
1b - So how is the entanglement between different qubits done in practice in a real QC?
As I understand QC you dont get a absolute answer, just a probability it is the right answer. And because of this you have to run the "simulation" many times to verify the answer. As I also understand is that when you read out the state of an qubit the quantum state collapse and so does it do for all the other qubits.
2a - Thus this mean that to read out the answer from all qubits, you always need to run, at minimum, as many simulations as there is qubits in the QC? That after the first run you read out the state of the first qubit, after the second run you read out the next qubit and so on until you have a state from all qubits for that simulation and then you combine them to a final anwser?
2b - How many times must you actually run a simulation in a QC to get an answer?
> Thus this mean that "particles" can be entangled, not only to one "particle", but to many at the same time? Or are they entangled in series or something?
There is in principle no limit to how many particles can be entangled together, but in practice it becomes harder and harder to prevent any particles from interacting with the external environment.
You have to be careful with terms here, because of the 'Monogamy of Entanglement', which essentially says that if A is fully entangled with B then B cannot be fully entangled with C.
https://en.wikipedia.org/wiki/Monogamy_of_entanglement
So how does this not contradict my earlier statement? When three particles are fully mutually entangled then any pair of them in isolation are not entangled at all.
To be more concrete, if you have three qbits which are in a superposition of 000 and 111, then no experiment you can do on the first two qbits can possibly distinguish this from two classically correlated bits unless you allow the third qbit to be involved in the experiment.
>As I understand QC you dont get a absolute answer, just a probability it is the right answer. And because of this you have to run the "simulation" many times to verify the answer. As I also understand is that when you read out the state of an qubit the quantum state collapse and so does it do for all the other qubits.
It's true that all the qbits collapse, but the state that they collapse is still interesting. You can get much more than 1 bit of useful information per simulation.
> How many times must you actually run a simulation in a QC to get an answer?
Depends on both the algorithm and the details of the hardware. Assuming an 'ideal' quantum computer (which will probably never exist), Grover's algorithm will give you the right answer after 2 runs on average.
How do you entangle? You can just let two particles interact, so they "mix" their information. Example: you send laser light (photon qubits) to an atom (another qubits). After a short period, there is a probability that the atom absorbed photons, but that probability is not 100%. You just entangled light with an atom. Only measurement can give you information on whether the photons were absorbed or not.
In practice, each platform has its own entangling mechanism. Usually, it entangles only 2 qubits. Many-qubit entanglement can be achieved by pairwise entangling AB, BC, CD, etc.
The first practical example of qubit entangling operation was the Cirac-Zoller gate, you can check it out.
Regarding your second question, you can actually measure just part of the system, and measure the rest later. It will give you a partial collapse. It's called "tracing out", the quantum analogue of marginalization in probability.
The article doesn't explain what a Hadamard Gate is actually physically doing to the qubit. Without that information, I do not draw the same conclusion that a qubit's storing and retaining any useful information. Instead, I'd assume that the Hadamard gate is (somehow?) sensing if a qubit is in a superposition or collapsed stated, and then it inverts that state (i.e. from a superposition to a collapsed state or from a collapsed state back into a superposition).
I'm not saying that's the correct assumption, I'm just pointing out some incomplete logic in the lessons that's prohibiting me from proceeding with this lesson plan until I can definitively rule out the possibility that the Hadamard gate itself is not introducing the information back into the qubit.
As it stands, quantum computing still has a huge gap between representing things in the form of equations (quantum circuits) and producing useful algorithms. I suspect that the fascination with describing things in terms of matrix math is partly responsible for this. Most useful classical algorithms are pretty much impossible to describe as classical circuits, so I don't understand the fascination with that form of notation in quantum computing.
Here are the list of gates, go build your algorithm
https://en.m.wikipedia.org/wiki/Quantum_logic_gate
(Hint, the hardest part is hardware, not the math)
I don't want my quantum computer to constrain me to building up circuits with matrix math operations. Most algorithms you do today are very poorly represented as matrix math that way. As a toy example, write up a sorting algorithm as matrix math using classical gates for me, and come back. Then I will start treating logic gates as a serious way to write algorithms.
Pretty often you'll find that papers on the higher-order applicability of quantum computing, which tweak in simple ways or glue together existing basic algorithms, won't use the circuit model for their algorithms at all.
The reason the matrix math persists is twofold. Firstly, we don't have good quantum computers, and gate depth is severely limited, plus it can quickly became intractable to simulate inefficient circuits without using tricks, even if they are doing something simple.
So we are at a state in quantum computing where writing the basic algorithms requires absolutely extreme optimization, down to the level of logic gates, because it's not feasible to implement or even rigorously prove much any other way.
The other issue is that quantum computing offers you an infinite degree of freedom on the operations you can do. While in classical computing there are only two operations you can do on 1 bit, there is an infinite number of operations you can do on 1 qubit. These operations are easily described by a set of orthogonal normalized vectors (as a change of basis), so of course a matrix is the most natural way to describe them. The infinity of basic operations really is the problem here, unfortunately, so simpler ways of describing basic operations aren't really possible. Of course, that doesn't excuse the circuit based approach - that is however due to a limitation in technology.
By the way, I have been a professional FPGA developer for a while, and every few years, vendors think "this will be the time that FPGAs get broad adoption." AI inference is (right now) a perfect problem for FPGA use (literally 100-1000x more efficient than GPUs), but almost nobody cares, despite how powerful the computers are. The reason nobody cares is that FPGA programming is about constructing classical circuits - thinking about algorithms that way is REALLY hard. For example, hash tables were invented in the 60's, but they came to FPGAs in the 2010's. Sure, you can kind of do recursion and other similar ideas, but it's generally really annoying to cram an algorithm into a representation that is FPGA-friendly.
I don't want quantum computing to wedge itself into the same trap, particularly when it doesn't look like it needs to on any fundamental level. Maybe I'm wrong that quantum computers will eventually overcome the limitations on depth, etc.
You probably owe him around $950 as there are a couple of kets in there, but mostly pretty clean I'd say
You can transfer the money to Bob Coecke [3].
[1] https://www.amazon.com/Quantum-Pictures-New-Understand-World...
[2] https://twitter.com/CraigGidney/status/1643848850711662592
Case in point, the whole set of replies here are people who didn't read past the first sentence of that comment.
By the way, I took a graduate course in quantum computation more than 20 years ago. People were equally gung-ho about quantum computation then. Not much has changed in the meantime. Quantum computation remains equally "just around the corner" now as it was then.
QCs also useful for quantum simulations.
That entirely depends on how big N is.
There's also the point that we only know about quantum algorithms that have already been discovered despite the almost complete absence of working quantum computers.
I don't think too many classical algorithms were discovered before we had access to classical computing either. (I could be wrong).
Quantum computers are different, because we have reason to think that they can scale exponentially faster than "follow these steps on pen and paper, but more faster", unlike classical computers.
The real applications are in simulating other quantum systems for drug discovery etc.
This very website is using RSA for TLS authentication. There are lots of applications where the longer key generation time and longer keys of RSA are not an issue. RSA is pretty common. Which is a good thing. We don't want to put all our eggs in one basket.