Skip to content

Commit

Permalink
Fix conflict for real
Browse files Browse the repository at this point in the history
  • Loading branch information
ElePT committed Oct 17, 2023
1 parent a1dce18 commit 5a0dab0
Showing 1 changed file with 14 additions and 28 deletions.
42 changes: 14 additions & 28 deletions test/python/transpiler/test_preset_passmanagers.py
Original file line number Diff line number Diff line change
Expand Up @@ -238,18 +238,23 @@ def test_no_coupling_map(self, level):

@combine(level=[0, 1, 2, 3], name="level{level}")
def test_7677(self, level):
"""Melbourne (with inconsistency configuration/properties) should not fail with noise_adaptive
"""Backends with inconsistency in configuration/properties should not fail with noise_adaptive
See: https://github.com/Qiskit/qiskit/issues/7677
"""
qc = QuantumCircuit(12) # circuit has 12 qubits (and only uses 3)
qc.cx(1, 8)
qc.cx(1, 11)
backend = FakeMelbourne()
backend = Fake20QV1()
# add extra qubit to properties to reproduce
# Melbourne's inconsistency with configuration
backend.properties().qubits.append(backend.properties().qubits[-1])

result = transpile(qc, backend, layout_method="noise_adaptive", optimization_level=level)

self.assertIsInstance(result, QuantumCircuit)
self.assertEqual(result.num_qubits, 14)
# the final num. qubits should be consistent
# with the configuration
self.assertEqual(result.num_qubits, 20)

def test_layout_3239(self, level=3):
"""Test final layout after preset level3 passmanager does not include diagonal gates
Expand Down Expand Up @@ -934,7 +939,8 @@ class TestFinalLayouts(QiskitTestCase):

@data(0, 1, 2, 3)
def test_layout_tokyo_2845(self, level):
"""Test that final layout in tokyo #2845
"""Test that final layout in a Tokyo-like device
is not the trivial layout for optimization level>0
See: https://github.com/Qiskit/qiskit-terra/issues/2845
"""
qr1 = QuantumRegister(3, "qr1")
Expand Down Expand Up @@ -990,29 +996,7 @@ def test_layout_tokyo_2845(self, level):
18: Qubit(QuantumRegister(15, "ancilla"), 14),
19: Qubit(QuantumRegister(2, "qr2"), 0),
}
# layout for ibm_Tokyo
# vf2_layout = {
# 0: Qubit(QuantumRegister(15, "ancilla"), 0),
# 1: Qubit(QuantumRegister(15, "ancilla"), 1),
# 2: Qubit(QuantumRegister(15, "ancilla"), 2),
# 3: Qubit(QuantumRegister(15, "ancilla"), 3),
# 4: Qubit(QuantumRegister(15, "ancilla"), 4),
# 5: Qubit(QuantumRegister(15, "ancilla"), 5),
# 6: Qubit(QuantumRegister(3, "qr1"), 1),
# 7: Qubit(QuantumRegister(15, "ancilla"), 6),
# 8: Qubit(QuantumRegister(15, "ancilla"), 7),
# 9: Qubit(QuantumRegister(15, "ancilla"), 8),
# 10: Qubit(QuantumRegister(3, "qr1"), 0),
# 11: Qubit(QuantumRegister(3, "qr1"), 2),
# 12: Qubit(QuantumRegister(15, "ancilla"), 9),
# 13: Qubit(QuantumRegister(15, "ancilla"), 10),
# 14: Qubit(QuantumRegister(15, "ancilla"), 11),
# 15: Qubit(QuantumRegister(15, "ancilla"), 12),
# 16: Qubit(QuantumRegister(2, "qr2"), 0),
# 17: Qubit(QuantumRegister(2, "qr2"), 1),
# 18: Qubit(QuantumRegister(15, "ancilla"), 13),
# 19: Qubit(QuantumRegister(15, "ancilla"), 14),
# }

# Trivial layout
expected_layout_level0 = trivial_layout
# Dense layout
Expand All @@ -1034,7 +1018,9 @@ def test_layout_tokyo_2845(self, level):

@data(0, 1, 2, 3)
def test_layout_tokyo_fully_connected_cx(self, level):
"""Test that final layout in tokyo in a fully connected circuit"""
"""Test that final layout in a Tokyo-like device
is a fully connected circuit
"""
qr = QuantumRegister(5, "qr")
qc = QuantumCircuit(qr)
for qubit_target in qr:
Expand Down

0 comments on commit 5a0dab0

Please sign in to comment.