コード例 #1
0
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
コード例 #2
0
 def testReset(self):
     with SimulaQronConnection("Alice") as conn:
         # Test RESET
         sys.stdout.write("Testing RESET:")
         exp_values = calc_exp_values(prep_I_state())
         ans = conn.test_preparation(prep_reset, exp_values, iterations=self.iterations)
         sys.stdout.write("\r")
         self.assertTrue(ans)
コード例 #3
0
 def testKGate(self):
     with SimulaQronConnection("Alice") as conn:
         # Test K
         sys.stdout.write("Testing K gate:")
         exp_values = calc_exp_values(prep_K_state())
         ans = conn.test_preparation(prep_K, exp_values, iterations=self.iterations)
         sys.stdout.write("\r")
         self.assertTrue(ans)
コード例 #4
0
 def test_x0(self):
     with SimulaQronConnection("Alice") as conn:
         sys.stdout.write("Testing noise on state (|0>+|1>)/sqrt(2)")
         ans = conn.test_preparation(prep_x0,
                                     exp_values=self.exp_values,
                                     iterations=self.iterations)
         sys.stdout.write("\r")
         self.assertTrue(ans)
コード例 #5
0
 def testRevTarget(self):
     with SimulaQronConnection("Bob", appID=0) as conn:
         # Test recv target
         sys.stdout.write("Testing recv:")
         exp_values = calc_exp_values(prep_H_state())
         ans = conn.test_preparation(prep_recv,
                                     exp_values,
                                     iterations=self.iterations)
         sys.stdout.write("\r")
         self.assertTrue(ans)
コード例 #6
0
 def testSendControl(self):
     with SimulaQronConnection("Bob", appID=0) as conn:
         # Test send control
         sys.stdout.write("Testing send:")
         exp_values = calc_exp_values(prep_H_state())
         ans = conn.test_preparation(prep_send,
                                     exp_values,
                                     iterations=self.iterations)
         sys.stdout.write("\r")
         self.assertTrue(ans)
コード例 #7
0
 def testEPR2(self):
     with SimulaQronConnection("Bob", appID=0) as conn:
         # Test EPR2
         sys.stdout.write("Testing EPR2:")
         exp_values = calc_exp_values(prep_mixed_state())
         ans = conn.test_preparation(prep_EPR2,
                                     exp_values,
                                     iterations=self.iterations)
         sys.stdout.write("\r")
         self.assertTrue(ans)
コード例 #8
0
 def testCPHASETarget(self):
     with SimulaQronConnection("Bob", appID=0) as conn:
         # Test CPHASE target
         sys.stdout.write("Testing CPHASE target:")
         exp_values = calc_exp_values(prep_mixed_state())
         ans = conn.test_preparation(prep_CPHASE_target,
                                     exp_values,
                                     iterations=self.iterations)
         sys.stdout.write("\r")
         self.assertTrue(ans)
コード例 #9
0
 def testCNOTControl(self):
     with SimulaQronConnection("Bob", appID=0) as conn:
         # Test CNOT control
         sys.stdout.write("Testing CNOT control:")
         exp_values = calc_exp_values(prep_mixed_state())
         ans = conn.test_preparation(prep_CNOT_control,
                                     exp_values,
                                     iterations=self.iterations)
         sys.stdout.write("\r")
         self.assertTrue(ans)
コード例 #10
0
 def testZ5pi8Rot(self):
     with SimulaQronConnection("Alice") as conn:
         # Test ROT_Z 5*pi/8
         sys.stdout.write("Testing rotation (Z,5*pi/8) gate:")
         exp_values = calc_exp_values(prep_rot_state([0, 0, 1], 5 * np.pi / 8))
         if simulaqron_settings.sim_backend == SimBackend.STABILIZER.value:
             with self.assertRaises(SimUnsupportedError):
                 conn.test_preparation(prep_rotz2, exp_values, iterations=self.iterations, progress=False)
         else:
             ans = conn.test_preparation(prep_rotz2, exp_values, iterations=self.iterations)
             sys.stdout.write("\r")
             self.assertTrue(ans)
コード例 #11
0
 def testTGate(self):
     with SimulaQronConnection("Alice") as conn:
         # Test T
         sys.stdout.write("Testing T gate:")
         exp_values = calc_exp_values(prep_T_state())
         if simulaqron_settings.sim_backend == SimBackend.STABILIZER.value:
             with self.assertRaises(SimUnsupportedError):
                 conn.test_preparation(prep_T, exp_values, iterations=self.iterations, progress=False)
         else:
             ans = conn.test_preparation(prep_T, exp_values, iterations=self.iterations)
             sys.stdout.write("\r")
             self.assertTrue(ans)
コード例 #12
0
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
コード例 #13
0
def prep_EPR2(conn):
    with SimulaQronConnection("Alice", appID=1) as Alice:
        qB = conn.createEPR("Alice", remote_appID=1)
        qA = Alice.recvEPR()
        qA.measure()
    return qB
コード例 #14
0
def prep_EPR1(conn):
    with SimulaQronConnection("Alice", appID=1) as Alice:
        qA = Alice.createEPR("Bob")
        qB = conn.recvEPR()
        qA.measure()
    return qB
コード例 #15
0
 def recv_func(name, remote_name):
     epr_socket = EPRSocket(remote_name)
     with SimulaQronConnection(name, epr_sockets=[epr_socket]):
         q = epr_socket.create()[0]
         m = q.measure()
         outcomes.append(m)