Anders and Briegel in Python
選択できるのは25トピックまでです。 トピックは、先頭が英数字で、英数字とダッシュ('-')を使用した35文字以内のものにしてください。
Pete Shadbolt 1bdb86f9a4 Remove print in a test 7年前
abp Merge branch 'master' into pete 7年前
bin Update doc version 7年前
doc Hack to make bumpversion keep track of doc version 7年前
examples Fix examples, improve robustness. 7年前
tests Remove print in a test 7年前
.bumpversion.cfg Show version number in browser 7年前
.gitignore Update version to 0.4.3 7年前
MANIFEST.in Pratting with MANIFEST 7年前
README.md Update README.md 7年前
TODO.mkd Makefiles 7年前
makefile Makefiles 7年前
setup.py Bump version: 0.4.17 → 0.4.18 7年前

README.md

abp

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

demo

Installation

It's easiest to install with pip:

$ pip install --user abp

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(range(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:

demo

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.