Skip to content

Commit

Permalink
fix: Reintroduce extended support for symmetric two-qubit gates
Browse files Browse the repository at this point in the history
  • Loading branch information
alecandido committed Aug 13, 2024
1 parent 98896b0 commit 70d1671
Show file tree
Hide file tree
Showing 2 changed files with 14 additions and 4 deletions.
6 changes: 6 additions & 0 deletions src/qibolab/platform/platform.py
Original file line number Diff line number Diff line change
Expand Up @@ -150,9 +150,15 @@ def pairs(self) -> QubitPairMap:
self._pairs[p] = QubitPair(
qubit1=p[0], qubit2=p[1], native_gates=natives
)
if natives.symmetric:
self._pairs[(p[1], p[0])] = QubitPair(
qubit1=p[0], qubit2=p[1], native_gates=natives
)

for p, natives in self.parameters.native_gates.two_qubit.items():
self._pairs[p].native_gates = natives
if natives.symmetric:
self._pairs[(p[1], p[0])].native_gates = natives

return self._pairs

Expand Down
12 changes: 8 additions & 4 deletions tests/test_backends.py
Original file line number Diff line number Diff line change
Expand Up @@ -121,10 +121,14 @@ def dummy_string_qubit_names():
pair.qubit2 = name[1]
platform._pairs[name] = pair
del platform._pairs[(q0, q1)]
platform.parameters.native_gates.two_qubit[name] = (
platform.parameters.native_gates.two_qubit[(q0, q1)]
)
del platform.parameters.native_gates.two_qubit[(q0, q1)]
try:
platform.parameters.native_gates.two_qubit[name] = (
platform.parameters.native_gates.two_qubit[(q0, q1)]
)
del platform.parameters.native_gates.two_qubit[(q0, q1)]
except KeyError:
# the symmetrized pair is only present in pairs, not in the natives
pass

return platform

Expand Down

0 comments on commit 70d1671

Please sign in to comment.