瀏覽代碼

Prepare for JS tests

master
Pete Shadbolt 8 年之前
父節點
當前提交
0d78f792c2
共有 6 個檔案被更改,包括 5 行新增102 行删除
  1. +1
    -1
      abp/server.py
  2. +0
    -13
      scripts/investigate_rightphase.py
  3. +0
    -21
      scripts/try_stabilizing.py
  4. +0
    -35
      scripts/wtf.py
  5. +0
    -32
      scripts/wtf2.py
  6. +4
    -0
      static/scripts/graph.js

+ 1
- 1
abp/server.py 查看文件

@@ -7,7 +7,7 @@ import webbrowser
clients = []

def new_message(client, server, message):
print "Receieved update from client {}.".format(client["id"])
print "Received update from client {}.".format(client["id"])
server.send_message_to_all(message)

def new_client(client, server):


+ 0
- 13
scripts/investigate_rightphase.py 查看文件

@@ -1,13 +0,0 @@
from anders_briegel import graphsim
from abp import clifford, qi
import itertools
import numpy as np

for i, j in itertools.product(range(4), range(24)):
operation, phase = clifford.conjugate(i, j)
vop_u = clifford.unitaries[i]
transform_u = clifford.unitaries[j]
u = np.dot(transform_u, np.dot(vop_u, qi.hermitian_conjugate(transform_u)))
#print u.round(2)



+ 0
- 21
scripts/try_stabilizing.py 查看文件

@@ -1,21 +0,0 @@
import abp
import numpy as np
from anders_briegel import graphsim

def wah():
N = 10
a = graphsim.GraphRegister(N)

for i in range(1000):
if np.random.random()>0.5:
j = np.random.randint(0, N-1)
a.hadamard(j)
else:
q = np.random.randint(0, N-2)
a.cphase(q, q+1)

a.print_stabilizer()


u = abp.GraphState(xrange(2))
print u.to_stabilizer()

+ 0
- 35
scripts/wtf.py 查看文件

@@ -1,35 +0,0 @@
from abp import clifford, qi, GraphState
from anders_briegel import graphsim
import numpy as np
import itertools as it


""" This is an example of where we get a discrepancy """

def pete():
a = GraphState(xrange(3))
a.act_hadamard(0)
a.act_hadamard(1)
a.act_hadamard(2)
a.act_cz(0, 1)
a.act_cz(0, 2)
a.act_local_rotation(0, 1)
a.act_local_rotation(2, 3)
a.act_cz(1,2)
return a.adj_list()

def anders():
b = graphsim.GraphRegister(3)
b.hadamard(0)
b.hadamard(1)
b.hadamard(2)
b.cphase(0, 1)
b.cphase(0, 2)
b.local_op(0, graphsim.LocCliffOp(1))
b.local_op(2, graphsim.LocCliffOp(3))
b.cphase(1,2)
b.print_adj_list()

pete()
anders()


+ 0
- 32
scripts/wtf2.py 查看文件

@@ -1,32 +0,0 @@
from abp import GraphState
from anders_briegel import graphsim
from abp import clifford
import random, difflib, re
from copy import deepcopy


def isequal(a, b):
""" TODO: Sketchy as you like. Remove this abomination """
aa = a.get_adj_list()
bb = b.adj_list()
return re.sub("\\s", "", aa) == re.sub("\\s", "", bb)

clifford.use_old_cz()

N = 3

a = graphsim.GraphRegister(N)
b = GraphState(range(N))
previous_state, previous_cz = None, None
while isequal(a, b):
if random.random()>0.5:
j = random.randint(0, N-1)
a.hadamard(j)
b.act_hadamard(j)
else:
q = random.randint(0, N-2)
if a!=b:
a.cphase(q, q+1)
b.act_cz(q, q+1)



+ 4
- 0
static/scripts/graph.js 查看文件

@@ -41,3 +41,7 @@ graph.update = function(newState) {
gui.render();
};

graph.test = function(command) {
//Act the command
//Send it back to the server, ultimately thru to python
};

Loading…
取消
儲存