From 93668823c1dacad9d986e27660c8939d9e5c15bd Mon Sep 17 00:00:00 2001 From: Hitomi Takahashi Date: Fri, 25 Aug 2023 11:01:46 +0900 Subject: [PATCH] Change num of qubits in Estimator --- qiskit_aer/backends/aer_simulator.py | 2 +- qiskit_aer/backends/aerbackend.py | 32 +------------------- qiskit_aer/backends/qasm_simulator.py | 2 +- qiskit_aer/backends/statevector_simulator.py | 2 +- qiskit_aer/backends/unitary_simulator.py | 2 +- qiskit_aer/primitives/estimator.py | 7 ++++- 6 files changed, 11 insertions(+), 36 deletions(-) diff --git a/qiskit_aer/backends/aer_simulator.py b/qiskit_aer/backends/aer_simulator.py index 1154dab407..4b3f50c09b 100644 --- a/qiskit_aer/backends/aer_simulator.py +++ b/qiskit_aer/backends/aer_simulator.py @@ -31,7 +31,7 @@ BASIS_GATES, ) -# pylint: disable=import-error, no-name-in-module +# pylint: disable=import-error, no-name-in-module, abstract-method from .controller_wrappers import aer_controller_execute logger = logging.getLogger(__name__) diff --git a/qiskit_aer/backends/aerbackend.py b/qiskit_aer/backends/aerbackend.py index 765921bb2b..67ac1f19cd 100644 --- a/qiskit_aer/backends/aerbackend.py +++ b/qiskit_aer/backends/aerbackend.py @@ -37,7 +37,7 @@ from .backend_utils import format_save_type, circuit_optypes from .name_mapping import NAME_MAPPING -# pylint: disable=import-error, no-name-in-module +# pylint: disable=import-error, no-name-in-module, abstract-method from .controller_wrappers import AerConfig # Logger @@ -356,36 +356,6 @@ def target(self): ) return self._target - @property - def dtm(self): - if hasattr(self.configuration(), "dtm"): - return self.configuration().dtm - else: - return None - - @property - def meas_map(self): - if hasattr(self.configuration(), "meas_map"): - return self.configuration().meas_map - else: - return None - - def acquire_channel(self): - return None - - def control_channel(self): - return None - - def drive_channel(self): - return None - - def measure_channel(self): - return None - - @classmethod - def _default_options(cls): - pass - def clear_options(self): """Reset the simulator options to default values.""" self._options = self._default_options() diff --git a/qiskit_aer/backends/qasm_simulator.py b/qiskit_aer/backends/qasm_simulator.py index dce0ada443..a326509b4f 100644 --- a/qiskit_aer/backends/qasm_simulator.py +++ b/qiskit_aer/backends/qasm_simulator.py @@ -33,7 +33,7 @@ map_legacy_method_config, ) -# pylint: disable=import-error, no-name-in-module +# pylint: disable=import-error, no-name-in-module, abstract-method from .controller_wrappers import aer_controller_execute logger = logging.getLogger(__name__) diff --git a/qiskit_aer/backends/statevector_simulator.py b/qiskit_aer/backends/statevector_simulator.py index 5c74e0d535..4618250e49 100644 --- a/qiskit_aer/backends/statevector_simulator.py +++ b/qiskit_aer/backends/statevector_simulator.py @@ -35,7 +35,7 @@ add_final_save_op, ) -# pylint: disable=import-error, no-name-in-module +# pylint: disable=import-error, no-name-in-module, abstract-method from .controller_wrappers import aer_controller_execute # Logger diff --git a/qiskit_aer/backends/unitary_simulator.py b/qiskit_aer/backends/unitary_simulator.py index f2039486ce..9d73734f87 100644 --- a/qiskit_aer/backends/unitary_simulator.py +++ b/qiskit_aer/backends/unitary_simulator.py @@ -36,7 +36,7 @@ map_legacy_method_config, ) -# pylint: disable=import-error, no-name-in-module +# pylint: disable=import-error, no-name-in-module, abstract-method from .controller_wrappers import aer_controller_execute # Logger diff --git a/qiskit_aer/primitives/estimator.py b/qiskit_aer/primitives/estimator.py index 6e34dda648..02877e1f7b 100644 --- a/qiskit_aer/primitives/estimator.py +++ b/qiskit_aer/primitives/estimator.py @@ -301,7 +301,12 @@ def _create_meas_circuit(self, basis: Pauli, circuit_index: int): return meas_circuit transpile_opts = copy(self._transpile_options) transpile_opts.update_options(initial_layout=self._layouts[circuit_index]) - return transpile(meas_circuit, self._backend, **transpile_opts.__dict__) + + _num_qubits = self._backend.num_qubits + self._backend.set_option("n_qubits", meas_circuit.num_qubits) + new_circ = transpile(meas_circuit, self._backend, **transpile_opts.__dict__) + self._backend.set_option("n_qubits", _num_qubits) + return new_circ @staticmethod def _combine_circs(circuit: QuantumCircuit, meas_circuits: list[QuantumCircuit]):