Quantum LabQL-003
FOUNDATIONS / VERIFIED IDEAL SIMULATION

Two Qubits, Four Amplitudes

Tensor products and basis-state ordering

NumPy mathematicsQiskit StatevectorNo hardware claim
01 / The question

Why does adding one qubit double the size of a statevector?

A pure two-qubit state has four complex amplitudes, one for each computational-basis vector. The product states prepared here factor into two single-qubit states; a general two-qubit pure state need not.

02 / Mathematical prediction

State and transformation

Core relation
|1⟩⊗|+⟩=|10⟩+|11⟩2
Joint statevector = [0, 0, 1/√2, 1/√2]ᵀ in the |00⟩, |01⟩, |10⟩, |11⟩ basis

Quantum circuit

q₁: |0⟩q₀: |0⟩XHq₁ = |1⟩, q₀ = |+⟩

Circuit wire labels follow the Qiskit indexing convention; Statevector results are computed with an ideal simulator, not hardware.

03 / Prediction and simulation

Analytic predictions and simulator results

Swipe the results table horizontally to see all columns.

QuantityAnalytic predictionComputed value or classical sample
P(00) and P(01)0% / 0%0% / 0% · Qiskit
P(10) and P(11)50% / 50%50% / 50% · Qiskit
|++⟩ · four outcomes25% each25% each · Qiskit

Values are reported from the previously completed local experiments: exact ideal statevector probabilities (Qiskit), classical NumPy sampling where stated, and the specified NumPy density-matrix calculation. These are not observations from physical quantum hardware. Rounded values are shown for readability.

04 / Reproduce the principle

Minimal Qiskit example

This independently written teaching snippet illustrates the verified circuit principle without disclosing the private lab source. Run it with NumPy and Qiskit installed; this abbreviated public snippet has undergone source and syntax review, but not a separate Qiskit-enabled execution test.

Python · NumPy + QiskitIdeal statevector
import numpy as np
from qiskit import QuantumCircuit
from qiskit.quantum_info import Statevector

circuit = QuantumCircuit(2)
circuit.x(1)  # leftmost q1 = |1>
circuit.h(0)  # rightmost q0 = |+>
state = Statevector.from_instruction(circuit)

print(np.round(state.data, 6))
print(np.round(state.probabilities(), 6))
assert np.allclose(state.probabilities(), [0, 0, 0.5, 0.5])

The computational basis is ordered |q₁q₀⟩. For an n-qubit pure state, the statevector length is 2ⁿ; simulation cost therefore grows exponentially with n.

Computations are local ideal statevector calculations. Nothing here sends jobs to an IBM Quantum device or cloud backend.

05 / Interpretation and boundaries

What we can conclude

Two qubits require four complex amplitudes. For this specific product state, q₁ is always 1 while q₀ has equal chances of 0 and 1.

What this does not establish

For this two-qubit example, Qiskit orders basis vectors as |q₁q₀⟩, with q₀ as the rightmost bit. Superposition of multiple basis vectors is not, by itself, a test of entanglement.