4

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)
qc.h(0)
qc.cx(0,1)

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

plot_histogram(data=t_state.probabilities_dict()) plot_histogram(data=t_state.probabilities_dict(qargs=[0]))

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

qc.reset(qubit=1)

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?

Andreas Burger
  • 301
  • 1
  • 11

1 Answers1

2

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.

Egretta.Thula
  • 9,972
  • 1
  • 11
  • 30