{"id":13717319,"url":"https://github.com/PIQuIL/QuCumber","last_synced_at":"2025-05-07T07:31:05.899Z","repository":{"id":43339551,"uuid":"132476190","full_name":"PIQuIL/QuCumber","owner":"PIQuIL","description":"Neural Network Many-Body Wavefunction Reconstruction","archived":false,"fork":false,"pushed_at":"2024-10-28T15:42:47.000Z","size":150300,"stargazers_count":173,"open_issues_count":13,"forks_count":31,"subscribers_count":19,"default_branch":"master","last_synced_at":"2024-10-28T17:48:40.127Z","etag":null,"topics":["machine-learning","quantum-computing","restricted-boltzmann-machine"],"latest_commit_sha":null,"homepage":"https://qucumber.readthedocs.io/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/PIQuIL.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-05-07T14:55:13.000Z","updated_at":"2024-10-09T05:04:51.000Z","dependencies_parsed_at":"2023-10-20T22:23:18.170Z","dependency_job_id":"62d52664-db91-475d-b715-47147cb9eb74","html_url":"https://github.com/PIQuIL/QuCumber","commit_stats":{"total_commits":981,"total_committers":24,"mean_commits":40.875,"dds":"0.47808358817533125","last_synced_commit":"25a8cbfaf6b8d009a6f9877770760b525c3f91a8"},"previous_names":[],"tags_count":21,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PIQuIL%2FQuCumber","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PIQuIL%2FQuCumber/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PIQuIL%2FQuCumber/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PIQuIL%2FQuCumber/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/PIQuIL","download_url":"https://codeload.github.com/PIQuIL/QuCumber/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":224573468,"owners_count":17333804,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["machine-learning","quantum-computing","restricted-boltzmann-machine"],"created_at":"2024-08-03T00:01:20.687Z","updated_at":"2024-11-14T05:31:26.761Z","avatar_url":"https://github.com/PIQuIL.png","language":"Python","readme":"# ![QuCumber](https://raw.githubusercontent.com/PIQuIL/QuCumber/master/docs/_static/img/QuCumber_full.png)\n[![PyPI Version](https://img.shields.io/pypi/v/qucumber)](https://pypi.org/project/qucumber)\n[![Python Versions](https://img.shields.io/pypi/pyversions/qucumber)](https://pypi.org/project/qucumber)\n[![Documentation Status](https://readthedocs.org/projects/qucumber/badge/?version=stable)](https://qucumber.readthedocs.io/en/stable/?badge=stable)\n[![Build Status (Travis)](https://travis-ci.com/PIQuIL/QuCumber.svg?branch=master)](https://travis-ci.com/PIQuIL/QuCumber)\n[![Build Status (AppVeyor)](https://ci.appveyor.com/api/projects/status/lqdrc8qp94w4b9kf/branch/master?svg=true)](https://ci.appveyor.com/project/emerali/qucumber/branch/master)\n[![codecov](https://codecov.io/gh/PIQuIL/QuCumber/branch/master/graph/badge.svg)](https://codecov.io/gh/PIQuIL/QuCumber)\n[![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/ambv/black)\n[![arXiv](https://img.shields.io/badge/arXiv-1812.09329-B31B1B.svg)](https://arxiv.org/abs/1812.09329)\n[![scipost](https://img.shields.io/badge/SciPost-7.1.009-blue.svg)](https://scipost.org/SciPostPhys.7.1.009)\n\n## A Quantum Calculator Used for Many-body Eigenstate Reconstruction\n\nQuCumber is a program that reconstructs an unknown quantum wavefunction\nfrom a set of measurements. The measurements should consist of binary counts;\nfor example, the occupation of an atomic orbital, or angular momentum eigenvalue of\na qubit. These measurements form a training set, which is used to train a\nstochastic neural network called a Restricted Boltzmann Machine. Once trained, the\nneural network is a reconstructed representation of the unknown wavefunction\nunderlying the measurement data. It can be used for generative modelling, i.e.\nproducing new instances of measurements, and to calculate estimators not\ncontained in the original data set.\n\nQuCumber is developed by the Perimeter Institute Quantum Intelligence Lab (PIQuIL).\n\n## Features\n\nQuCumber implements unsupervised generative modelling with a two-layer RBM.\nEach layer is a number of binary stochastic variables (with values 0 or 1). The\nsize of the visible layer corresponds to the input data, i.e. the number of\nqubits. The size of the hidden layer is a hyperparameter, varied to systematically control\nrepresentation error.\n\nCurrently, quantum state reconstruction/tomography can be performed on both pure and mixed states.\nPure state reconstruction can be further broken down into positive or complex wavefunction reconstruction.\nIn the case of a positive wavefunction, data is only required in one basis. For complex wavefunctions as\nwell as mixed states, measurement data in additional bases will be required to train the state.\n\n## Documentation\n\nDocumentation can be found [here](https://qucumber.readthedocs.io/en/stable/).\n\nSee \"QuCumber: wavefunction reconstruction with neural networks\" https://scipost.org/SciPostPhys.7.1.009\n\n## Getting Started\n\nThese instructions will get you a copy of the project up and running on your\nlocal machine for development and testing purposes.\n\n### Installing\n\nIf you're on Windows, you will have to install PyTorch manually; instructions\ncan be found on their website: [pytorch.org](https://pytorch.org).\n\nYou can install the latest stable version of QuCumber, along with its dependencies,\nusing [`pip`](https://pip.pypa.io/en/stable/quickstart/):\n\n```bash\npip install qucumber\n```\n\nIf, for some reason, `pip` fails to install PyTorch, you can find installation\ninstructions on their website. Once that's done you should be able to install\nQuCumber through `pip` as above.\n\nQuCumber supports Python 3.6 and newer stable versions.\n\n### Installing the bleeding-edge version\n\nIf you'd like to install the most upto date, but potentially unstable version,\nyou can clone the repository's master branch and then build from source like so:\n\n```bash\ngit clone git@github.com:PIQuIL/QuCumber.git\ncd ./QuCumber\npython setup.py install\n```\n\n## Contributing\n\nPlease read [CONTRIBUTING.md](CONTRIBUTING.md) for details on how to contribute\nto the project, and the process for submitting pull requests to us.\n\n## License\n\nQuCumber is licensed under the Apache License Version 2.0, this includes almost\nall files in this repo. However, some miscellaneous files may be licensed\ndifferently. See [LICENSE](LICENSE) for more details.\n\n## Citation\n\n```latex\n@Article{10.21468/SciPostPhys.7.1.009,\n    title={{QuCumber: wavefunction reconstruction with neural networks}},\n    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},\n    journal={SciPost Phys.},\n    volume={7},\n    issue={1},\n    pages={9},\n    year={2019},\n    publisher={SciPost},\n    doi={10.21468/SciPostPhys.7.1.009},\n    url={https://scipost.org/10.21468/SciPostPhys.7.1.009},\n}\n```\n\n## Acknowledgments\n\n- We thank M. Albergo, G. Carleo, J. Carrasquilla, D. Sehayek, and\n  L. Hayward Sierens for many helpful discussions.\n\n- We thank the [Perimeter Institute](https://www.perimeterinstitute.ca) for the\n  continuing support of PIQuIL.\n\n- Thanks to Nick Mercer for creating our awesome logo. You can check out more of\n  Nick's work by visiting [his portfolio](https://www.behance.net/nickdmercec607)\n  on Behance!\n","funding_links":[],"categories":["Pytorch \u0026 related libraries｜Pytorch \u0026 相关库","Pytorch \u0026 related libraries"],"sub_categories":["Other libraries｜其他库:","Other libraries:"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FPIQuIL%2FQuCumber","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FPIQuIL%2FQuCumber","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FPIQuIL%2FQuCumber/lists"}