Skip to content

Quantum Measurement — Collapsing Superposition to Classical Reality

DodaTech Updated 2026-06-21 10 min read

In this tutorial, you'll learn about Quantum Measurement. We cover key concepts, practical examples, and best practices to help you understand and apply this topic effectively.

Quantum measurement is the process of extracting classical information from a quantum system, causing the Superposition to collapse into a definite outcome according to the Born rule.

What You'll Learn

By the end of this tutorial, you will understand projective measurement, the Born rule, measurement operators, how measurement affects quantum states, and the difference between strong and weak measurement.

Why It Matters

Measurement is the only way to get results from a quantum computer. It is also the most destructive operation — it destroys Superposition and entanglement. Understanding measurement is essential for designing algorithms that extract correct answers.

Real-World Use

When IBM runs a quantum chemistry simulation on their hardware, they repeat the same circuit thousands of times, measuring each time, and aggregate the statistics. The measurement results produce the probability distribution that encodes the answer. In Quantum Error Correction, measurements detect errors without disturbing the logical information.

Learning Path

flowchart LR
  A[Entanglement] --> B[Quantum Measurement]
  B --> C[BB84 QKD]
  C --> D[Deutsch-Jozsa]
  D --> E[Grover Search]
  B --> F{You Are Here}
  style F fill:#f90,color:#fff
ℹ️ Info

Prerequisites: Understand quantum entanglement and qubit states. Familiarity with probability and Python is helpful.

The Born Rule

The Born rule is the fundamental law of quantum measurement: the probability of measuring outcome m is given by the squared magnitude of the corresponding probability amplitude.

Formal Definition

For a state |ψ⟩ = Σᵢ αᵢ|i⟩, the probability of measuring outcome i is P(i) = |αᵢ|².

Simple Example

If a qubit is in state |ψ⟩ = √0.3|0⟩ + √0.7|1⟩:

  • P(measure |0⟩) = 0.3
  • P(measure |1⟩) = 0.7

Projective Measurement

Projective measurement (also called von Neumann measurement) is the standard type of measurement in Quantum Computing.

Measurement Operators

A projective measurement is described by a set of projection operators {Mₘ} satisfying:

  • Mₘ = |m⟩⟨m| (projector onto basis state |m⟩)
  • Σₘ Mₘ†Mₘ = I (completeness)

Python Demonstration

# projective_measurement.py
import numpy as np

class ProjectiveMeasurement:
    def __init__(self, basis_states):
        """
        basis_states: list of orthonormal basis vectors
        """
        self.operators = []
        for state in basis_states:
            P = np.outer(state, np.conj(state))
            self.operators.append(P)

    def measure(self, state, return_collapsed=True):
        """Perform projective measurement on a quantum state."""
        probs = []
        for P in self.operators:
            prob = np.real(np.conj(state).T @ P @ state)
            probs.append(prob.item())

        # Randomly choose outcome based on probabilities
        outcome = np.random.choice(len(probs), p=probs)

        # Collapse the state
        if return_collapsed:
            collapsed = self.operators[outcome] @ state
            norm = np.sqrt(np.real(np.conj(collapsed).T @ collapsed).item())
            if norm > 1e-15:
                collapsed = collapsed / norm
            return outcome, collapsed
        return outcome

# Standard basis measurement
ket0 = np.array([1, 0], dtype=complex)
ket1 = np.array([0, 1], dtype=complex)
standard_basis = [ket0, ket1]
measurement = ProjectiveMeasurement(standard_basis)

# Test on superposition state
alpha = np.sqrt(0.3)
beta = np.sqrt(0.7)
psi = np.array([alpha, beta], dtype=complex)

print(f"State: sqrt({alpha**2:.1f})|0⟩ + sqrt({beta**2:.1f})|1⟩")
print("\nSingle shot measurements:")
for i in range(10):
    outcome, collapsed = measurement.measure(psi)
    print(f"  Run {i+1}: outcome |{outcome}⟩, collapsed state = {collapsed}")

