How to Build a Bell State Using a Quantum Circuit Simulator
Learn how to construct a two-qubit Bell State (|Φ⁺⟩) using Hadamard and CNOT gates with real-time statevector tracking and measurement simulations.
Introduction: What is a Bell State?
A Bell State is a maximally entangled quantum state of two qubits. In classical physics, two coins flipped independently each have a 50% chance of heads or tails. In a Bell State, however, measuring one qubit instantly reveals the outcome of the other, regardless of spatial distance.
There are four canonical Bell states. In this tutorial, we construct the most famous Bell state: |Φ⁺⟩ = (|00⟩ + |11⟩) / √2.
Step 1: Initialization
We start with two qubits initialized in the standard ground state: |ψ₀⟩ = |00⟩.
Step 2: Create Superposition
Apply a Hadamard gate (H) to qubit 0. This puts qubit 0 into an equal superposition: (|0⟩ + |1⟩) / √2 while qubit 1 remains in |0⟩.
Step 3: Entanglement via CNOT
Apply a Controlled-NOT (CNOT) gate using qubit 0 as control and qubit 1 as target. This flips qubit 1 if and only if qubit 0 is |1⟩, creating the entangled state.
Step 0 (Initial):
|ψ₀⟩ = |0⟩ ⊗ |0⟩ = |00⟩
Step 1 (After H on q0):
|ψ₁⟩ = (H ⊗ I)|00⟩ = ((|0⟩ + |1⟩)/√2) ⊗ |0⟩ = (|00⟩ + |10⟩)/√2
Step 2 (After CNOT with control q0, target q1):
|ψ₂⟩ = CNOT((|00⟩ + |10⟩)/√2) = (|00⟩ + |11⟩)/√2 = |Φ⁺⟩
Measurement Probabilities:
P(|00⟩) = |1/√2|² = 1/2 = 50.0%
P(|01⟩) = 0.0%
P(|10⟩) = 0.0%
P(|11⟩) = |1/√2|² = 1/2 = 50.0%
Qiskit Implementation
Here is the exact code to reproduce this circuit in Python using Qiskit 1.0+:
from qiskit import QuantumCircuit
from qiskit_aer import AerSimulator
# 1. Create a circuit with 2 quantum qubits and 2 classical bits
qc = QuantumCircuit(2, 2)
# 2. Apply Hadamard to q0
qc.h(0)
# 3. Entangle q0 and q1 with CNOT
qc.cx(0, 1)
# 4. Measure both qubits
qc.measure([0, 1], [0, 1])
# 5. Simulate 1000 shots
simulator = AerSimulator()
result = simulator.run(qc, shots=1000).result()
counts = result.get_counts()
print("Measurement counts:", counts)
# Expected Output: ~500 shots '00' and ~500 shots '11'
Frequently Asked Questions
Why are measurement outcomes only |00⟩ and |11⟩?
Because the CNOT gate entangles the target qubit with the control qubit. When qubit 0 is measured as 0, the state collapses to |00⟩. When qubit 0 is measured as 1, the state collapses to |11⟩. The states |01⟩ and |10⟩ have an amplitude of zero.