def prep_recv(conn): with SimulaQronConnection("Alice", appID=1) as Alice: qA = Qubit(Alice) qA.H() Alice.sendQubit(qA, "Bob") qB = conn.recvQubit() return qB
def prep_CNOT_control(conn): q1 = Qubit(conn) q2 = Qubit(conn) q1.H() q1.cnot(q2) q2.measure() return q1
def prep_send(conn): with SimulaQronConnection("Alice", appID=1) as Alice: qA = Qubit(conn) qB = Qubit(conn) qA.H() qA.cnot(qB) conn.sendQubit(qA, "Alice", remote_appID=1) qA = Alice.recvQubit() m = qA.measure() if m == 1: qB.X() qB.H() return qB
def prep_CNOT_target(conn): q1 = Qubit(conn) q2 = Qubit(conn) q1.H() q1.cnot(q2) q1.measure() return q2
def prep_CPHASE_target(conn): q1 = Qubit(conn) q2 = Qubit(conn) q1.H() q2.H() q1.cphase(q2) q2.H() q1.measure() return q2
def prep_CPHASE_control(conn): q1 = Qubit(conn) q2 = Qubit(conn) q1.H() q2.H() q1.cphase(q2) q2.H() q2.measure() return q1
def prep_y1(conn): q = Qubit(conn) q.X() q.K() return q
def prep_y0(conn): q = Qubit(conn) q.K() return q
def prep_x1(conn): q = Qubit(conn) q.X() q.H() return q
def prep_x0(conn): q = Qubit(conn) q.H() return q
def prep_z1(conn): q = Qubit(conn) q.X() return q
def prep_z0(conn): q = Qubit(conn) return q