Bennett’s trick disentangles auxiliary qubits in a reversible computation without measuring them. It copies the computed basis-state output into a separate register, then runs the original computation backward to reset its intermediate qubits. section 6.5.1
For an input encoded as |x⟩ and an existing output register |y⟩:
- Initialize input, auxiliary, and temporary output registers as |x⟩, |0⟩, and |0⟩, with the final output in |y⟩. section 6.5.1
- Use CNOT gates to copy the basis-state output into the final register, changing it to |y ⊕ f(x)⟩. section 6.5.1
- Apply the computation backward, returning the auxiliary and temporary output registers to |0⟩. section 6.5.1
Measuring only the auxiliary qubits can collapse part of a superposition and discard input basis states. Bennett’s trick preserves the full superposition; its copying step copies basis states, not an arbitrary quantum state. section 6.5.1
