Hello! Welcome back to our journey into the principles of quantum computing.
In our last lesson, we focused on the mechanics of how quantum gates, represented by matrices, act on qubit states. We practiced matrix-vector and matrix-matrix multiplication, which is the engine for simulating quantum circuits. You saw that a single qubit is described by a 2-element vector, and a gate acting on it is a 2x2 matrix.
This naturally leads to a new question: if we have two, three, or more qubits, how do we describe their collective state? It's not as simple as just listing their individual state vectors. We need a way to combine them into a single, unified mathematical object.
Today's lesson addresses exactly that. Our learning outcome is to compute the tensor product of two vectors to represent multi-qubit states. This operation is the key to expanding our framework from single qubits to the multi-qubit systems where quantum computation's real power begins to show.
1. Combining Systems: Beyond Stacking Vectors
When we combine two quantum systems, we need to create a new state space that accounts for all possible combinations of the original states. A common first guess might be to just stack the state vectors on top of each other (an operation called a direct sum). However, a two-qubit system has four distinct classical states (), so we need a 4-dimensional vector to represent a superposition of them all.
The correct operation for this is the tensor product, denoted by the symbol . The tensor product creates a new, larger vector space whose dimensions are the product of the original spaces' dimensions (e.g., a 2D space a 2D space = a 4D space).

The following video provides an excellent conceptual introduction to combining systems, starting with familiar classical ideas before moving to the quantum case.
Multiple Systems | Understanding Quantum Information & Computation | Lesson 02
This segment from the Qiskit series on Quantum Information & Computation explains why we need a new mathematical tool to describe multiple systems and introduces the tensor product.
Watch the video from 01:09 to 04:30. This part introduces the idea of a 'compound system' and the 'Cartesian product' for classical states, which builds the intuition for the tensor product we'll use for quantum states.
2. The Mechanics of the Tensor Product
Now, let's look at how the tensor product is calculated. The rule is straightforward: you multiply each element of the first vector by the entire second vector.
This next video offers a very clear, step-by-step demonstration of this calculation for two general single-qubit vectors.
2-Qubit Computational Basis States, Tensor Products, Orthonormality, 4D Hilbert Space
The channel Elucyda provides a concise and practical guide to performing the tensor product calculation.
Watch from 01:36 to 04:06. Pay close attention to the procedure for combining two 2-element column vectors into a single 4-element column vector. The video calls this a 'general definition'.
Let's formalize this. Given two single-qubit states:
Their tensor product is calculated as:
The resulting 4-element vector lives in the two-qubit state space. The entries correspond to the amplitudes of the basis states , and , respectively. This is known as lexicographical, or dictionary, ordering.
3. Constructing the Two-Qubit Basis
With the calculation rule in hand, we can now construct the column vectors for the four computational basis states of a two-qubit system. These form the fundamental building blocks for all two-qubit states.
The following video walks through creating each of these four basis vectors.
2-Qubit Computational Basis States, Tensor Products, Orthonormality, 4D Hilbert Space
Let's continue with the Elucyda video, which now applies the tensor product rule to the basis states |0⟩ and |1⟩.
Watch from 04:06 to 07:30. See how the tensor product is used to find the vector representations for |00⟩, |01⟩, |10⟩, and |11⟩.
Here is a summary of the results from the video. Notice how each vector has a '1' in a unique position, confirming they are orthogonal basis vectors for the 4D space.
-
State : This is .
-
State : This is .
-
State : This is .
-
State : This is .
Any two-qubit state can be written as a linear combination (a superposition) of these four basis vectors.
4. Product States vs. Entangled States
A crucial concept that arises from the tensor product is the distinction between product states and entangled states.
- A product state is any multi-qubit state that can be written as the tensor product of individual, single-qubit states. These systems are independent.
- An entangled state is a multi-qubit state that cannot be factored into a tensor product of individual qubit states. The qubits in an entangled state are correlated in a way that has no classical equivalent.
The most famous entangled state is the Bell state, . Its state vector is:
It is impossible to find two single-qubit states and such that . The following video explains why.
Multiple Systems | Understanding Quantum Information & Computation | Lesson 02
Let's return to the Qiskit video, which now uses our knowledge of tensor products to introduce the profound concept of entanglement.
Watch from 41:57 to 47:48. This segment defines product states and then shows why the Bell state cannot be written as a tensor product, making it an 'entangled' state.
5. Tensor Products in Qiskit
As you're keen on practical implementation, let's see how to do this in Qiskit. Qiskit's Statevector class makes this very easy.
The Qiskit documentation page 'Qiskit implementation' provides code examples for performing tensor products. This is how you'll combine states in your future projects.
Read the section titled 'Tensor products'. Focus on how the .tensor() method and the ^ operator are used to create multi-qubit state vectors. You can skim the part about Operators for now.
Here's a quick example based on the reading. To create the state vector:
from qiskit.quantum_info import Statevector
# Create state vectors for |0> and |1>
zero = Statevector.from_label("0")
one = Statevector.from_label("1")
# Compute the tensor product |0> ⊗ |1> using the ^ operator
psi = zero ^ one
# Display the resulting state vector
print("State |01>:")
display(psi.draw("latex"))
print(psi.data)
Running this code would show you the state and its underlying array [0.+0.j, 1.+0.j, 0.+0.j, 0.+0.j], which matches the vector we derived manually.
Conclusion
Today, we've made a significant leap from describing single qubits to describing multi-qubit systems. The tensor product is the fundamental tool that allows us to build these larger, more complex state spaces.
Key Takeaways:
- To represent a multi-qubit system, we use the tensor product () to combine the state vectors of individual qubits.
- The dimension of the combined state space is the product of the individual dimensions. For qubits, the state vector has elements.
- The calculation follows a clear rule: multiply each element of the first vector by the entire second vector to form the new, larger vector.
- A multi-qubit state that can be factored into a tensor product of single-qubit states is a product state. If it cannot be factored, it is an entangled state.
Preview of the Next Lesson:
Now that we understand qubit states (single and multi-qubit) and the matrix operations that act on them, we'll turn our attention to a crucial property of those matrices. In the next lesson, we will explore what it means for a matrix to be unitary and why this property guarantees that quantum evolution is reversible—a key feature that distinguishes quantum gates from many classical logic gates.