The driver has a small core that is always needed, plus optional components you install only for the features you use — most notably, you only need the geometry optimizer you intend to run, not all three.
- Python 3
- NumPy and SciPy
- PySCF — integrals, RHF, Selected-CI, and analytic gradients
- Vayesta — EWF embedding / IAO fragmentation
- h5py — per-fragment cluster / RDM HDF5 dumps
- PyYAML — reading
config.yaml
pip install numpy scipy pyscf vayesta h5py pyyamlThe optimizer is imported lazily, only when its backend is selected via geomopt.optimizer — so an installation that only ever uses one optimizer does not need the others (and single-point gradient / energy / circuits tasks need none of them):
geomopt.optimizer |
Package |
|---|---|
sella (default) |
Sella (+ ASE) — pip install sella ase |
geometric |
geomeTRIC — pip install geometric |
berny |
PyBerny — pip install pyberny |
- gpu4pyscf — runs the reference SCF on an NVIDIA GPU. Install the build matching your CUDA toolkit, e.g.
pip install gpu4pyscf-cuda12x. Not needed for the default CPU SCF; density fitting (hf.density_fit: true) is independent and works on CPU without it. See Configuration → Hartree–Fock acceleration.
- The SBD binary — a separate C++/MPI build (MPI + OpenMP + BLAS/LAPACK); see
SBD repository. Not needed for FCI / SCI solvers or for thecircuitstask. - An MPI launcher (
mpirun) reachable from the compute nodes.
Needed only when sqd.sample_on_the_fly is true (drawing fresh samples from an IBM backend); not needed when a pre-collected count_dict.txt is supplied:
- Qiskit +
qiskit-ibm-runtime+qiskit-addon-sqd ffsim,rustworkx, andpyci- a configured IBM Quantum account (for live sampling / circuit transpilation)
pip install qiskit qiskit-ibm-runtime qiskit-addon-sqd ffsim rustworkx pyciThe standalone tools in Utilities/ have their own dependencies (e.g. Matplotlib / PyMOL / tectonic for the geometry-comparison figures and PDFs), documented separately in Utilities/README.md.