This is a page where I keep track of all the thigs Quantum that I work on. This includes, puzzles, written chat notes, maybe links to vids. We'll see.

by Daniel Colomer

This is not an idea commonly discussed in learning books or tutorials but I found it useful and I think it’s a great alternative to the less intuitive system level thinking imposed by linear algebra.

Take a system with two qubits each in the state +. The theory tells us we should interpret this system as a product of its subsystems and therefore we got (0+1)(0+1) which gives us a system in the state 00+01+10+11 (ignoring normalization for the sake of brevity ok?!). Linear algebra teaches us to think about operations in this system as transformations from one state to another. Sometimes things get trickier specially when we have controlled operations from which we very often have to build up intuition about their effects by observing what do they do to different input states. The problem with this approach is that it’s easy to oversee things like phase kickback or like entanglement. You wouldn’t be able to easily tell whether the outcome state of applying a CZ to our initial ++ system creates any entanglement. Our intuition tells us it negates the component 11 of the overall state but that’s it.

This is where computational branching (I’ll just use the word branching from now on to make it easier for me to write) comes in and helps with a more. Branching is a more fundamental way to think about controlled operations. It’s also an easier to way to think about for most of us as it resembles more the classical if-else-statement thinking that most software developers are already familiar with. It goes like this:

- whenever you encounter a controlled operation imagine your system gets split into two branches.
- one branch will correspond to the branch where the control qubit was “on” this and the other will correspond the the branch where the control qubit was “off”.
- each branch then corresponds to a concrete version of the target qubits state where the controlled op was executed or not based on the branch we are in.
- if there are 2 or more branches with different target states we can say we have entanglement!
- if two or more branches equal target states we should the combine the branches into one single branch.
- if there is one one branch left we got no entanglement
- if we have target states which are not equal but are computationally equivalent. For exame the 0-1 state and the -0+1 state we must apply a correction to those branches where the 0 component has a nonzero phase. This correction affects the control state as well as as this is part of the branch!
- the correction mentioned in the point above is the definition of phase kickback :)

These are basically just some of the rules I’ve been able to build up so far. Additionally to this there are some interesting observations:

- branches are always separated from each other? (not so sure yet)
- when two branches have opposite phases you have maximum entanglement
- when the amplitudes of the control state are 50/50 we got Max entanglement

I’ll add more stuff to the list as soon as I can explore more around this idea but it seems like a pretty solid way to think about multi qubit systems and operations in a way that is naturally intuitive

tags: