Skip to main content

Optimize and simulate measurement-based quantum computation

Project description

logo

PyPI - Python Version PyPI Unitary Fund DOI Documentation Status GitHub Downloads

Graphix is a measurement-based quantum computing (MBQC) compiler, which makes it easier 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), significantly reducing the required size of graph state to run the computation.
  • We implement tensor-network simulation of MBQC with which thousands of qubits (graph nodes) can be simulated with modest computing resources (e.g. laptop), without approximation.
  • Our pattern-based construction and optimization routines are suitable for high-level optimization to run quantum algorithms on MBQC quantum hardware with minimal resource state size requirements. We plan to add quantum hardware emulators (and quantum hardware) as pattern execution backends.

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:

    • Preprocessing Clifford gates: Binder
    • Using tensor-network simulator backend: Binder
    • QAOA circuit: Binder
  • Read the tutorial for more comprehensive guide.

  • For theoretical background, read our quick introduction into MBQC and LC-MBQC.

Citing

S. Sunami and M. Fukushima. "Graphix: optimizing and simulating measurement-based quantum computation on local-Clifford decorated graph", arXiv:2212.11975 (2022).

Update on the paper: [^1]

[^1]: Following the release of this arXiv preprint, we were made aware of a previous work by Backens et al. where Pauli measurement elimination method for MBQC was developed in the context of circuit optimization. Many thanks for letting us know about this work, we will properly mention this work in the next version of our paper.

Contributing

We use GitHub issues for tracking requests and bugs.

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.

unitary-fund

Special thanks to Fixstars Amplify:

amplify

License

Apache License 2.0

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

graphix-0.2.4.tar.gz (54.4 kB view details)

Uploaded Source

Built Distribution

graphix-0.2.4-py3-none-any.whl (49.8 kB view details)

Uploaded Python 3

File details

Details for the file graphix-0.2.4.tar.gz.

File metadata

  • Download URL: graphix-0.2.4.tar.gz
  • Upload date:
  • Size: 54.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.8.16

File hashes

Hashes for graphix-0.2.4.tar.gz
Algorithm Hash digest
SHA256 9e0916f6d96a28bba87a0c19cf3b2160e52b9a76f185f270073f18bcaea77990
MD5 26a6e3511233e04ca72adad3b672ab7e
BLAKE2b-256 61a34794cebc217c0b737702280b27d4b8bc724d36fb71902a2353710c9d8976

See more details on using hashes here.

File details

Details for the file graphix-0.2.4-py3-none-any.whl.

File metadata

  • Download URL: graphix-0.2.4-py3-none-any.whl
  • Upload date:
  • Size: 49.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.8.16

File hashes

Hashes for graphix-0.2.4-py3-none-any.whl
Algorithm Hash digest
SHA256 364c5215d34619194ab9707188ef99b06f274863bd4ef18cb2ded45147c0bed7
MD5 07af42b941af1a530000b3fc70a8b748
BLAKE2b-256 457c9f0039e44658390d394be01553e085e06fe7955db4ed07da5c5b2664d078

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page