Skip to documentation
← Algorithm guides

Algorithm guide · foundations

Elitzur–Vaidman bomb tester

Detect a live bomb without explosion in a fraction of attempts. A two-qubit model of interaction-free measurement.

Circuit size: 2 qubits, 2 classical bits

Before you begin

Interference · Measurement collapse · Conditional probability

Review quantum fundamentals →
Notation used in this lesson
|ψ⟩ and ⟨ψ|
A state vector (ket) and its conjugate transpose (bra). ⟨a|b⟩ is their inner product.
α, β and i
α and β are complex amplitudes; i²=−1. A probability is the squared magnitude |α|².
XOR, · and ⊗
XOR adds bits modulo two. In s·x, multiply corresponding bits and XOR them. ⊗ combines registers or operations on different wires.
U†, Σ and Tr
U† is the adjoint (inverse for a unitary). Σ sums terms. Tr is the matrix trace, the sum of diagonal entries.
Probability, shots and angles
Ideal probabilities describe the model; measured shot frequencies fluctuate. Angles inside trigonometric expressions are in radians unless explicitly labeled turns.

1. The problem

In an ideal two-path model, sometimes infer that an absorbing object is present without triggering absorption. Account for all attempts, including explosions and inconclusive detections.

2. How it works

Without a live absorber, two paths recombine into a bright output by interference. A live absorber removes one path when the photon survives, so a normally dark output can click. That dark click certifies the live object in this model.

  1. Split

    H creates two path amplitudes on q0.

  2. Interrogate

    A live object correlates the interacting path with absorption flag q1.

  3. Check absorption

    Measure q1 into c0. If absorbed, skip the remaining detector sequence.

  4. Read a survivor

    Conditional H and path measurement record the detector bit in c1.

3. The mathematics, one idea at a time

P(explosion)=1/2; P(survival)=1/2

The first splitter puts equal probability in the interacting and noninteracting paths.

P(safe detection)=P(survival)P(dark|survival)=(1/2)(1/2)=1/4

A 50% dark fraction among survivors is a 25% success probability per original attempt.

Work this through by hand

4. One attempt with a live absorber

Two qubits: path and absorption flag. This is a logical toy, not a physical bomb model.

Choose Live absorber.

StageCalculation or stateWhat it means
After splitterEqual amplitudes in both pathsHalf the attempts enter the absorbing branch.
Absorption recordc0=1 with probability 1/2No detector measurement follows on those attempts.
Surviving branchBright and dark outcomes split the remaining 1/2 equallyEach receives probability 1/4 per attempt.

Expected outcomes for this example

These are ideal predictions for the stated configuration, not a result already measured by your browser. Rows describing alternative modes or combined events are labeled explicitly.

Outcome or eventIdeal probabilityInterpretation
0150% idealExplosion; c0=1 and detector was skipped.
0025% idealBright click: inconclusive.
1025% idealDark click: safe live-object detection.

5. Load the worked example in Composer

The worked example can use smaller or simpler inputs than the gallery defaults. The button below loads the exact circuit used in this lesson.

Selected variant: Bomb tester · live absorber

  1. Save any current circuit you want to keep, then open the worked example. Loading it does not execute a paid hardware job.
  2. Trace the preparation, main operations and measurements against the worked table. Check the gate editor for controls, targets and angles.
  3. Start with an ideal noiseless simulator compatible with the circuit. Mid-circuit measurement, reset and feed-forward require support from the chosen backend.
  4. Inspect the live preview. For a recorded experiment, open Execute, set the available backend options and shots, and Run. Sign in when prompted to retain it in My Jobs.
  5. Read the output as described below before changing one setting and repeating. The guide describes the original example; edits can change the answer.

6. Read the output correctly

Read c1c0 as detector|absorption. The impossible 11 would mean a detector click after absorption in this protocol.

The success denominator is all attempts. Select Transparent/dud to compare: 00 then occurs with ideal probability one.

A bit label is a register value; its bar height is a probability or count. For S shots and observed count k, the sampled frequency is k/S. A typical sampling scale for probability p is √[p(1−p)/S]; this is not a strict error bound. Finite samples do not have to match the ideal percentages exactly.

7. Common mistakes & limits

  • A bright click does not prove absence.
  • This implementation does not add repeated Zeno-enhanced interrogation; its 25% per-attempt success is not a guarantee of safe detection on every trial.

8. Check your understanding

What fraction of surviving live-object attempts are safely detected?

Reveal the reasoning

1/2, because the safe 1/4 is divided by survival 1/2. This differs from the 1/4 rate over all attempts.

9. Further study

The lesson’s register mappings, supported inputs and loadable example follow Quantket’s implemented circuit. A reference may use different wire names, bit order or resource conventions.

Gallery reference: defaults, definitions & implementation notes

Available example inputs

Choose a named circuit variant in Algorithms. Each variant fixes its preparation, operations and measurement mapping; the worked variant above is one of them.

  • Bomb tester · live absorber
  • Bomb tester · transparent / dud

Implementation notes

Four conceptual stages: split, interrogate, check absorption and read a surviving photon. The live circuit uses three unitary gates and two measurements, plus stage barriers. Explosions count in the per-attempt statistics; the 25% safe-detection probability is not a guarantee. This ideal path/absorption-flag model does not implement repeated testing or Zeno enhancement.

Read your saved result

Check the submitted circuit, measured register and execution settings in Run details. Exact results give computed probabilities; sampled results show frequencies from the recorded shots. Edited circuits and noise can change the expected outcome. The algorithm label records the circuit's origin; it does not certify an edited circuit or a measured result.