Anders and Briegel in Python
Vous ne pouvez pas sélectionner plus de 25 sujets Les noms de sujets doivent commencer par une lettre ou un nombre, peuvent contenir des tirets ('-') et peuvent comporter jusqu'à 35 caractères.
Pete Shadbolt cd589612b2 Move DETERMINISTIC to a library setting il y a 7 ans
abp Move DETERMINISTIC to a library setting il y a 7 ans
bin Update doc version il y a 7 ans
doc Bump version: 0.4.20 → 0.4.21 il y a 7 ans
examples Tidy up examples, remove images from docs & readme il y a 7 ans
tests Move DETERMINISTIC to a library setting il y a 7 ans
.bumpversion.cfg Bump version: 0.4.20 → 0.4.21 il y a 7 ans
.gitignore Update version to 0.4.3 il y a 7 ans
MANIFEST.in Pratting with MANIFEST il y a 7 ans
README.md Bump version: 0.4.20 → 0.4.21 il y a 7 ans
TODO.mkd Makefiles il y a 7 ans
makefile I think you no longer have to register with pypi il y a 7 ans
setup.py Bump version: 0.4.20 → 0.4.21 il y a 7 ans

README.md

abp 0.4.21

Python port of Anders and Briegel’ s method for fast simulation of Clifford circuits. You can read the full documentation here.

Installation

It's easiest to install with pip:

$ pip install --user abp==0.4.21

Or clone and install in develop mode:

$ git clone https://github.com/peteshadbolt/abp.git
$ cd abp
$ python setup.py develop --user
$ python setup.py develop --user --prefix=  # Might be required on OSX

Visualization

abp comes with a tool to visualize graph states in a web browser. It uses a client-server architecture.

First, run abpserver in a terminal:

$ abpserver
Listening on port 5000 for clients..

Then browse to http://localhost:5001/. Alternatively, abpserver -v will automatically pop a browser window.

Now, in another terminal, use abp.fancy.GraphState to run a Clifford circuit:

>>> from abp.fancy import GraphState
>>> g = GraphState(10)
>>> for i in range(10):
...     g.act_hadamard(i)
... 
>>> g.update()
>>> for i in range(9):
...     g.act_cz(i, i+1)
... 
>>> g.update()

And you should see a visualization of the state.

Testing

abp has a bunch of tests. You can run them all with nose:

$ nosetests
53 tests run in 39.5 seconds (53 tests passed)

Currently I use some reference implementations of chp and graphsim which you won't have installed, so some tests will be skipped. That's expected.