- from abp import GraphState, clifford
- from anders_briegel import graphsim
- import numpy as np
- from tqdm import tqdm
- import dummy
-
- N = 10
- REPEATS = 10
- m = {1: graphsim.lco_X, 2: graphsim.lco_Y, 3: graphsim.lco_Z}
-
- def _test_multiqubit_measurement_pz():
- """ Test a multiqubit measurement """
- for i in tqdm(range(REPEATS)):
- a, b = dummy.random_state(messy=False)
- j = np.random.choice(range(N))
- k = "pz"
- a.measure(j, k, 0)
- print a.to_json()
- print b.to_json()
- print
- #assert a.to_json() == b.to_json(), a
-
-
- def test_2qubit():
- """ Relentless testing of measurements """
- for measurement in (3, 2, 1):
- for outcome in (0, 1):
- a, b = dummy.bell()
- a.measure(0, str(measurement), outcome)
- b.measure(0, m[measurement], None, outcome)
- assert a == b, "FUCK"
- #print a.to_json()
- #print b.to_json()
- assert a == b, (measurement, outcome)
-
- def test_multiqubit():
- """ Relentless testing of measurements """
- for measurement in (1,):
- for i in tqdm(range(1000), "Testing {} measurement".format(measurement)):
- for outcome in (0, 1):
- a, b = dummy.random_state(N, messy=False)
- a.measure(0, str(measurement), outcome)
- b.measure(0, m[measurement], None, outcome)
- assert a == b, (measurement, outcome)
-
|