The Language of Qubits

Tensor Products

9 min

One qubit needs 2 numbers. Two qubits need 4. Not 2 + 2, 2 × 2.

The operation that does this multiplying is written ⊗, and it has a scary name and an easy job.

Why simulation gets hard
QubitsAmplitudes
12a single qubit
24|00⟩ |01⟩ |10⟩ |11⟩
101,024a laptop shrugs
50~10¹⁵a serious supercomputer
300~10⁹⁰more than atoms in the observable universe
Each added qubit doubles the number of amplitudes you would have to track classically. This is the reason quantum computers are interesting, and it is not by itself a promise of speedup.

How it works

Multiply every number in the first list by the whole second list:

(a, b) ⊗ (c, d) = (ac, ad, bc, bd)

So |0⟩ ⊗ |0⟩ is (1,0) ⊗ (1,0) = (1,0,0,0), which we shorten to |00⟩. Those four slots are the amounts of 00, 01, 10 and 11, in that order.

Gates stack the same way. Doing H to the first qubit and nothing to the second is one 4×4 grid, written H ⊗ I.

Now try to pull a Bell pair apart

Here is where it gets interesting. Take the entangled pair from Fundamentals and try to write it as "this first qubit ⊗ that second qubit":

(|00⟩ + |11⟩)/√2 = (a,b) ⊗ (c,d)?

You would need ac and bd to be big, and both ad and bc to be zero. But if ad = 0 then either a or d is zero, and either one wrecks one of the first two.

There is no answer. It genuinely cannot be done.

Entangled, properly defined

A pair that cannot be written as one qubit's description times another's. That failure is not a limitation of our notation. It is the definition.

Worth remembering

  • Combining qubits multiplies the number of slots rather than adding them.
  • n qubits need 2ⁿ numbers.
  • Some pairs simply cannot be pulled apart. Those are the entangled ones.
  • That impossibility is what makes ordinary simulation blow up.