Hamiltonian-Guided Autoregressive Selected-Configuration Interaction(HAAR-SCI) Achieves Chemical Accuracy in Strongly Correlated Systems
The current project temporarily named as Quantum-Many-Body (qmb) which is a powerful tool designed to solve quantum-many-body problems especially for strongly correlated systems.
About The Project
This repository hosts a Python package named qmb, dedicated to solving quantum-many-body problem.
It implements a suite of algorithms and interfaces with various model descriptors, such as the OpenFermion format and FCIDUMP.
Additionally, qmb can efficiently utilize accelerators such as GPU(s) to enhance its performance.
The package's main entry point is a command line interface (CLI) application, also named qmb.
Getting Started
Users can run this application either using Docker or locally. Both approaches require GPU(s) with CUDA support and a properly installed GPU driver, which is typically included with the installation of the CUDA Toolkit.
Run with Docker
After installing Docker with CUDA support, pull our prebuilt Docker image using:
docker pull hzhangxyz/qmb
If users experience network issues, consider configuring Docker mirrors.
Then, user can run qmb with
docker run --device=nvidia.com/gpu=all --rm -it hzhangxyz/qmb --help
This command utilizes Docker's CDI feature to enable CUDA devices in --device=nvidia.com/gpu=all.
Alternatively, for legacy support, users can run:
docker run --gpus all --rm -it hzhangxyz/qmb --help
Please note that we currently provide Docker images for Linux/AMD64 only.
When running with Docker, users might want to mount a local folder to share storage between the container and the local machine such as using the -v option.
Run locally
To install locally, users first needs to install the CUDA toolkit.
The qmb requires Python >= 3.12.
After setting up a compatible Python environment such as using Anaconda, Miniconda, venv or pyenv, users can install our prebuilt package using:
pip install qmb
If users face network issues, consider setting up a mirror with the -i option.
Users can then invoke the qmb script with:
qmb --help
Please note that if the CUDA toolkit version is too old, users must install a compatible PyTorch version before running pip install qmb.
For example, use pip install torch --index-url https://download.pytorch.org/whl/cu118 for CUDA 11.8 (see PyTorch’s guide for details).
This older CUDA-compatible PyTorch must be installed first, otherwise, users will need to uninstall all existing PyTorch/CUDA-related python packages before reinstalling the correct version.
Usage
The main entry point of this package is a CLI script named qmb.
Use the following command to view its usage:
qmb --help
This command provides a collection of subcommands, such as imag.
To access detailed help for a specific subcommand, users can append --help to the command.
For example, use qmb haar --help to view the help information for the imag subcommand.
Typically, qmb requires a specific descriptor for a particular physical or chemical model to execute.
We have collected a set of such models here.
Users can clone or download this dataset into a folder named models within their current working directory.
This folder models is the default location which qmb will search for the necessary model files.
Alternatively, users can specify a custom path by setting the $QMB_MODEL_PATH environment variable, thereby overriding the default behavior.
After cloning or downloading the dataset, users can calculate the ground state of the $N_2$ system by running the command:
qmb haar openfermion mlp -PN2
This command utilizes the imag subcommand with the descriptor in OpenFermion format and the mlp network,
It specifies the $N_2$ model via the -PN2 flag since the $N_2$ model is loaded from the file N2.hdf5 in the folder models.
For more detailed information, please refer to the help command and the documentation.
Contributing
Contributions are welcome! Please see CONTRIBUTING.md for detailed guidelines.
License
This project is distributed under the GPLv3 License. See LICENSE.md for more information.
Metadata
Release files for qmb 0.0.52
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| qmb-0.0.52.tar.gz | 77.5 kB | With provenance | Details for qmb-0.0.52.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| qmb-0.0.52-py3-none-any.whl | Python 3 | none | any | Details for qmb-0.0.52-py3-none-any.whl |
Total release size: 158.2 kB
Release files / qmb-0.0.52.tar.gz
| Download URL | qmb-0.0.52.tar.gz |
|---|---|
| Size | 77.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
ed1ac4e359740521228d006cd768907cee8136c4db9e350319011cfa573666e6
|
|
BLAKE2b-256 checksum How to use checksums |
4e8ae8b11e2867410c99f3547c73681bb34942d622070808210ec0ca578df583
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 5, 2025.
Transparency logRelease files / qmb-0.0.52-py3-none-any.whl
| Download URL | qmb-0.0.52-py3-none-any.whl |
|---|---|
| Size | 80.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
7eca1becce41562d8f835a565410f6eaa18d5f4b07e418917886a53e93c733b0
|
|
BLAKE2b-256 checksum How to use checksums |
c0a9e885a5e383f4cfd78405484b0de0a54dddf8b5f9f78682463744b60391b5
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 5, 2025.
Transparency logSecurity for qmb 0.0.52
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
Full provenance
All 2 files in this release have been uploaded with provenance metadata.
Attestation for qmb-0.0.52.tar.gz
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 5, 2025.
Transparency logA note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.