I'm looking at a 2 qubit system, with a reset on the second qubit (qubit=1).

I would have expect that circ.reset(qubit=1) is equal to state.probabilities(qargs=[0]).
But that's not the case.

For example a maximally pure state:

qc = QuantumCircuit(2)

i_state = Statevector.from_label('00')
t_state = i_state.evolve(qc)


results in:
50% $|00\rangle$, 50% $|11\rangle$ and 50% $|0\rangle$, 50% $|1\rangle$


results sometimes in: 100% $|00\rangle$ and 100% $|0\rangle$
OR sometimes in: 100% $|01\rangle$ and 100% $|1\rangle$.

What does .reset(qubit=1) actually do?
Does it sample from the probability of qubit=1 and collapse the other, entangled qubit=0 depending on how qubit=1 was sampled?


1 Answer 1


According to IBM Research Blog[1]:

Internally, these reset instructions are composed of a mid-circuit measurement followed by an x-gate conditioned on the outcome of the measurement.

So, your circuit is equivalent to the following circuit.

enter image description here

This should explain to you the result you get:

  • If measurement result is $1$ the state will collapse to $|11\rangle$ and $X$ gate will be applied resulting in $|01\rangle$
  • If measurement result is $0$ the state will collapse to $|00\rangle$ and $X$ gate will not be applied. Final state remains $|00\rangle$

In general, the state will collapse to one of the possible states. Then the resetted qubit state will change to become zero if it is not zero already.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.