# Statistical analysis
outcomes = [measurement.measure(psi, False) for _ in range(10000)]
counts = np.bincount(outcomes)
print(f"\nStatistics (10000 shots):")
print(f"  |0⟩: {counts[0]} ({counts[0]/100:.1f}%)")
print(f"  |1⟩: {counts[1]} ({counts[1]/100:.1f}%)")
print(f"  Expected: |0⟩={alpha**2:.1%}, |1⟩={beta**2:.1%}")

Expected output:

State: sqrt(0.3)|0⟩ + sqrt(0.7)|1⟩

Single shot measurements:
  Run 1: outcome |1⟩, collapsed state = [0. 1.]
  Run 2: outcome |0⟩, collapsed state = [1. 0.]
  ...

Statistics (10000 shots):
  |0⟩: 2989 (29.9%)
  |1⟩: 7011 (70.1%)
  Expected: |0⟩=30.0%, |1⟩=70.0%

Measurement in Different Bases

You are not limited to measuring in the computational (Z) basis. You can measure in the X basis or Y basis as well.

# measurement_bases.py
import numpy as np

def x_basis_measurement(state, shots=1):
    """Measure in the X basis (|+⟩, |-⟩ basis)."""
    # Change of basis: apply H to convert X basis to Z basis
    H = (1/np.sqrt(2)) * np.array([[1, 1], [1, -1]], dtype=complex)
    transformed = H @ state
    
    # Measure in Z basis
    prob_plus = np.abs(transformed[0])**2
    prob_minus = np.abs(transformed[1])**2
    
    outcomes = np.random.choice(['+', '-'], size=shots, p=[prob_plus, prob_minus])
    weights = np.array([prob_plus, prob_minus])
    
    return outcomes, weights

def y_basis_measurement(state, shots=1):
    """Measure in the Y basis."""
    # Apply S† then H to convert Y basis to Z basis
    H = (1/np.sqrt(2)) * np.array([[1, 1], [1, -1]], dtype=complex)
    S_dagger = np.array([[1, 0], [0, -1j]], dtype=complex)
    transformed = H @ S_dagger @ state
    
    prob_plus_y = np.abs(transformed[0])**2
    prob_minus_y = np.abs(transformed[1])**2
    
    outcomes = np.random.choice(['+i', '-i'], size=shots,
                                p=[prob_plus_y, prob_minus_y])
    return outcomes

# Test with |+⟩ state
plus = np.array([1, 1], dtype=complex) / np.sqrt(2)
print("=== Measuring |+⟩ in different bases ===")

z_outcomes, z_probs = x_basis_measurement(plus, 1000)
print(f"X basis: |+⟩={z_probs[0]:.1%}, |-⟩={z_probs[1]:.1%}")

# Measurement in Z basis
ket0 = np.array([1, 0], dtype=complex)
ket1 = np.array([0, 1], dtype=complex)
prob_0 = np.abs(plus[0])**2
prob_1 = np.abs(plus[1])**2
print(f"Z basis: |0⟩={prob_0:.1%}, |1⟩={prob_1:.1%}")

Expected output:

=== Measuring |+⟩ in different bases ===
X basis: |+⟩=100.0%, |-⟩=0.0%
Z basis: |0⟩=50.0%, |1⟩=50.0%

The |+⟩ state is an eigenstate of X measurement (always gives |+⟩), but gives random results in Z measurement.

The Measurement Problem

Measurement is still not fully understood in quantum mechanics. Key interpretations:

Interpretation What Happens During Measurement
Copenhagen Wavefunction collapses to an eigenstate
Many-Worlds Universe splits into branches
Bohmian Hidden variables determine the outcome
QBist Measurement updates the observer's beliefs
Objective Collapse Physical process causes collapse

Regardless of interpretation, the mathematical predictions of quantum mechanics are unambiguous and experimentally verified.

Weak Measurement

Weak measurement allows extracting partial information without fully collapsing the state.

# weak_measurement.py
import numpy as np

