Skip to main content

DeepQMC

checks coverage python pypi commits since last commit license code style Checked with pyright doi

DeepQMC is an open-source software suite for variational optimization of deep-learning molecular wave functions. It implements the simulation of electronic ground and excited states using deep neural network trial wave functions. The package is based on JAX and Haiku and is configured through a cli build of Hydra.

The program solves the molecular Hamiltonian, allowing the use of effective core potentials. Excited states are obtained via a penalty-based excited-state optimization approach. A spin penalty allows states in a fixed spin sector to be targeted. Furthermore, DeepQMC implements geometric transferability, that is a single ansatz can be optimized across multiple configurations of a set of atoms. This can either be done by training on a fixed set of molecular configurations or by dynamically sampling molecular configurations throughout the optimization, and can be combined with the optimization of electronic excited states.

The software suite includes a general neural network wave function ansatz, that can be configured to obtain a wide range of molecular neural network wave functions. Config files for the instantiation of variants of Psiformer, PauliNet, FermiNet, DeepErwin, LapNet and a transferable extension of the self-attention ansatz TransPsiformer can be found under src/deepqmc/conf/ansatz.

Installation

Install and update to the latest release using Pip:

pip install -U deepqmc

To install DeepQMC from a local Git repository run:

git clone https://github.com/deepqmc/deepqmc
cd deepqmc
pip install -e .[dev]

If Pip complains about setup.py not being found, please update to the latest Pip version.

The above installation will result in the CPU version of JAX. However, running DeepQMC on the GPU is highly recommended. To enable GPU support make sure to upgrade JAX to match the CUDA and cuDNN versions of your system. For most users this can be achieved with:

# CUDA 12 installation
pip install "jax[cuda12]" -f https://storage.googleapis.com/jax-releases/jax_cuda_releases.html

For further help setting up JAX, visit the JAX Install Guide.

To validate the correct installation of DeepQMC and its dependencies run:

deepqmc

Documentation and exemplary usage

For further information about the DeepQMC package and tutorials covering the basic usage visit the documentation.

An introduction to the methodology, implementation details and exemplary experiments can be found in the associated software paper.

The penalty-based excited states approach and its implementation in DeepQMC is discussed in our recent paper on excited state optimization.

The geometrically transferable simulation with DeepQMC on fixed datasets is demonstrated in our paper on tranferable simulation of excited state potential energy surfaces.

An optimization of wave functions across continuous potential energy surfaces and subsequent optimization of molecular geometries is employed in our latest paper on ab initio geometry optimization.

Citation

If you use DeepQMC for your work, please cite our implementation paper:

@article{10.1063/5.0157512,
    author = {Schätzle, Z. and Szabó, P. B. and Mezera, M. and Hermann, J. and Noé, F.},
    title = "{DeepQMC: An open-source software suite for variational optimization of deep-learning molecular wave functions}",
    journal = {The Journal of Chemical Physics},
    volume = {159},
    number = {9},
    pages = {094108},
    year = {2023},
    month = {09},
    issn = {0021-9606},
    doi = {10.1063/5.0157512},
    url = {https://doi.org/10.1063/5.0157512},
}

Experiments including excited state optimization may cite our excited state paper:

@article{10.1021/acs.jctc.4c00678,
    author = {Szabó, P. B. and Schätzle, Z. and Entwistle, M. and Noé, F.},
    title = "{An Improved Penalty-Based Excited-State Variational Monte Carlo Approach with Deep-Learning Ansatzes}",
    journal = {Journal of Chemical Theory and Computation},
    year = {2024},
    month = {08},
    issn = {1549-9618},
    doi = {10.1021/acs.jctc.4c00678},
    url = {https://doi.org/10.1021/acs.jctc.4c00678},
}

When employing transferable optimization consider citing:

@online{schatzle2025a,
  author = {Schätzle, Z. and Szabó, P. B. and Cuzzocrea, A. and Noé, F.},
  title = {Ab-Initio Simulation of Excited-State Potential Energy Surfaces with Transferable Deep Quantum {{Monte Carlo}}},
  year = {2025},
  month = {03},
  doi = {10.48550/arXiv.2503.19847},
  pubstate = {prepublished},
}

The repository can be cited as:

@software{deepqmc,
	author = {Hermann, J. and Schätzle, Z. and Szabó, P. B. and Mezera, M and {DeepQMC Contributors}},
	title = "{DeepQMC}",
	year = {2026},
	publisher = {Zenodo},
	copyright = {MIT},
	url = {https://github.com/deepqmc/deepqmc},
	doi = {10.5281/zenodo.3960826},
}

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

deepqmc-1.3.0.tar.gz (1.4 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

deepqmc-1.3.0-py3-none-any.whl (1.4 MB view details)

Uploaded Python 3

File details

Details for the file deepqmc-1.3.0.tar.gz.

File metadata

  • Download URL: deepqmc-1.3.0.tar.gz
  • Upload date:
  • Size: 1.4 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.5

File hashes

Hashes for deepqmc-1.3.0.tar.gz
Algorithm Hash digest
SHA256 ec00acd72f52192faa4adc2bb3d64f575f11048da7bbcd012818c8bd4ba4aad8
MD5 52089a82bbcbb62e5057168680c0f877
BLAKE2b-256 e2dea7ad0ef2dc9543fd90ea05a9f9e93b75b0d542119c0b9d09b7aca0e9cb1b

See more details on using hashes here.

File details

Details for the file deepqmc-1.3.0-py3-none-any.whl.

File metadata

  • Download URL: deepqmc-1.3.0-py3-none-any.whl
  • Upload date:
  • Size: 1.4 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.5

File hashes

Hashes for deepqmc-1.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 9850ea0bc91723d2b6260d24418c135998761186968a0bd88ff18398474a0558
MD5 1553afdc89b626ea44fa47b75997cc52
BLAKE2b-256 78f254d6ae262db0312ad8aaa75b62ce4da40021d8a1f3f960fca76aacb422d8

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

1.3.0 This release

2 files

1.2.0

2 files

1.1.2

2 files

1.1.1

2 files

1.1.0

2 files

1.0.1

2 files

1.0.0

2 files

0.3.1

1 file

0.3.0

2 files

0.2.0

2 files

0.1.1

2 files

0.1.0

2 files

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page