Skip to content

Commit

Permalink
Remove reset from beginning of tomography experiments (#1250)
Browse files Browse the repository at this point in the history
### Summary

This change removes the reset instruction from the beginning of
tomography experiments.

### Details and comments

Some backends do not implement reset but can be treated as having reset
the qubits between circuits. It is also possible some backends implement
reset but have a slower, higher fidelity reset between circuits than the
in-circuit reset.
  • Loading branch information
wshanks authored Aug 25, 2023
1 parent 5a518ee commit 1acc02d
Show file tree
Hide file tree
Showing 3 changed files with 10 additions and 3 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -207,7 +207,6 @@ def circuits(self):
if prep_element:
# Add tomography preparation
prep_circ = self._prep_circ_basis.circuit(prep_element, self._prep_physical_qubits)
circ.reset(self._prep_indices)
circ.compose(prep_circ, self._prep_indices, inplace=True)
circ.barrier(*self._prep_indices)

Expand Down
8 changes: 8 additions & 0 deletions releasenotes/notes/remove-tomo-reset-3f21ec4d0dacba91.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
---
other:
- |
Removed the reset instruction from the beginning of tomography experiments.
Since qubits are usually reset between circuits, this change should have no
impact on tomography experiments, but it should allow backends that do not
provide a reset instruction to run tomography experiments. `#1250
<https://github.com/Qiskit-Extensions/qiskit-experiments/issues/881>`
4 changes: 2 additions & 2 deletions test/library/tomography/test_process_tomography.py
Original file line number Diff line number Diff line change
Expand Up @@ -568,7 +568,7 @@ def test_qpt_conditional_circuit(self, circuit_clbits):
fid = qi.process_fidelity(state.value, targets[idx], require_tp=False)
self.assertGreater(
fid,
0.95,
0.935,
msg=f"{fitter} fidelity {fid} is low for conditional outcome {idx}",
)

Expand Down Expand Up @@ -599,7 +599,7 @@ def test_qpt_conditional_meas(self):
prob = state.extra["conditional_probability"]
prob_target = 0.5
self.assertTrue(
np.isclose(prob, prob_target, atol=1e-2),
np.isclose(prob, prob_target, atol=2e-2),
msg=(
f"fitter {fitter} probability incorrect for conditional"
f" measurement {idx} {outcome} ({prob} != {prob_target})"
Expand Down

0 comments on commit 1acc02d

Please sign in to comment.