https://github.com/lucaman99/autohf
Automatically differentiable Hartree-Fock
https://github.com/lucaman99/autohf
chemistry differentiable-programming jax quantum-computing
Last synced: 3 months ago
JSON representation
Automatically differentiable Hartree-Fock
- Host: GitHub
- URL: https://github.com/lucaman99/autohf
- Owner: Lucaman99
- Created: 2021-06-29T17:23:20.000Z (over 4 years ago)
- Default Branch: master
- Last Pushed: 2022-11-22T23:12:47.000Z (about 3 years ago)
- Last Synced: 2024-12-26T00:27:10.327Z (about 1 year ago)
- Topics: chemistry, differentiable-programming, jax, quantum-computing
- Language: Python
- Homepage:
- Size: 507 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# AutoHF
## Automatic Differentiation and Hartree Fock
Hartree-Fock is a method in computation quantum chemistry that treats the electrons in a molecule as a mean-field, and is able to find approximate solutions to the
Schrodinger equation by taking linear combinations of atomic orbitals (LCAO). This package attempts to treat the HF method in a fully differentiable manner, such that all quantities calculated during Hartree-Fock can be differentiated.
## Installation
To install AutoHF, clone the repository and run:
```
python3 setup.py build_ext --inplace install --user
```
### 2. Code Philosophy
The main idea behind AutoHF is a mapping from fundamental objects in Hartree-Fock, to maps from a parameter space to such objects. For example, instead of treating atomic oribtals as the fundamental
object used to perform calculations in Hartree-Fock, the fundamental objects are now maps from a parameter space to the space of atomic oribtals.
AutoHF is built on top of Autograd, so we try to follow the general Autograd-philosophy as much as possible.
## To-Do
**Optimizations**
1. Using native JAX functionality to implement each of the recursive functions used to compute the integrals, so we can compile once with `jit`.
### Known Issues
TBD