So far, everything has been about a single qubit — a 2D vector, a point on the Bloch sphere. But a single qubit can't compute anything useful. The power of quantum computing comes from combining multiple qubits and exploiting their collective behavior.
The question is: if qubit A is in state \(\ket{\phi_A}\) and qubit B is in state \(\ket{\phi_B}\), what is the joint state of the two-qubit system? The answer is the tensor product (also called the Kronecker product). This one operation is the bridge between the single-qubit world you know and the multi-qubit world where quantum computation lives.
One qubit lives in \(\mathbb{C}^2\) (a 2D complex vector). Two qubits live in \(\mathbb{C}^4\). Three qubits live in \(\mathbb{C}^8\). In general, \(n\) qubits live in \(\mathbb{C}^{2^n}\). The state space grows exponentially — this is why quantum computers can potentially outperform classical ones.
The Kronecker product \(V \otimes W\) takes two matrices and produces a larger matrix by a simple rule: replace each entry of \(V\) with that entry times the entire matrix \(W\).
Given matrix \(V\) with \(r_V\) rows and \(c_V\) columns, and matrix \(W\) with \(r_W\) rows and \(c_W\) columns, the Kronecker product \(V \otimes W\) has \(r_V \cdot r_W\) rows and \(c_V \cdot c_W\) columns:
$$V \otimes W = \begin{pmatrix} V_{00}W & V_{01}W & \cdots & V_{0,c_V}W \\ V_{10}W & V_{11}W & \cdots & V_{1,c_V}W \\ \vdots & \vdots & \ddots & \vdots \\ V_{r_V,0}W & V_{r_V,1}W & \cdots & V_{r_V,c_V}W \end{pmatrix}$$
Each entry \(V_{ij}\) of the first matrix gets replaced by the entire block \(V_{ij} \cdot W\).
Let \(V = \begin{pmatrix} 2 & 4 \\ 6 & 8 \end{pmatrix}\) and \(W = \begin{pmatrix} 3 & 5 \\ 7 & 9 \end{pmatrix}\). Then:
$$V \otimes W = \begin{pmatrix} 2 \cdot \begin{pmatrix} 3 & 5 \\ 7 & 9 \end{pmatrix} & 4 \cdot \begin{pmatrix} 3 & 5 \\ 7 & 9 \end{pmatrix} \\ 6 \cdot \begin{pmatrix} 3 & 5 \\ 7 & 9 \end{pmatrix} & 8 \cdot \begin{pmatrix} 3 & 5 \\ 7 & 9 \end{pmatrix} \end{pmatrix} = \begin{pmatrix} 6 & 10 & 12 & 20 \\ 14 & 18 & 28 & 36 \\ 18 & 30 & 24 & 40 \\ 42 & 54 & 56 & 72 \end{pmatrix}$$
The two \(2 \times 2\) matrices became a \(4 \times 4\) matrix. Each entry of \(V\) was replaced by a scaled copy of \(W\).
Let \(X = \begin{pmatrix} 0 & 1 \\ 1 & 0 \end{pmatrix}\) and \(H = \frac{1}{\sqrt{2}}\begin{pmatrix} 1 & 1 \\ 1 & -1 \end{pmatrix}\). Then:
$$X \otimes H = \begin{pmatrix} 0 \cdot H & 1 \cdot H \\ 1 \cdot H & 0 \cdot H \end{pmatrix} = \begin{pmatrix} 0 & 0 & \frac{1}{\sqrt{2}} & \frac{1}{\sqrt{2}} \\ 0 & 0 & \frac{1}{\sqrt{2}} & -\frac{1}{\sqrt{2}} \\ \frac{1}{\sqrt{2}} & \frac{1}{\sqrt{2}} & 0 & 0 \\ \frac{1}{\sqrt{2}} & -\frac{1}{\sqrt{2}} & 0 & 0 \end{pmatrix}$$
In block notation: \(X \otimes H = \begin{pmatrix} 0 & H \\ H & 0 \end{pmatrix}\). This is a two-qubit gate that applies X to the first qubit and H to the second.
These properties are essential for working with multi-qubit systems. They let you simplify calculations by operating on individual qubits separately.
\(V \otimes W \neq W \otimes V\) in general. The tensor product is not commutative. The order of the qubits matters: \(\ket{0}\ket{1} \neq \ket{1}\ket{0}\).
When qubit A is in state \(\ket{\phi_A}\) and qubit B is in state \(\ket{\phi_B}\), their joint state is the tensor product \(\ket{\phi_A} \otimes \ket{\phi_B}\).
Start with the single-qubit basis: \(\ket{0} = \begin{pmatrix} 1 \\ 0 \end{pmatrix}\) and \(\ket{1} = \begin{pmatrix} 0 \\ 1 \end{pmatrix}\). The two-qubit computational basis is all combinations:
$$\ket{00} = \ket{0} \otimes \ket{0} = \begin{pmatrix} 1 \\ 0 \end{pmatrix} \otimes \begin{pmatrix} 1 \\ 0 \end{pmatrix} = \begin{pmatrix} 1 \\ 0 \\ 0 \\ 0 \end{pmatrix} \qquad \ket{01} = \ket{0} \otimes \ket{1} = \begin{pmatrix} 1 \\ 0 \end{pmatrix} \otimes \begin{pmatrix} 0 \\ 1 \end{pmatrix} = \begin{pmatrix} 0 \\ 1 \\ 0 \\ 0 \end{pmatrix}$$
$$\ket{10} = \ket{1} \otimes \ket{0} = \begin{pmatrix} 0 \\ 1 \end{pmatrix} \otimes \begin{pmatrix} 1 \\ 0 \end{pmatrix} = \begin{pmatrix} 0 \\ 0 \\ 1 \\ 0 \end{pmatrix} \qquad \ket{11} = \ket{1} \otimes \ket{1} = \begin{pmatrix} 0 \\ 1 \end{pmatrix} \otimes \begin{pmatrix} 0 \\ 1 \end{pmatrix} = \begin{pmatrix} 0 \\ 0 \\ 0 \\ 1 \end{pmatrix}$$
The basis vector \(\ket{x}\) for bitstring \(x\) is a vector of all zeros except for a 1 at position \(b(x)\), where \(b(x)\) is the binary number \(x\) interpreted as an integer (counting from 0).
Examples: \(\ket{00} \to\) position 0, \(\ket{01} \to\) position 1, \(\ket{10} \to\) position 2, \(\ket{11} \to\) position 3.
What is \(\ket{+} \otimes \ket{0}\)? Apply the same rule — each entry of the first vector multiplies the entire second vector:
$$\ket{+} \otimes \ket{0} = \frac{1}{\sqrt{2}}\begin{pmatrix} 1 \\ 1 \end{pmatrix} \otimes \begin{pmatrix} 1 \\ 0 \end{pmatrix} = \frac{1}{\sqrt{2}} \begin{pmatrix} 1 \cdot \begin{pmatrix} 1 \\ 0 \end{pmatrix} \\ 1 \cdot \begin{pmatrix} 1 \\ 0 \end{pmatrix} \end{pmatrix} = \frac{1}{\sqrt{2}} \begin{pmatrix} 1 \\ 0 \\ 1 \\ 0 \end{pmatrix}$$
Reading off the amplitudes: \(\frac{1}{\sqrt{2}}\ket{00} + 0\ket{01} + \frac{1}{\sqrt{2}}\ket{10} + 0\ket{11} = \frac{1}{\sqrt{2}}(\ket{00} + \ket{10})\). Makes sense — the first qubit is in superposition (could be 0 or 1), the second qubit is always 0.
Now try the reverse order: \(\ket{0} \otimes \ket{+}\):
$$\ket{0} \otimes \ket{+} = \begin{pmatrix} 1 \\ 0 \end{pmatrix} \otimes \frac{1}{\sqrt{2}}\begin{pmatrix} 1 \\ 1 \end{pmatrix} = \frac{1}{\sqrt{2}} \begin{pmatrix} 1 \cdot \begin{pmatrix} 1 \\ 1 \end{pmatrix} \\ 0 \cdot \begin{pmatrix} 1 \\ 1 \end{pmatrix} \end{pmatrix} = \frac{1}{\sqrt{2}} \begin{pmatrix} 1 \\ 1 \\ 0 \\ 0 \end{pmatrix}$$
Now the second qubit is in superposition while the first is fixed at 0: \(\frac{1}{\sqrt{2}}(\ket{00} + \ket{01})\). Different vector — order matters.
Since these four vectors form a basis for \(\mathbb{C}^4\), any two-qubit state can be written as:
$$\begin{pmatrix} a \\ b \\ c \\ d \end{pmatrix} = a\ket{00} + b\ket{01} + c\ket{10} + d\ket{11}$$
where \(|a|^2 + |b|^2 + |c|^2 + |d|^2 = 1\) (normalization).
For \(n\) qubits, the computational basis has \(2^n\) elements, one for each \(n\)-bit string. The state vector lives in \(\mathbb{C}^{2^n}\).
For \(n = 3\), we have 8 basis states: \(\ket{000}, \ket{001}, \ket{010}, \ket{011}, \ket{100}, \ket{101}, \ket{110}, \ket{111}\).
$$\ket{101} = \ket{1}\ket{0}\ket{1} \quad\to\quad \text{binary } 101 = 5 \quad\to\quad \text{position 5 in an 8D vector}$$
$$\ket{101} = \begin{pmatrix} 0 \\ 0 \\ 0 \\ 0 \\ 0 \\ 1 \\ 0 \\ 0 \end{pmatrix} \qquad \ket{111} = \begin{pmatrix} 0 \\ 0 \\ 0 \\ 0 \\ 0 \\ 0 \\ 0 \\ 1 \end{pmatrix}$$
What is \(\ket{+} \otimes \ket{0} \otimes \ket{1}\)? Work left to right — first tensor the first two, then tensor with the third:
Step 1: \(\ket{+} \otimes \ket{0}\) (we already computed this above)
$$\frac{1}{\sqrt{2}}\begin{pmatrix} 1 \\ 0 \end{pmatrix} \otimes \begin{pmatrix} 1 \\ 0 \end{pmatrix} = \frac{1}{\sqrt{2}} \begin{pmatrix} 1 \\ 0 \\ 1 \\ 0 \end{pmatrix}$$
Step 2: tensor that result with \(\ket{1} = \begin{pmatrix} 0 \\ 1 \end{pmatrix}\):
$$\frac{1}{\sqrt{2}} \begin{pmatrix} 1 \\ 0 \\ 1 \\ 0 \end{pmatrix} \otimes \begin{pmatrix} 0 \\ 1 \end{pmatrix} = \frac{1}{\sqrt{2}} \begin{pmatrix} 1 \cdot \begin{pmatrix} 0 \\ 1 \end{pmatrix} \\ 0 \cdot \begin{pmatrix} 0 \\ 1 \end{pmatrix} \\ 1 \cdot \begin{pmatrix} 0 \\ 1 \end{pmatrix} \\ 0 \cdot \begin{pmatrix} 0 \\ 1 \end{pmatrix} \end{pmatrix} = \frac{1}{\sqrt{2}} \begin{pmatrix} 0 \\ 1 \\ 0 \\ 0 \\ 0 \\ 1 \\ 0 \\ 0 \end{pmatrix}$$
Reading off: \(\frac{1}{\sqrt{2}}(\ket{001} + \ket{101})\). First qubit in superposition, second always 0, third always 1. Product state — all three qubits are independent.
A general 3-qubit state example from the lecture notes:
$$\ket{\eta} = \frac{1}{\sqrt{2}}\ket{000} + \frac{1}{\sqrt{2}}\ket{111} = \frac{1}{\sqrt{2}}\begin{pmatrix} 1 \\ 0 \\ 0 \\ 0 \\ 0 \\ 0 \\ 0 \\ 1 \end{pmatrix}$$
This is actually a famous state — the 3-qubit GHZ state, the multi-qubit generalization of entanglement. But more on entanglement on the next page.
This is the critical distinction that makes multi-qubit quantum mechanics different from classical mechanics.
A two-qubit state \(\ket{\phi}\) is a product state if you can find single-qubit states \(\ket{\phi_A}\) and \(\ket{\phi_B}\) such that:
$$\ket{\phi} = \ket{\phi_A} \otimes \ket{\phi_B}$$
Each qubit has its own independent state. Measuring one tells you nothing new about the other.
A state that is not a product state is called entangled. You cannot describe each qubit independently — the two qubits are correlated in a way that has no classical analogue.
Consider \(\ket{\phi} = \frac{1}{\sqrt{2}}(\ket{10} + \ket{00})\). Can we factor it?
$$\frac{1}{\sqrt{2}}(\ket{10} + \ket{00}) = \frac{1}{\sqrt{2}}(\ket{1} + \ket{0}) \otimes \ket{0} = \ket{+} \otimes \ket{0} = \ket{+0}$$
Yes, it factors. This is a product state. Qubit A is in state \(\ket{+}\), qubit B is in state \(\ket{0}\). Not entangled.
Now consider \(\ket{\phi} = \frac{1}{\sqrt{2}}(\ket{00} + \ket{11})\). Can we factor it? From the definition above, a product state is \(\ket{\phi_A} \otimes \ket{\phi_B}\). Since any single-qubit state is of the form \(\alpha\ket{0} + \beta\ket{1}\), we're asking: do any values of \(\alpha, \beta, \gamma, \delta\) make this true?
$$\frac{1}{\sqrt{2}}(\ket{00} + \ket{11}) \stackrel{?}{=} (\alpha\ket{0} + \beta\ket{1}) \otimes (\gamma\ket{0} + \delta\ket{1})$$
Expand the right side to compare:
This expansion works exactly like FOIL from algebra. The tensor product distributes over addition, so \((A + B) \otimes (C + D) = A{\otimes}C + A{\otimes}D + B{\otimes}C + B{\otimes}D\):
$$\underbrace{(\alpha\ket{0} + \beta\ket{1})}_{(A+B)} \otimes \underbrace{(\gamma\ket{0} + \delta\ket{1})}_{(C+D)}$$
$$= \alpha\ket{0}{\otimes}\gamma\ket{0} + \alpha\ket{0}{\otimes}\delta\ket{1} + \beta\ket{1}{\otimes}\gamma\ket{0} + \beta\ket{1}{\otimes}\delta\ket{1}$$
$$= \alpha\gamma\ket{00} + \alpha\delta\ket{01} + \beta\gamma\ket{10} + \beta\delta\ket{11}$$
Comparing with \(\frac{1}{\sqrt{2}}\ket{00} + 0\ket{01} + 0\ket{10} + \frac{1}{\sqrt{2}}\ket{11}\), we need:
Contradiction. We need \(\alpha, \beta, \gamma, \delta\) all nonzero (from the first conditions) but also need some of them to be zero (from the second conditions). Impossible. This state cannot be factored — it is entangled.
For a general two-qubit state \(a\ket{00} + b\ket{01} + c\ket{10} + d\ket{11}\):
$$\text{Product state} \iff ad = bc$$
If the "cross product" \(ad - bc = 0\), it factors. If \(ad - bc \neq 0\), it's entangled.
For \(\frac{1}{\sqrt{2}}\ket{00} + \frac{1}{\sqrt{2}}\ket{11}\): \(a = \frac{1}{\sqrt{2}}, b = 0, c = 0, d = \frac{1}{\sqrt{2}}\). Check: \(ad = \frac{1}{2} \neq 0 = bc\). Entangled.
When you apply a single-qubit gate \(U\) to one qubit of a multi-qubit system, the other qubits get the identity \(I\). The full operation is a tensor product of gates.
Apply \(U\) to the left qubit: \(\quad (U \otimes I)\ket{\phi_{AB}}\)
Apply \(U\) to the right qubit: \(\quad (I \otimes U)\ket{\phi_{AB}}\)
This works for both product states and entangled states. The mixed-product rule guarantees that on product states, \((U \otimes I)(\ket{\phi_A} \otimes \ket{\phi_B}) = U\ket{\phi_A} \otimes \ket{\phi_B}\).
$$(X \otimes I)\ket{00} = (X\ket{0}) \otimes (I\ket{0}) = \ket{1} \otimes \ket{0} = \ket{10}$$
Or equivalently, build the full \(4 \times 4\) matrix via the Kronecker product and multiply. Recall \(X = \begin{pmatrix} 0 & 1 \\ 1 & 0 \end{pmatrix}\) and \(I = \begin{pmatrix} 1 & 0 \\ 0 & 1 \end{pmatrix}\). Replace each entry of \(X\) with that entry times the entire \(I\):
$$X \otimes I = \begin{pmatrix} 0 \cdot I & 1 \cdot I \\ 1 \cdot I & 0 \cdot I \end{pmatrix} = \begin{pmatrix} 0 & 0 & 1 & 0 \\ 0 & 0 & 0 & 1 \\ 1 & 0 & 0 & 0 \\ 0 & 1 & 0 & 0 \end{pmatrix}$$
Now multiply by the state vector:
$$\begin{pmatrix} 0 & 0 & 1 & 0 \\ 0 & 0 & 0 & 1 \\ 1 & 0 & 0 & 0 \\ 0 & 1 & 0 & 0 \end{pmatrix} \begin{pmatrix} 1 \\ 0 \\ 0 \\ 0 \end{pmatrix} = \begin{pmatrix} 0 \\ 0 \\ 1 \\ 0 \end{pmatrix} = \ket{10} \quad\checkmark$$
Writing \(\otimes\) everywhere gets tedious. These shorthand notations are all equivalent:
$$\ket{0} \otimes \ket{1} = \ket{0}\ket{1} = \ket{01}$$
Similarly for gates: \(X \otimes H\) means "apply X to the first qubit and H to the second." The position in the tensor product matches the qubit number.