|
|
@@ -33,12 +33,20 @@ def test_multiqubit2(): |
|
|
|
for measurement in (3,): |
|
|
|
for i in tqdm(range(REPEATS), "Testing {} measurement".format(measurement)): |
|
|
|
for outcome in (0, 1): |
|
|
|
a, b = dummy.messy_random_state(3) |
|
|
|
assert a == b |
|
|
|
oa = a.measure(0, str(measurement), outcome) |
|
|
|
ob = b.measure(0, m[measurement], None, outcome) |
|
|
|
assert oa == ob, (oa, ob) |
|
|
|
print a.to_json() |
|
|
|
print b.to_json() |
|
|
|
assert a == b, (measurement, outcome) |
|
|
|
for rotation in range(24): |
|
|
|
a, b = dummy.clean_random_state(3) |
|
|
|
assert a == b |
|
|
|
a.act_local_rotation(0, str(rotation)) |
|
|
|
b.local_op(0, graphsim.LocCliffOp(rotation)) |
|
|
|
|
|
|
|
print "{} ------------------".format(rotation) |
|
|
|
print "pjs b4:", a.to_json() |
|
|
|
print "a&b b4:", b.to_json() |
|
|
|
oa = a.measure(0, str(measurement), outcome) |
|
|
|
ob = b.measure(0, m[measurement], None, outcome) |
|
|
|
assert oa == ob, (oa, ob) |
|
|
|
print "pjs af:", a.to_json() |
|
|
|
print "a&b af:", b.to_json() |
|
|
|
assert a == b, (measurement, outcome) |
|
|
|
print |
|
|
|
|