Pete Shadbolt před 8 roky
rodič
revize
54c37f171e
6 změnil soubory, kde provedl 1 přidání a 95 odebrání
  1. +0
    -0
      clifford.py
  2. +0
    -1
      graph.py
  3. +0
    -48
      graphstate.py
  4. +0
    -31
      loc_cliff_table.py
  5. +1
    -1
      tests/test_clifford.py
  6. +0
    -14
      vops.py

local_cliffords.py → clifford.py Zobrazit soubor


+ 0
- 1
graph.py Zobrazit soubor

@@ -1,6 +1,5 @@
import networkx as nx
from matplotlib import pyplot as plt
from vops import *

class Graph(object):



+ 0
- 48
graphstate.py Zobrazit soubor

@@ -1,48 +0,0 @@
import networkx as nx
from matplotlib import pyplot as plt
from vops import *

class Graph(object):

def __init__(self, n):
self.vertices = [set() for i in xrange(n)]
self.vops = [hadamard for i in xrange(n)]

def add_edge(self, v1, v2):
self.vertices[v1].add(v2)
self.vertices[v2].add(v1)

def del_edge(self, v1, v2):
self.vertices[v1].remove(v2)
self.vertices[v2].remove(v1)

def edgelist(self):
edges = frozenset(frozenset((i, n))
for i, v in enumerate(self.vertices)
for n in v)
return [tuple(e) for e in edges]

def draw(self, filename="out.pdf"):
g = nx.from_edgelist(self.edgelist())
pos = nx.spring_layout(g)
nx.draw_networkx_nodes(g, pos, node_color="white", node_size=1000)
nx.draw_networkx_labels(g, pos)
nx.draw_networkx_edges(g, pos)
for i, vop in enumerate(self.vops):
if not i in pos: continue
x, y = pos[i]
plt.text(x, y+0.1, vops[vop], ha="center")

plt.axis('off')
plt.savefig(filename)

if __name__ == '__main__':
g = Graph(10)
g.add_edge(0, 1)
g.add_edge(1, 3)
g.add_edge(3, 2)
g.add_edge(3, 0)
g.add_edge(2, 0)
print g.edgelist()

g.draw()

+ 0
- 31
loc_cliff_table.py Zobrazit soubor

@@ -1,31 +0,0 @@
from numpy import *
import json
#json.load(open("anders_


#i = matrix(eye(2, dtype=complex))
#h = matrix([[1, 1], [1, -1]], dtype=complex) / sqrt(2)
#p = matrix([[1, 0], [0, 1j]], dtype=complex)

#s_set = [i, p, p*p, p*p*p]
#s_names = ["i", "p", "pp", "ppp"]

#c_set = [i, h, h*p, h*p*p, h*p*p*p, h*p*p*h]
#c_names = ["i", "h", "hp", "hpp", "hppp", "hpph"]

#names = []
#matrices = []
#for s, s_name in zip(s_set, s_names):
#for c, c_name in zip(c_set, c_names):
#names.append(s_name+c_name)
#matrices.append(s*c)

#print " ".join(names)
#print len(names)

#for m in matrices:
# print (m/abs(amax(m))).round(0).reshape(4)
#print average(abs(array((m/abs(amax(m))).round(0).reshape(4).tolist()[0])))



tests/test_local_cliffords.py → tests/test_clifford.py Zobrazit soubor

@@ -1,4 +1,4 @@
import local_cliffords as lc
import clifford as lc
from numpy import *

def test_identify_pauli():

+ 0
- 14
vops.py Zobrazit soubor

@@ -1,14 +0,0 @@

class LocCliffOp:
def __init__(self, op):
self.op = op
self.name = names[op]

def __str__(self):
return self.name


if __name__ == '__main__':
l = LocCliffOp(0)
print l


Načítá se…
Zrušit
Uložit