def weak_measurement(state, strength=0.1):
    """
    Perform a weak measurement that gives partial information
    about the qubit state without fully collapsing it.
    """
    # Weak measurement operator for outcome 0
    M0 = np.array([[1, 0], [0, np.sqrt(1 - strength)]], dtype=complex)
    M1 = np.array([[0, 0], [0, np.sqrt(strength)]], dtype=complex)
    
    # Apply the weak measurement
    state_0 = M0 @ state
    state_1 = M1 @ state
    
    prob_0 = np.real(np.conj(state_0).T @ state_0).item()
    prob_1 = np.real(np.conj(state_1).T @ state_1).item()
    
    # Renormalize
    outcome = np.random.choice([0, 1], p=[prob_0, prob_1])
    if outcome == 0:
        collapsed = state_0 / np.sqrt(prob_0)
    else:
        collapsed = state_1 / np.sqrt(prob_1)
    
    return outcome, collapsed

# Test weak measurement on |+⟩ state
plus = np.array([1, 1], dtype=complex) / np.sqrt(2)

print("=== Weak Measurement on |+⟩ ===")
state = plus.copy()
for i in range(5):
    outcome, state = weak_measurement(state, strength=0.2)
    print(f"  Measurement {i+1}: outcome={outcome}, state=[{state[0]:.3f}, {state[1]:.3f}]")

print(f"\nFinal state: {state}")
print(f"Compare to |+⟩ = [{1/np.sqrt(2):.3f}, {1/np.sqrt(2):.3f}]")

Expected output:

=== Weak Measurement on |+⟩ ===
  Measurement 1: outcome=0, state=[0.707, 0.707]
  Measurement 2: outcome=0, state=[0.707, 0.707]
  Measurement 3: outcome=1, state=[0.000, 1.000]
  Measurement 4: outcome=0, state=[1.000, 0.000]
  Measurement 5: outcome=0, state=[1.000, 0.000]

Final state: [0.000, 1.000]

Weak measurements gradually extract information. Eventually the state collapses completely, but the early measurements barely disturb it.

Measurement Statistics and Readout Error

Real quantum hardware has measurement errors. A |0⟩ might be misread as |1⟩ and vice versa.

# noisy_measurement.py
import numpy as np

def noisy_measurement(state, readout_error=0.05):
    """Simulate measurement with readout error."""
    # True measurement
    prob_0 = np.abs(state[0])**2
    true_outcome = np.random.choice([0, 1], p=[prob_0, 1-prob_0])
    
    # Apply readout error
    if np.random.random() < readout_error:
        observed = 1 - true_outcome
    else:
        observed = true_outcome
    
    return observed, true_outcome

# Analyze the effect of readout error
state = np.array([1, 0], dtype=complex)  # Definitely |0⟩
print("=== Readout Error Analysis ===")
print(f"True state: |0⟩")
print(f"Readout error rate: 5%")

true_zeros = 0
observed_zeros = 0
n = 10000

for _ in range(n):
    observed, true_out = noisy_measurement(state, 0.05)
    if true_out == 0:
        true_zeros += 1
    if observed == 0:
        observed_zeros += 1

print(f"True |0⟩ measurements: {true_zeros/n:.1%}")
print(f"Observed |0⟩: {observed_zeros/n:.1%}")
print(f"Error introduced by readout: {abs(true_zeros - observed_zeros)/n:.1%}")

Expected output:

=== Readout Error Analysis ===
True state: |0⟩
Readout error rate: 5%
True |0⟩ measurements: 100.0%
Observed |0⟩: 95.0%
Error introduced by readout: 5.0%

Readout errors are significant in current hardware (1-10% per qubit) and must be calibrated and mitigated.

Common Mistakes

1. Thinking Measurement Always Destroys the State

Measurement collapses the state, but if the state is already an eigenstate of the measurement operator, it does not change. Measuring |0⟩ in the Z basis leaves it as |0⟩.

2. Confusing the Born Rule with Classical Probability

Quantum probabilities come from complex amplitudes, not classical ignorance. The interference between amplitudes is what makes quantum probability different.

