Tools / Two-qubit state
A two-qubit state in one plane
A two-qubit state is four complex numbers, and a complex number is a vector. So the whole state fits in one ordinary plane: four arrows whose lengths are the magnitudes and whose angles are the phases. Gates turn and add those arrows; the fifth, heavy arrow measures how entangled the pair is. Below the plane, the same state is redrawn in Schmidt form: one sphere, the first qubit's basis at unit length, the second qubit's vectors scaled by the two branch amplitudes.
Controls
Measure A, B or both: the outcome appears here.No joint measurements yet.
The same state in two pictures
Amplitudes
Four arrows in one plane
Σ|c|² = 1.000 — the arrows are normalized.
|00⟩
1.0000°
|01⟩
0.000—
|10⟩
0.000—
|11⟩
0.000—
Arrow length is the magnitude, its angle the phase. A drag sets both; ←/→ turns an arrow and ↑/↓ resizes it.
The highlighted arrow is 2·(c00c11 − c01c10) divided by the total weight Σ|c|², which is one while the arrows are normalized: the first product, then the second one subtracted. Its length is the concurrence — zero for a product state, one for a Bell state — and a rescaling leaves it unchanged.
Schmidt form
One basis unit, one scaled
|ψ⟩ = 1.000 |+a⟩|+b⟩
- Schmidt angle θ
- 0°
- λ₀ = cos²θ
- 1.000
- λ₁ = sin²θ
- 0.000
- Relative phase χ
- —
Why one plane is enough
A pure two-qubit state is four complex numbers, so it is four vectors in the plane — no projection, no loss. Two of the eight real numbers are not physical: the total length is fixed to one by normalization, and multiplying all four arrows by the same phase only rotates the whole figure, which no measurement can see. That leaves six, exactly the state's six parameters. This is the one common plot that holds everything, phases included.
Here you can stretch the arrows yourself, which makes the first constraint visible. While the lengths are free the drawing is unnormalized; the Normalize button divides all four arrows by √(Σ|c|²), so the weights add up to one again. Every readout on the page already divides by that weight, so stretching an arrow changes the picture but never invents entanglement.
Arrows that land on the same point are drawn side by side so that both stay visible; lengths and angles are untouched.
Gates act on these arrows in ways you can watch. Z and S turn the arrows whose qubit is |1⟩ and leave the others alone; H replaces a pair by their sum and difference (divided by √2), which is why it can move weight between arrows; X swaps pairs. A relative phase shows up as one arrow turning against the others, and that is the information a pair of ordinary Bloch spheres throws away: |Φ⁺⟩ and |Φ⁻⟩ have identical reduced states, but here one arrow is flipped through 180°.
The needle
Multiply the amplitudes that sit at opposite corners: c00c11 and c01c10. Each product is again a vector, with the phases added and the lengths multiplied. A state is a product of two single-qubit states exactly when those two vectors coincide. So draw the second from the tip of the first, and close the triangle: the closing arrow is 2·(c00c11 − c01c10). Its length is the concurrence, and it vanishes precisely when the state factorizes. Both products are divided by the total weight, which is one for normalized arrows, so the needle stays inside the rim even while the arrows are stretched.
That gives entanglement a single number you can measure with a ruler, and a direction that records the relative phase. The length is basis-independent; the direction is a frame, and local gates rotate it without changing its length — which is the whole reason a local picture cannot see entanglement.
Things to try
- Press H on A from |00⟩. Two arrows appear along the real axis, each of length 0.707 — |00⟩ and |10⟩ — and the needle stays at zero: still a product state.
- Now press S on A. The |10⟩ arrow turns by 90° while |00⟩ stays put: a relative phase you can see, with the needle still at zero. Press T instead and it turns by 45°.
- Load Φ+ and Φ−. Both have the needle at full length 1.000; only its direction flips by 180°, and the |11⟩ arrow flips with it. This is the difference the Bloch spheres cannot show.
- Load |++⟩ and turn one arrow with ←/→, or drag it round at a steady radius. Its length never changes, only its angle, and the needle grows from zero towards 0.707: a product state becoming entangled as the two products stop agreeing. Turn it back to 0° and the needle vanishes again.
- Load Partly entangled: the needle is 0.707 long, and the two starting arrows are 0.924 and 0.383 at the same angle.
- Load Φ+ and drag the |11⟩ arrow outwards. Its length passes 0.707, the weight readout climbs past 1, and the needle shortens to 0.943: two long arrows in step are less entangled once the extra weight is divided out. Press Normalize: the arrows shrink so the weight is 1.000 again, while the needle stays at 0.943. Normalization moves the arrows, not the physics.
- Load Φ+ and press H on A. The two Schmidt bases swing apart and a translucent parallelogram joins the four endpoints; at θ = 45° its diagonals bisect each other, so it really is a parallelogram. Press H again and it flattens as the bases line up once more.
This model follows pure states only, because unitary gates and projective measurements keep the state pure. A noisy two-qubit state needs a 4 × 4 density matrix and a mixed-state concurrence, and its arrows would need magnitudes that no longer add to one. Measurements use your browser's random number generator.