I build a QuantumCircuit named qc, I want to generate state tomography circuits to evaluate fidelity of simulation. I used code,

st_qcs = state_tomography_circuits(qc, [qr[1], qr[3], qr[5]])

However, I got an error from state_tomography_circuits. I pasted the error message below,

I used IBM quantum. The same codes worked before. But, now state_tomography_circuits does not go through. Is this a bug from the function of state_tomography_circuits? I do not know how to fix the issue.

  >Cell In[11], line 29 \
st_qcs = state_tomography_circuits(qc, [qr[1], qr[3], qr[5]])

>File /opt/conda/lib/python3.10/site packages/qiskit/ignis/verification/tomography/basis/circuits.py:\
77 in state_tomography_circuits return _tomography_circuits(circuit, measured_qubits, None,

>  File /opt/conda/lib/python3.10/site-packages/qiskit/ignis/verification/tomography/basis/circuits.py:\
468 in _tomography_circuits
    prep += circuit
TypeError: unsupported operand type(s) for +=: 'QuantumCircuit' and 'QuantumCircuit'
  • 1
    $\begingroup$ Hi and welcome to QCSE! This question seems to be Qiskit programming specific and would be a better fit in Stack Overflow or directly with Qiskit (github.com/Qiskit/qiskit-terra/issues). $\endgroup$
    – epelaez
    Commented Jun 11, 2023 at 1:26
  • $\begingroup$ Ignis was deprecated in favor of qiskit-experiments $\endgroup$ Commented Jun 11, 2023 at 6:21

1 Answer 1


In Dec 2021, qiskit-ignis was deprecated (archived and unmaintained since Jul 2022). It was replaced by qiskit-experiments. With the new package, a new Quantum State Tomography tutorial is available.

The TL;DR for replacing state_tomography_circuits from Ignis with the new StateTomography object in your code:

st_qcs = StateTomography(qc, measurement_indices=[1, 3, 5])
  • $\begingroup$ Thanks. I will try new object of StateTomography. $\endgroup$
    – Jie Jiang
    Commented Jun 11, 2023 at 21:18
  • $\begingroup$ How to add error suppression and mitigation in fidelity estimation based on StateTomography? Thanks. $\endgroup$
    – Jie Jiang
    Commented Jun 17, 2023 at 16:25
  • $\begingroup$ Not sure. This might be its own question. $\endgroup$
    – luciano
    Commented Jun 20, 2023 at 10:17

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.