Skip to main content

Deep-learning quantum Monte Carlo for electrons in real space

Project description

DeepQMC

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

DeepQMC is an open-source sowftware 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.

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 and DeepErwin 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 --upgrade "jax[cuda12_pip]" -f https://storage.googleapis.com/jax-releases/jax_cuda_releases.html

If issues arise during the JAX installation 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.

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 should cite out 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},
}

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 = {2024},
	publisher = {Zenodo},
	copyright = {MIT},
	url = {https://github.com/deepqmc/deepqmc},
	doi = {10.5281/zenodo.3960826},
}

Project details


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.2.0.tar.gz (96.8 kB view details)

Uploaded Source

Built Distribution

deepqmc-1.2.0-py3-none-any.whl (124.1 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: deepqmc-1.2.0.tar.gz
  • Upload date:
  • Size: 96.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.11.2

File hashes

Hashes for deepqmc-1.2.0.tar.gz
Algorithm Hash digest
SHA256 8d662028b87ec65e2151c073a6e1aa7dc4945141c52dcebd170238f66a427e4e
MD5 b6e3aff83055fdde5aaa04e192b8193b
BLAKE2b-256 d831726535a59f57c5e00404becd344f252a22f8412011472cbb3928a7e9dc44

See more details on using hashes here.

File details

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

File metadata

  • Download URL: deepqmc-1.2.0-py3-none-any.whl
  • Upload date:
  • Size: 124.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.11.2

File hashes

Hashes for deepqmc-1.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 bb6cae56040f1ddb8c21b617a965a9be5d64921b88ae9533a3daaaf9e11a584f
MD5 64c01db7ded47d2cace46787c51c1226
BLAKE2b-256 5621f43112a5f7502e8797a99bc1a0ba7e9cfaf625894b8bf6263aab39fb1a76

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page