{"id":22882565,"url":"https://github.com/cqcl/qbm_benchmark_dataset","last_synced_at":"2025-06-13T08:05:49.485Z","repository":{"id":239146475,"uuid":"644643338","full_name":"CQCL/qbm_benchmark_dataset","owner":"CQCL","description":"A simple python package to benchmark Quantum Boltzmann Machine models using Stochastic Gradient Descent. Based on the quantum many-body physics package `quimb`","archived":false,"fork":false,"pushed_at":"2024-05-17T08:57:39.000Z","size":427520,"stargazers_count":3,"open_issues_count":2,"forks_count":1,"subscribers_count":4,"default_branch":"main","last_synced_at":"2025-06-13T08:03:49.650Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Jupyter Notebook","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/CQCL.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"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":"2023-05-24T00:43:03.000Z","updated_at":"2025-05-07T20:48:18.000Z","dependencies_parsed_at":"2024-05-17T09:49:41.852Z","dependency_job_id":null,"html_url":"https://github.com/CQCL/qbm_benchmark_dataset","commit_stats":null,"previous_names":["cqcl/qbm_benchmark_dataset"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/CQCL/qbm_benchmark_dataset","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CQCL%2Fqbm_benchmark_dataset","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CQCL%2Fqbm_benchmark_dataset/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CQCL%2Fqbm_benchmark_dataset/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CQCL%2Fqbm_benchmark_dataset/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/CQCL","download_url":"https://codeload.github.com/CQCL/qbm_benchmark_dataset/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CQCL%2Fqbm_benchmark_dataset/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":259606868,"owners_count":22883556,"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":[],"created_at":"2024-12-13T18:18:24.847Z","updated_at":"2025-06-13T08:05:49.457Z","avatar_url":"https://github.com/CQCL.png","language":"Jupyter Notebook","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Training of Quantum Boltzmann Machines\n\nLibrary for training QBMs based on [`quimb`](https://quimb.readthedocs.io/en/latest/index.html), a popular python library for quantum information and many-body physics, with MPI acceleration and Tensor Network methods.\n\n## Setup\n\nThe package environment is handled by [`poetry`](https://python-poetry.org/docs/) which will install all the dependencies and the package when running `poetry install` in the root folder of the project.\n\n## Benchmark\n\nThe benchmarking script can be run with `poetry run python scripts/benchmarking.py`. A list of command line arguments is shown below:\n\n```bash\nusage: benchmark.py [-h] [--n N] [--t T] [--b B] [--l L] [--dn DN] [--lr LR] [--e E] [--er ER] [--sn SN] [--qre] [--pre_l PRE_L] [--pre_lr PRE_LR] [--pre_e PRE_E] [--seed SEED] [--output OUTPUT]\n\nTrain a QBM model to represent a target Gibbs state\n\noptions:\n  -h, --help       show this help message and exit\n  --n N            Number of qubits (4)\n  --t T            Label of target model (0)\n  --b B            Inverse temperature of target model (1.0)\n  --l L            Label of QBM model (0)\n  --dn DN          Intensity of depolarizing noise (0.0)\n  --lr LR          Learning rate (None)\n  --e E            Number of traninig epochs (1000)\n  --er ER          Error tolerance for gradients (1e-6)\n  --sn SN          Standard deviation of gaussian shot noise for computing gradients (0.0)\n  --qre            If we want to compute and output relative entropies\n  --pre_l PRE_L    Label of QBM model for pretraining (None)\n  --pre_lr PRE_LR  Learning rate for pretraining (None)\n  --pre_e PRE_E    Number of traninig epochs for pretraining (300)\n  --seed SEED      Seed for PRNG (1)\n  --output OUTPUT  Output for data and figures (data/)\n```\n\n## Data\n\nThe `data` folder includes already some results from training different QBMs on Gibbs states for 5 different Hamiltonians:\n\n* 1D Heisenberg model\n* 1D Hubbard model\n* 1D Transverse Field Ising model\n* 2D Hubbard model\n* J1-J2 spin glass model\n\nMore information about the Hamiltonians can be found in the file [hamiltonians.py](qbm_quimb/hamiltonians.py).\n\n## Cite\n\nThis package is jointly developed by Panasonic and Quantinuum and distributed under Apache-2.0 license.\nIf you use this code in your research, please cite it using the following:\n\n```bibtex\n@misc{qbm-benchmark-dataset-2024,\n  author = {Enrico Rinaldi, Yuta Kikuchi, Ryuji Sakata},\n  title = {Quantum Boltzmann Machine training and benchmarking dataset},\n  year = {2024},\n  note = {GitHub repository},\n  howpublished = {\\url{https://github.com/CQCL/qbm_benchmark_dataset}},\n}\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcqcl%2Fqbm_benchmark_dataset","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcqcl%2Fqbm_benchmark_dataset","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcqcl%2Fqbm_benchmark_dataset/lists"}