Every qubit entering the beam is a point on the Bloch sphere — a specific quantum state, not a classical particle with a fixed "yes/no" property. A filter is a projective measurement along its own axis: quantum mechanics says the probability that the qubit is found aligned with that axis is cos²(Δ/2), where Δ is the angle between the incoming state's Bloch vector and the filter axis. This is the qubit generalisation of Malus's law for polarizers.
The crucial part is what happens on a successful pass: the state doesn't just "get through" — it collapses onto the filter's axis. That collapsed state, not the original one, is what reaches the next filter. This is why a stream blocked by two perpendicular filters (Δ=90°, transmission ≈0%) can be revived by inserting a third filter at an angle in between: each stage collapses the state a little, and a sequence of small rotations lets photons sneak through where a single 90° jump could not. Click "Load 3-filter paradox" to set it up (state |0⟩, filter 1 at 45°, filter 2 at 90° — compare with filter 2 disabled).
P₁ = cos²(Δ(ψ,f1)/2) → state collapses to f1
P₂ = cos²(Δ(f1,f2)/2) → state collapses to f2
Overall = P₁ · P₂
- Input state (θ,φ) — the Bloch-sphere direction of every incoming qubit before any filtering.
- Filter axis (θ,φ) — the measurement direction; particles aligned with it pass with certainty, particles anti-aligned are blocked outright.
- Filter 2 toggle — chains a second projective measurement after the first, acting on the already-collapsed state.
- Theory vs measured — theory is the exact cos²(Δ/2) computed from the current angles; measured is the running fraction from the actual simulated particle stream, so you can watch the Born rule emerge from statistics.
Real-world relevance: this is exactly how polarization filters work in quantum key distribution (QKD) — each photon is measured along a randomly chosen basis, and only the projective-measurement statistics above determine which photons survive to be counted as key bits.