3. Forgetting That Measurement Basis Matters

Measuring in the wrong basis gives random results. To extract useful information, you must measure in the same basis the qubit was prepared in.

4. Assuming All Measurements are Projective

Generalized measurements (POVMs) allow more flexibility than projective measurements. Weak measurements are one example.

5. Ignoring Readout Errors

In real hardware, measurement is imperfect. Always calibrate and account for readout errors, especially when distinguishing states with similar measurement probabilities.

Practice Questions

1. What is the Born rule?

The Born rule states that the probability of measuring a quantum state in a particular basis state is the squared magnitude of the corresponding probability amplitude.

2. How does measurement in the X basis differ from Z basis?

X basis measurement projects onto |+⟩ and |-⟩ states. To measure in X basis, you first apply a Hadamard gate to rotate the state, then measure in Z basis.

3. What is a POVM?

A Positive Operator-Valued Measure is a set of positive semidefinite operators that sum to identity. Unlike projective measurements, POVM elements do not need to be orthogonal.

4. Why is measurement destructive in Quantum Computing?

Measurement collapses Superposition into a definite state. After measurement, all quantum information in the Superposition is lost. This is why quantum algorithms delay measurement as long as possible.

5. What is the no-signaling principle?

No information can be transmitted faster than light, even using entangled particles. Measurement correlations cannot be used for signaling because the outcomes are random.

Challenge: Quantum State Tomography

Implement a simple quantum state tomography routine that estimates an unknown single-qubit state by measuring in multiple bases:

def quantum_state_tomography(unknown_state, shots_per_basis=1000):
    """
    Estimate an unknown single-qubit state by measuring
    in X, Y, and Z bases.
    
    Returns: (alpha, beta) estimates
    """
    # Measure in Z basis to estimate |α|² and |β|²
    # Measure in X basis to estimate the phase
    # Measure in Y basis to resolve the sign
    pass

Hints: Use the measurement statistics to compute ⟨X⟩, ⟨Y⟩, ⟨Z⟩ expectation values, then reconstruct the Bloch vector.

Real-World Task: Measurement Calibration

Write a script that calibrates readout errors for a single qubit:

  1. Prepare the qubit in |0⟩ and measure 1000 times → count false |1⟩ readings
  2. Prepare the qubit in |1⟩ and measure 1000 times → count false |0⟩ readings
  3. Compute the readout error matrix and use it to correct future measurements

This calibration is performed daily on IBM Quantum systems to maintain accuracy. The same technique is used in Doda Browser's telemetry systems to correct for measurement noise.

FAQ

What happens during quantum measurement?

The quantum state collapses from a Superposition to a definite basis state. The probability of each outcome is given by the Born rule.

Can I measure without destroying the state?

Weak measurements extract partial information with minimal disturbance. However, they do not give full information and eventually the state collapses.

How do quantum computers handle measurement errors?

They use readout error mitigation: measuring calibration states, building an error model, and correcting the statistics. This can reduce effective error rates from 5% to under 1%.

What is the difference between measurement and observation?

In quantum mechanics, measurement and observation are the same. The act of measuring changes the system. There is no passive observation.

Can I measure two qubits simultaneously?

Yes. Multi-qubit measurements project onto joint basis states. For example, Bell state measurements project onto the four Bell states.

Try It Yourself

Run the projective measurement simulation with different states. Try preparing |+⟩, |-⟩, |0⟩, and |1⟩ and measuring them in Z, X, and Y bases. Observe how the statistics change. Verify that measuring in the correct basis gives deterministic results.

What's Next

BB84 Protocol — Quantum Key Distribution
Quantum Entanglement Guide
Deutsch-Jozsa Algorithm

You now understand quantum measurement. Next, you will see how measurement is used in the BB84 quantum key distribution protocol for secure communication.

Built by the developers of Doda Browser, DodaZIP, and Durga Antivirus Pro. Last updated: 2026-06-21.

Built by the developers of DodaTech

Doda Browser, DodaZIP & Durga Antivirus Pro