Qiskit Version Comptability
- Previous:
from qiskit import QuantumCircuit, execute, Aer - Corrected:
from qiskit import transpile, QuantumCircuitfrom qiskit_aer import AerSimulator
Explanation: Updated to match Qiskit 2.0.2, replacing deprecated imports with the current supported simulator (AerSimulator).
- Previous
from qiskit.quantum_info.synthesis import OneQubitEulerDecomposerfrom qiskit.quantum_info.synthesis.two_qubit_decompose import two_qubit_cnot_decompose - Corrected
from qiskit.synthesis import OneQubitEulerDecomposerfrom qiskit.synthesis import TwoQubitBasisDecomposerfrom qiskit.circuit.library import CXGate
Explanation: Adjusted imports to use TwoQubitBasisDecomposer and CXGate for compatibility.
- Previous:
from pairwise_tomography.pairwise_state_tomography_circuits import pairwise_state_tomography_circuitsfrom pairwise_tomography.pairwise_fitter import PairwiseStateTomographyFitter - Corrected:
from qiskit_experiments.library.tomography import StateTomography
Explanation: qiskit-ignis dependencies replaced with qiskit-experiments library to align with newer Qiskit versions.
- Previous:
self.backend = Aer.get_backend('qasm_simulator') - Corrected:
self.backend = AerSimulator()
Explanation: Updated backend initialization to reflect the new method in qiskit-aer.
- Previous:
Used execute() method. - Corrected:
Directly used backend’s .run() method (recommended practice for newer Qiskit versions).
- Previous:
Custom pairwise tomography implementation. - Corrected:
Utilized built-in StateTomography from qiskit-experiments.
- Previous: Used deprecated u3 gate:
self.qc.u3(the, phi, lam, qubit) - Corrected: Replaced with universal gate (u):
self.qc.u(the, phi, lam, qubit)
- Previous:
two_qubit_cnot_decompose(U) - Corrected:
TwoQubitBasisDecomposer(CXGate())
Explanation: Updated method to use the new decomposer explicitly specifying CXGate.
- Added: Custom FakeResult class used as a workaround for qiskit-aer issue.
- Added extensive debug print statements to monitor the internal state of computations.
The changes enhance compatibility with Qiskit 2.0.2 and improve stability, clarity, and maintainability of the quantum circuit implementations, especially in tomography and gate decomposition areas.