Metadata-Version: 2.1
Name: deepqmc
Version: 0.3.0
Summary: Deep-learning quantum Monte Carlo for electrons in real space
Home-page: https://github.com/deepqmc/deepqmc
License: MIT
Author: Jan Hermann
Author-email: jan.hermann@fu-berlin.de
Requires-Python: >=3.7,<4.0
Classifier: Development Status :: 4 - Beta
Classifier: Environment :: Console
Classifier: Environment :: GPU :: NVIDIA CUDA
Classifier: Intended Audience :: Science/Research
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: MacOS :: MacOS X
Classifier: Operating System :: POSIX :: Linux
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
Classifier: Topic :: Scientific/Engineering :: Chemistry
Classifier: Topic :: Scientific/Engineering :: Physics
Provides-Extra: all
Provides-Extra: cli
Provides-Extra: doc
Provides-Extra: test
Provides-Extra: train
Provides-Extra: wf
Requires-Dist: Pillow (>=7,<9); extra == "train" or extra == "all"
Requires-Dist: click (>=7.0,<8.0); extra == "cli" or extra == "all"
Requires-Dist: coverage (>=4.5,<6); extra == "test" or extra == "all"
Requires-Dist: h5py (>=2.10.0,<4); extra == "train" or extra == "all"
Requires-Dist: numpy (>=1.16,<2.0)
Requires-Dist: pyscf (>=1.6,<2.0); extra == "wf" or extra == "all"
Requires-Dist: pytest (>=5,<7); extra == "test" or extra == "all"
Requires-Dist: scipy (>=1.2,<2.0); extra == "wf" or extra == "all"
Requires-Dist: sphinx (>=2.2,<3.0); extra == "doc"
Requires-Dist: sphinxcontrib-katex (>=0.5.1,<0.6.0); extra == "doc"
Requires-Dist: tensorboard (>=2.0,<3.0); extra == "train" or extra == "all"
Requires-Dist: toml (>=0.10.0,<0.11.0)
Requires-Dist: tomlkit (>=0.7.0,<0.8.0); extra == "cli" or extra == "all"
Requires-Dist: torch (>=1.2,<2.0)
Requires-Dist: tqdm (>=4.31,<5.0); extra == "train" or extra == "all"
Requires-Dist: uncertainties (>=3.1.2,<4.0.0)
Project-URL: Documentation, https://deepqmc.github.io
Project-URL: Repository, https://github.com/deepqmc/deepqmc
Description-Content-Type: text/markdown

# DeepQMC

[![build](https://img.shields.io/travis/com/deepqmc/deepqmc/master.svg)](https://travis-ci.com/deepqmc/deepqmc)
[![coverage](https://img.shields.io/codecov/c/github/deepqmc/deepqmc.svg)](https://codecov.io/gh/deepqmc/deepqmc)
![python](https://img.shields.io/pypi/pyversions/deepqmc.svg)
[![pypi](https://img.shields.io/pypi/v/deepqmc.svg)](https://pypi.org/project/deepqmc/)
[![commits since](https://img.shields.io/github/commits-since/deepqmc/deepqmc/latest.svg)](https://github.com/deepqmc/deepqmc/releases)
[![last commit](https://img.shields.io/github/last-commit/deepqmc/deepqmc.svg)](https://github.com/deepqmc/deepqmc/commits/master)
[![license](https://img.shields.io/github/license/deepqmc/deepqmc.svg)](https://github.com/deepqmc/deepqmc/blob/master/LICENSE)
[![code style](https://img.shields.io/badge/code%20style-black-202020.svg)](https://github.com/ambv/black)
[![chat](https://img.shields.io/gitter/room/deepqmc/deepqmc)](https://gitter.im/deepqmc/deepqmc)
[![doi](https://img.shields.io/badge/doi-10.5281%2Fzenodo.3960826-blue)](http://doi.org/10.5281/zenodo.3960826)

DeepQMC implements variational quantum Monte Carlo for electrons in molecules, using deep neural networks written in [PyTorch](https://pytorch.org) as trial wave functions. Besides the core functionality, it contains implementations of the following ansatzes:

- PauliNet: https://doi.org/10.1038/s41557-020-0544-y

## Installing

Install and update using [Pip](https://pip.pypa.io/en/stable/quickstart/).

```
pip install -U deepqmc[wf,train,cli]
```

## A simple example

```python
from deepqmc import Molecule, evaluate, train
from deepqmc.wf import PauliNet

mol = Molecule.from_name('LiH')
net = PauliNet.from_hf(mol).cuda()
train(net)
evaluate(net)
```

Or on the command line:

```
$ cat lih/param.toml
system = 'LiH'
ansatz = 'paulinet'
[train_kwargs]
n_steps = 40
$ deepqmc train lih --save-every 20
converged SCF energy = -7.9846409186467
equilibrating: 49it [00:07,  6.62it/s]
training: 100%|███████| 40/40 [01:30<00:00,  2.27s/it, E=-8.0302(29)]
$ ln -s chkpts/state-00040.pt lih/state.pt
$ deepqmc evaluate lih
evaluating:  24%|▋  | 136/565 [01:12<03:40,  1.65it/s, E=-8.0396(17)]
```

## Links

- Documentation: https://deepqmc.github.io

