-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathcircuit.py
More file actions
37 lines (35 loc) · 1.12 KB
/
circuit.py
File metadata and controls
37 lines (35 loc) · 1.12 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
from qiskit import QuantumRegister, ClassicalRegister, QuantumCircuit
from numpy import pi
qreg_q = QuantumRegister(3, 'q')
creg_c = ClassicalRegister(3, 'c')
circuit = QuantumCircuit(qreg_q, creg_c)
circuit.x(qreg_q[1])
circuit.x(qreg_q[1])
circuit.ccx(qreg_q[0], qreg_q[1], qreg_q[2])
circuit.tdg(qreg_q[0])
circuit.measure(qreg_q[1], creg_c[1])
circuit.rzz(pi/2, qreg_q[1], qreg_q[2]).c_if(creg_c, 0)
circuit.reset(qreg_q[1])
circuit.cx(qreg_q[0], qreg_q[1])
circuit.ccx(qreg_q[0], qreg_q[1], qreg_q[2]).c_if(creg_c, 0)
circuit.t(qreg_q[0])
circuit.swap(qreg_q[1], qreg_q[2]).c_if(creg_c, 0)
circuit.x(qreg_q[0])
circuit.u(pi/2, pi/2, pi/2, qreg_q[1])
circuit.h(qreg_q[2])
circuit.sx(qreg_q[0])
circuit.id(qreg_q[1])
circuit.rx(pi/2, qreg_q[2])
circuit.y(qreg_q[1])
circuit.rx(pi/2, qreg_q[1])
circuit.rz(pi/2, qreg_q[1])
circuit.ccx(qreg_q[0], qreg_q[1], qreg_q[2])
circuit.s(qreg_q[0])
circuit.rzz(pi/2, qreg_q[1], qreg_q[2]).c_if(creg_c, 0)
circuit.ccx(qreg_q[0], qreg_q[1], qreg_q[2])
circuit.swap(qreg_q[0], qreg_q[1])
circuit.ry(pi/2, qreg_q[2])
circuit.id(qreg_q[0])
circuit.p(pi/2, qreg_q[1])
circuit.z(qreg_q[2])
circuit.sxdg(qreg_q[0])