Przeglądaj źródła

Aha... found a mistake. Wonder if that's it....

master
Pete Shadbolt 8 lat temu
rodzic
commit
9d859145d8
2 zmienionych plików z 7 dodań i 6 usunięć
  1. +1
    -1
      abp/qi.py
  2. +6
    -5
      tests/test_against_circuit_model.py

+ 1
- 1
abp/qi.py Wyświetl plik

@@ -58,7 +58,7 @@ class CircuitModel(object):
def act_cz(self, control, target):
""" Act a CU somewhere """
control = 1 << control
target = 1 << control
target = 1 << target
for i in xrange(self.d):
if (i & control) and (i & target):
self.state[i, 0] *= -1


+ 6
- 5
tests/test_against_circuit_model.py Wyświetl plik

@@ -6,7 +6,7 @@ import random

def multi_qubit_test():
""" A multi qubit test """
n = 3
n = 6
g = GraphState(range(n))
c = CircuitModel(n)

@@ -16,10 +16,11 @@ def multi_qubit_test():

assert np.allclose(g.to_state_vector().state, c.state)

g.act_cz(0, 1)
c.act_cz(0, 1)
g.act_cz(1, 2)
c.act_cz(1, 2)
for i in range(100):
a, b = np.random.randint(0, n-1, 2)
if a != b:
g.act_cz(a, b)
c.act_cz(a, b)

s1 = clifford.normalize_global_phase(g.to_state_vector().state)
s2 = clifford.normalize_global_phase(c.state)


Ładowanie…
Anuluj
Zapisz