Optimize and simulate measurement-based quantum computation
Project description
Graphix is a measurement-based quantum computing (MBQC) compiler to generate, optimize and simulate MBQC measurement patterns.
Feature
- We integrate an efficient graph state simulator as an optimization routine of MBQC measurement pattern, with which we can classically preprocess all Pauli measurements (corresponding to the elimination of all Clifford gates in the gate network - c.f. Gottesman-Knill theorem and more general pattern rewriting method based on ZX diagram rewriting), reducing the required size of graph state to run the computation.
- We implement tensor-network simulation backend for MBQC with which thousands of qubits (graph nodes) can be simulated with modest computing resources (e.g. laptop), without approximation.
- We are developing density matrix simulation backend for noisy MBQC simulations with customizable noise models.
Installation
Install graphix
with pip
:
$ pip install graphix
Install together with device interface:
$ pip install graphix[extra]
this will install graphix
and IBMQ interface to run MBQC patterns on IBM devices and Aer simulator.
We are currently adding more quantum device interfaces. Please suggest in issues if you have any particular device in mind!
Next Steps
-
We have a few demos showing basic usages of
Graphix
. -
You can run demos on your browser:
-
Read the tutorial for more comprehensive guide.
-
For theoretical background, read our quick introduction into MBQC and LC-MBQC.
Citing
Shinichi Sunami and Masato Fukushima, Graphix. (2023) https://doi.org/10.5281/zenodo.7861382
Update on the arXiv paper: [^1]
[^1]: Following the release of this arXiv preprint, we were made aware of Backens et al. and related work, where graph-theoretic simplification (Pauli measurement elimination) of patterns were shown. Many thanks for letting us know about this work - at the time of the writing we were not aware of these important relevant works but will certainly properly mention in the new version; we are working on significant restructuring and rewriting of the paper and hope to update the paper this autumn.
Contributing
We use GitHub issues for tracking feature requests and bugs reports.
Discord Server
Please visit Unitary Fund's Discord server, where you can find a channel for graphix
to ask questions.
Core Contributors
Dr. Shinichi Sunami (University of Oxford)
Masato Fukushima (University of Tokyo, Fixstars Amplify)
Acknowledgements
We are proud to be supported by unitary fund microgrant program.
Special thanks to Fixstars Amplify:
License
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file graphix-0.2.7.tar.gz
.
File metadata
- Download URL: graphix-0.2.7.tar.gz
- Upload date:
- Size: 63.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.8.16
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2e92f8a58a771731c0bc06705a3e9f3554144e41d5bed1bfc7c07aaadc763d27 |
|
MD5 | 207cc953ff52684bb27255866e0ea860 |
|
BLAKE2b-256 | f57ace6c3cc5ae26f74bf5c8b484a401a0d219cfc6513e62aa0c5a37c14958b5 |
File details
Details for the file graphix-0.2.7-py3-none-any.whl
.
File metadata
- Download URL: graphix-0.2.7-py3-none-any.whl
- Upload date:
- Size: 69.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.8.16
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 304fdc6174646b7b2217e26a00e630f440e6aa15d831418614830afd3fd7d4d6 |
|
MD5 | e1f1ce7e78dcd12dde32119b0307cb41 |
|
BLAKE2b-256 | 9d8db2a46cabc01f5bd494c19fe6ff1f9ea59df95ff40e80360a4861f056167b |