All Projects → PIQuIL → Qucumber

PIQuIL / Qucumber

Licence: other
Neural Network Many-Body Wavefunction Reconstruction

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Qucumber

Q
Quantum Computation Simulator written in golang
Stars: ✭ 99 (-34.87%)
Mutual labels:  quantum-computing
Recirq
Research using Cirq!
Stars: ✭ 119 (-21.71%)
Mutual labels:  quantum-computing
Solutionqcqinielsenchuang
Solution for Quantum Computation and Quantum Information by Nielsen and Chuang
Stars: ✭ 141 (-7.24%)
Mutual labels:  quantum-computing
Qubiter
Python tools for reading, writing, compiling, simulating quantum computer circuits. Includes numpy and tensorflow backends. “Quantum Space, the final frontier. These are the voyages of the starship Qubiter. Its five-year mission: to explore strange new worlds, to seek out new life and new civilizations, to boldly go where no man has gone before.”
Stars: ✭ 103 (-32.24%)
Mutual labels:  quantum-computing
Teach Me Quantum
⚛ 10 week Practical Course on Quantum Information Science and Quantum Computing - with Qiskit and IBMQX
Stars: ✭ 118 (-22.37%)
Mutual labels:  quantum-computing
Qpanda 2
QPanda 2 is an open source quantum computing framework developed by OriginQC that can be used to build, run, and optimize quantum algorithms.
Stars: ✭ 128 (-15.79%)
Mutual labels:  quantum-computing
Quantum Learning
This repository contains the source code used to produce the results presented in the paper "Machine learning method for state preparation and gate synthesis on photonic quantum computers".
Stars: ✭ 89 (-41.45%)
Mutual labels:  quantum-computing
Discopy
a toolbox for computing with monoidal categories
Stars: ✭ 148 (-2.63%)
Mutual labels:  quantum-computing
Qiskit Tutorials
A collection of Jupyter notebooks showing how to use the Qiskit SDK
Stars: ✭ 1,777 (+1069.08%)
Mutual labels:  quantum-computing
Monthly Challenges
Repository containing monthly challenges about quantum computing.
Stars: ✭ 126 (-17.11%)
Mutual labels:  quantum-computing
Qmlt
The Quantum Machine Learning Toolbox (QMLT) is a Strawberry Fields application that simplifies the optimization of variational quantum circuits (also known as parametrized quantum circuits).
Stars: ✭ 106 (-30.26%)
Mutual labels:  quantum-computing
Iqx User Guide
The users guide for the IBM Q experience
Stars: ✭ 115 (-24.34%)
Mutual labels:  quantum-computing
Scaffcc
Compilation, analysis and optimization framework for the Scaffold quantum programming language.
Stars: ✭ 133 (-12.5%)
Mutual labels:  quantum-computing
Awesome Quantum Computing
A curated list of awesome quantum computing learning and developing resources.
Stars: ✭ 1,350 (+788.16%)
Mutual labels:  quantum-computing
Awesome Quantum Machine Learning
Here you can get all the Quantum Machine learning Basics, Algorithms ,Study Materials ,Projects and the descriptions of the projects around the web
Stars: ✭ 1,940 (+1176.32%)
Mutual labels:  quantum-computing
Computer Science Resources
A list of resources in different fields of Computer Science (multiple languages)
Stars: ✭ 1,316 (+765.79%)
Mutual labels:  quantum-computing
Quantum Nc
Microsoft Quantum Computing Libraries for noncommercial use
Stars: ✭ 126 (-17.11%)
Mutual labels:  quantum-computing
Qiskit
Qiskit is an open-source SDK for working with quantum computers at the level of circuits, algorithms, and application modules.
Stars: ✭ 2,332 (+1434.21%)
Mutual labels:  quantum-computing
Learnquantum
Repo of resources to help learn about quantum computing.
Stars: ✭ 143 (-5.92%)
Mutual labels:  quantum-computing
Ssss
"Deep Learning and Quantum Programming" Spring School @ Song Shan Lake
Stars: ✭ 135 (-11.18%)
Mutual labels:  quantum-computing

QuCumber

PyPI Version Python Versions Documentation Status Build Status (Travis) Build Status (AppVeyor) codecov Code style: black arXiv scipost

A Quantum Calculator Used for Many-body Eigenstate Reconstruction

QuCumber is a program that reconstructs an unknown quantum wavefunction from a set of measurements. The measurements should consist of binary counts; for example, the occupation of an atomic orbital, or angular momentum eigenvalue of a qubit. These measurements form a training set, which is used to train a stochastic neural network called a Restricted Boltzmann Machine. Once trained, the neural network is a reconstructed representation of the unknown wavefunction underlying the measurement data. It can be used for generative modelling, i.e. producing new instances of measurements, and to calculate estimators not contained in the original data set.

QuCumber is developed by the Perimeter Institute Quantum Intelligence Lab (PIQuIL).

Features

QuCumber implements unsupervised generative modelling with a two-layer RBM. Each layer is a number of binary stochastic variables (with values 0 or 1). The size of the visible layer corresponds to the input data, i.e. the number of qubits. The size of the hidden layer is a hyperparameter, varied to systematically control representation error.

Currently, quantum state reconstruction/tomography can be performed on both pure and mixed states. Pure state reconstruction can be further broken down into positive or complex wavefunction reconstruction. In the case of a positive wavefunction, data is only required in one basis. For complex wavefunctions as well as mixed states, measurement data in additional bases will be required to train the state.

Documentation

Documentation can be found here.

See "QuCumber: wavefunction reconstruction with neural networks" https://scipost.org/SciPostPhys.7.1.009

Getting Started

These instructions will get you a copy of the project up and running on your local machine for development and testing purposes.

Installing

If you're on Windows, you will have to install PyTorch manually; instructions can be found on their website: pytorch.org.

You can install the latest stable version of QuCumber, along with its dependencies, using pip:

pip install qucumber

If, for some reason, pip fails to install PyTorch, you can find installation instructions on their website. Once that's done you should be able to install QuCumber through pip as above.

QuCumber supports Python 3.6 and newer stable versions.

Installing the bleeding-edge version

If you'd like to install the most upto date, but potentially unstable version, you can clone the repository's master branch and then build from source like so:

git clone [email protected]:PIQuIL/QuCumber.git
cd ./QuCumber
python setup.py install

Contributing

Please read CONTRIBUTING.md for details on how to contribute to the project, and the process for submitting pull requests to us.

License

QuCumber is licensed under the Apache License Version 2.0, this includes almost all files in this repo. However, some miscellaneous files may be licensed differently. See LICENSE for more details.

Citation

@Article{10.21468/SciPostPhys.7.1.009,
    title={{QuCumber: wavefunction reconstruction with neural networks}},
    author={Matthew J. S. Beach and Isaac De Vlugt and Anna Golubeva and Patrick Huembeli and Bohdan Kulchytskyy and Xiuzhe Luo and Roger G. Melko and Ejaaz Merali and Giacomo Torlai},
    journal={SciPost Phys.},
    volume={7},
    issue={1},
    pages={9},
    year={2019},
    publisher={SciPost},
    doi={10.21468/SciPostPhys.7.1.009},
    url={https://scipost.org/10.21468/SciPostPhys.7.1.009},
}

Acknowledgments

  • We thank M. Albergo, G. Carleo, J. Carrasquilla, D. Sehayek, and L. Hayward Sierens for many helpful discussions.

  • We thank the Perimeter Institute for the continuing support of PIQuIL.

  • Thanks to Nick Mercer for creating our awesome logo. You can check out more of Nick's work by visiting his portfolio on Behance!

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].