Launch the interactive walkthrough to discover each component, including the 3D Q-Sphere Lab & Python in Colab.
Learn how quantum computations are drawn and structured as quantum circuit diagrams: wires, gates, and time flow.
Interactive 3D state vector exploration, unitary transformation gates, and Born rule collapse for Topic 6.1
| Symbol / Term | Meaning | Beginner Interpretation |
|---|---|---|
| Initial ground state of qubits | All qubits initialized to standard zero | |
| First gate applied chronologically | The first physical pulse acting on the initial state | |
| Subsequent quantum gates | Sequential unitary matrix operations applied in order | |
| Final output state vector | The resulting multi-qubit state ready for readout measurement |
Tracing a 1-qubit circuit with two gates: first Hadamard (H), then Pauli-X (X):
Result: Reading left-to-right on a wire translates to multiplying matrices right-to-left: X Β· H .
All qubits are prepared in standard ground state |0>.
Single-qubit gates rotate individual wires; two-qubit gates link adjacent wires.
Meter icons project qubits, writing classical bits to double wires.
Problem: Allowing students and researchers to build quantum circuits graphically in a web browser.
Solution: Drag-and-drop circuit interface automatically synthesizes OpenQASM and executes on real quantum hardware.
Interactive activity component
Create a multi-qubit circuit with Hadamard and CNOT gates, and generate visual ASCII circuit diagrams with Qiskit.
For Google Colab or Jupyter notebooks, run this shell command to install the required dependencies:
!pip install qiskit qiskit-aer1 from qiskit import QuantumCircuit 2 from qiskit.quantum_info import Statevector
from qiskit import QuantumCircuit β Core class to assemble quantum circuits
from qiskit.quantum_info import Statevector β Simulate exact quantum state
1 # 1. Initialize a 2-qubit, 2-classical-bit circuit 2 qc = QuantumCircuit(2, 2) 3 qc.h(0) # Put qubit 0 into superposition 4 qc.cx(0, 1) # Entangle qubit 1 with qubit 0 5 qc.measure([0, 1], [0, 1]) # Measure both qubits 6 7 # 2. Draw Circuit Diagram with Qiskit draw() 8 print('=== Qiskit Quantum Circuit Diagram ===') 9 print(qc.draw('text')) 10 11 # 3. Inspect Circuit Properties 12 print(f'\nCircuit Width : {qc.num_qubits} qubits, {qc.num_clbits} classical bits') 13 print(f'Circuit Depth : {qc.depth()} gate layers') 14 print(f'Gate Operations: {dict(qc.count_ops())}')
# 1. Initialize a 2-qubit, 2-classical-bit circuit
Constructor
qc = QuantumCircuit(2, 2)
Allocate 2 qubits (q0, q1) and 2 classical bits (c0, c1)
qc.h(0) # Put qubit 0 into superposition
Apply Hadamard
qc.cx(0, 1) # Entangle qubit 1 with qubit 0
Apply CNOT
qc.measure([0, 1], [0, 1]) # Measure both qubits
Add measurement operations
# 2. Draw Circuit Diagram with Qiskit draw()
Circuit drawing
print('=== Qiskit Quantum Circuit Diagram ===')
Header
print(qc.draw('text'))
Generate text-based circuit layout
# 3. Inspect Circuit Properties
Circuit metadata
print(f'\nCircuit Width : {qc.num_qubits} qubits, {qc.num_clbits} classical bits')
Dimensions
print(f'Circuit Depth : {qc.depth()} gate layers')
Layers
print(f'Gate Operations: {dict(qc.count_ops())}')
Gate inventory
Click "Copy for Colab", open Google Colab, paste into a single cell, and run.
1 # ========================================================= 2 # Constructing and Drawing Quantum Circuits in Qiskit 3 # Prepared for Google Colab (Run with Shift + Enter) 4 # ========================================================= 5 6 # Step 1: Install required packages 7 !pip install qiskit qiskit-aer 8 9 # Step 2: Import libraries 10 from qiskit import QuantumCircuit 11 from qiskit.quantum_info import Statevector 12 13 # Step 3: Run Demonstration 14 # 1. Initialize a 2-qubit, 2-classical-bit circuit 15 qc = QuantumCircuit(2, 2) 16 qc.h(0) # Put qubit 0 into superposition 17 qc.cx(0, 1) # Entangle qubit 1 with qubit 0 18 qc.measure([0, 1], [0, 1]) # Measure both qubits 19 20 # 2. Draw Circuit Diagram with Qiskit draw() 21 print('=== Qiskit Quantum Circuit Diagram ===') 22 print(qc.draw('text')) 23 24 # 3. Inspect Circuit Properties 25 print(f'\nCircuit Width : {qc.num_qubits} qubits, {qc.num_clbits} classical bits') 26 print(f'Circuit Depth : {qc.depth()} gate layers') 27 print(f'Gate Operations: {dict(qc.count_ops())}')
Allocate quantum and classical registers in QuantumCircuit(2, 2).
Apply H(0) and CNOT(0, 1) to construct the Bell state.
Generate text diagram with qc.draw('text') and inspect circuit depth and gate counts.
QuantumCircuit(2, 2) with H, CX, and Measure gates.
q_0: βββ βββββββ[ M ]
β β
q_1: ββXβββββββ[ M ]
β β
Depth: 2 | Ops: {'measure': 2, 'h': 1, 'cx': 1}A quantum circuit diagram represents quantum algorithms as horizontal qubit timelines evolving from left to right through discrete unitary gates, culminating in classical measurement.
Hadamard gate, quantum registers, simulation, and histogram measurement.
Test your understanding with these questions. Remember, this is for learning, not examination!