mirror of https://github.com/Qiskit/qiskit-aer.git
Set the number of qubits with the coupling map (#1825)
* Set n_qubits from coupling map * Add a test and release notes * Fix lint --------- Co-authored-by: Hiroshi Horii <hhorii@users.noreply.github.com>
This commit is contained in:
parent
3954278265
commit
0fc19fd185
|
@ -940,5 +940,9 @@ class AerSimulator(AerBackend):
|
|||
# Clear options to default
|
||||
description = None
|
||||
n_qubits = None
|
||||
|
||||
if self._configuration.coupling_map:
|
||||
n_qubits = max(list(map(max, self._configuration.coupling_map))) + 1
|
||||
|
||||
self._set_configuration_option("description", description)
|
||||
self._set_configuration_option("n_qubits", n_qubits)
|
||||
|
|
|
@ -0,0 +1,7 @@
|
|||
---
|
||||
fixes:
|
||||
- |
|
||||
Fix an issue even if the number of qubits is set by a coupling map
|
||||
or device's configuration, when the simulation method is configured,
|
||||
the number of qubits is overwritten in accordance with the method.
|
||||
Fixed `#1769 <https://github.com/Qiskit/qiskit-aer/issues/1769>`__
|
|
@ -19,6 +19,9 @@ from qiskit_aer.noise import NoiseModel
|
|||
from test.terra.backends.simulator_test_case import SimulatorTestCase, supported_methods
|
||||
from qiskit.quantum_info.random import random_unitary
|
||||
from qiskit.quantum_info import state_fidelity
|
||||
from qiskit.providers.fake_provider import FakeMontreal
|
||||
|
||||
from qiskit_aer import AerSimulator
|
||||
|
||||
|
||||
@ddt
|
||||
|
@ -282,3 +285,20 @@ class TestOptions(SimulatorTestCase):
|
|||
"Required memory: {}".format(2 ** (n - 20) * 16) in result.results[0].status
|
||||
)
|
||||
self.assertTrue("max memory: {}".format(max_memory_mb) in result.results[0].status)
|
||||
|
||||
@data(
|
||||
"automatic",
|
||||
"stabilizer",
|
||||
"statevector",
|
||||
"density_matrix",
|
||||
"matrix_product_state",
|
||||
"extended_stabilizer",
|
||||
"unitary",
|
||||
"superop",
|
||||
)
|
||||
def test_num_qubits(self, method):
|
||||
"""Test number of qubits is correctly checked"""
|
||||
|
||||
num_qubits = FakeMontreal().configuration().num_qubits
|
||||
backend = AerSimulator.from_backend(FakeMontreal(), method=method)
|
||||
self.assertGreaterEqual(backend.configuration().num_qubits, num_qubits)
|
||||
|
|
Loading…
Reference in New Issue