Skip to content

Commit 014f492

Browse files
Cut OTOC swaps
1 parent 9067cc7 commit 014f492

File tree

1 file changed

+7
-36
lines changed

1 file changed

+7
-36
lines changed

scripts/rcs_nn_otoc_qiskit_validation.py

Lines changed: 7 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -58,40 +58,6 @@ def acz(sim, q1, q2):
5858
sim.x(q1)
5959

6060

61-
def swap(sim, q1, q2):
62-
sim.swap(q1, q2)
63-
64-
65-
def iswap(sim, q1, q2):
66-
sim.swap(q1, q2)
67-
sim.cz(q1, q2)
68-
sim.s(q1)
69-
sim.s(q2)
70-
71-
72-
def iiswap(sim, q1, q2):
73-
sim.sdg(q2)
74-
sim.sdg(q1)
75-
sim.cz(q1, q2)
76-
sim.swap(q1, q2)
77-
78-
79-
def pswap(sim, q1, q2):
80-
sim.cz(q1, q2)
81-
sim.swap(q1, q2)
82-
83-
84-
def mswap(sim, q1, q2):
85-
sim.swap(q1, q2)
86-
sim.cz(q1, q2)
87-
88-
89-
def nswap(sim, q1, q2):
90-
sim.cz(q1, q2)
91-
sim.swap(q1, q2)
92-
sim.cz(q1, q2)
93-
94-
9561
def bench_qrack(width, depth, cycles):
9662
# This is a "nearest-neighbor" coupler random circuit.
9763

@@ -100,7 +66,7 @@ def bench_qrack(width, depth, cycles):
10066

10167
# Nearest-neighbor couplers:
10268
gateSequence = [0, 3, 2, 1, 2, 1, 0, 3]
103-
two_bit_gates = swap, pswap, mswap, nswap, iswap, iiswap, cx, cy, cz, acx, acy, acz
69+
two_bit_gates = cx, cy, cz, acx, acy, acz
10470

10571
row_len, col_len = factor_width(width)
10672

@@ -136,9 +102,14 @@ def bench_qrack(width, depth, cycles):
136102
b1 = row * row_len + col
137103
b2 = temp_row * row_len + temp_col
138104

139-
if (b1 >= width) or (b2 >= width):
105+
if (b1 >= width) or (b2 >= width) or (b1 == b2):
140106
continue
141107

108+
if d & 1:
109+
t = b1
110+
b1 = b2
111+
b2 = t
112+
142113
g = random.choice(two_bit_gates)
143114
g(rcs, b1, b2)
144115

0 commit comments

Comments
 (0)