- About
- Documentation
- Supported Platforms
- Installation
- Limitations
- Deprecation Policy
- Contributing
- License
- References
Qiskit addons are a collection of modular tools for building utility-scale workloads powered by Qiskit.
This package contains a Dice-based eigensolver [1-2] that can be used to scale sample-based quantum diagonalization (SQD) [3] chemistry workflows past 30 orbitals. It is designed as a plugin to the SQD Qiskit addon. No Dice
executable is included in this package, but a build script is provided to assist users in properly setting up the package for installation. For an example of integrating qiskit-addon-dice-solver
into SQD workflows, check out the how-to.
This package uses the Dice
command line application to perform the Davidson diagonalization method, which allows for diagonalization of systems of 30+ orbitals. The Dice
application is designed to perform semistochastic heat-bath configuration interaction (SHCI) calculations that involves more than a single run of Davidson's method; however, this package restricts the inputs to Dice
such that it is used only to perform a single diagonalization routine in the subspace defined by the input determinants.
We acknowledge Sandeep Sharma's support, suggestions, and conversations that made this package possible.
All documentation is available at https://qiskit.github.io/qiskit-addon-dice-solver/.
Architectures:
- x86_64
Operating systems:
- Ubuntu 24.04 LTS - Noble Numbat
- Ubuntu 22.04 LTS - Jammy Jellyfish
First, install some required libraries:
sudo apt install build-essential libboost-all-dev libopenmpi-dev openmpi-bin libhdf5-openmpi-dev
Next, install from the most recent stable branch. Users who want to install from the main
branch should
note that the hosted documentation may not accurately reflect the state of the API in the main
branch.
git checkout stable/X.Y
Build the boost and Dice binaries required for this package:
./build.sh
And finally, to install the Python package:
pip install -e .
- The determinant addresses are interpreted by the
Dice
command line application to be 5-byte unsigned integers; therefore, only systems of 40 or fewer orbitals are supported. - Only closed-shell systems are supported. The particle number of the spin-up and spin-down determinants are expected to be equal.
We follow semantic versioning and are guided by the principles in Qiskit's deprecation policy. We may occasionally make breaking changes in order to improve the user experience. When possible, we will keep old interfaces and mark them as deprecated, as long as they can co-exist with the new ones.
The developer guide is located at CONTRIBUTING.md in the root of this project's repository. By participating, you are expected to uphold Qiskit's code of conduct.
We use GitHub issues for tracking requests and bugs.
[1] Sandeep Sharma, et al., Semistochastic Heat-bath Configuration Interaction method: selected configuration interaction with semistochastic perturbation theory, arXiv:1610.06660v2 [physics.chem-ph].
[2] Adam Holmes, et al., Heat-bath Configuration Interaction: An efficient selected CI algorithm inspired by heat-bath sampling, arXiv:1606.07453 [physics.chem-ph].
[3] Javier Robledo-Moreno, et al., Chemistry Beyond Exact Solutions on a Quantum-Centric Supercomputer, arXiv:2405.05068 [quant-ph].