A deep learning approach to generate the fundamental and excited eigenfunctions of multiple Hamiltonians.
This repostory contains the code used to reproduce the eigenstates of molecular potentials. The results are illustrated in a set of Jupyter notebooks. The whole code is the result of the work in this paper. Any contribution or idea to continue the lines of the proposed work will be very welcome.
Remark: We recommend the readers to view the notebooks in Google Colaboratory for nicer presentation and correct visualization of the figures. To open the notebooks in Google Colaboratory one can click on the links below, or use the button found in the first line of every notebook.
In this work, the neural networks are trained with Hamiltonians belonging to the same family of functions. Then, we expect the neural networks to be able to generalize and reproduce the wavefunctions of more general Hamiltonians. Two different settings are considered:
- Training with random polynomial potentials: In this case, the training data consists of a set of random Hamiltonians with polynomial potentials of (up to) degree four. That is,
and in two dimensions,
Three examples of random polynomial potentials (left) and their associated eigen functions for the fundamental state (middle) and the 10th excited state (right).
Once the network is trained, we ask the network to reproduce the wave functions of more general, non-polynomial potentials. In this work, we chose to test the network using Morse potentials, which model the potential energy of a diatomic molecule. The Morse potential can be written as
where x is the distance between the atoms, xe is the equilibrium bond distance, De is the well depth (defined relative to the dissociated atoms), and a controls the 'width' of the potential (the smaller a is, the larger the well).
Three examples of random polynomial potentials (left) and their associated eigen functions for the fundamental state (middle) and the 10th excited state (right). Example of a Morse potential with and its eigen functions for the energy levels n=0,1,2,3.
- Training with Morse potentials: Let H be the Hamiltonian whose eigenfunctions we want to find. Suppose that H can be written as
Where H0 is a Hamiltonian whose eigenstates are known. If H1 is small, then H0 is an approximation of H. The goal of this second part of the work is to see if a neural network trained with the Hamiltonian H0 can generalize and reproduce the wave functions of the Hamiltonian H. In this work we apply this framework to approximate the eigenstates of coupled Morse Hamiltonians:
This Hamiltonian models the stretching dynamics of the H2O molecule. It is expressed in terms of bond-angle coordinates, where xi are the OH extensions and pi their associated momentum. The training consits of decoupled Morse potentials, which act as an approximation of the coupled Morse potential.
(Currently tested on TensorFlow 2.0.0/2.1.0)
Trains a neural network using random polynomial potentials in a 1-dimensional space. The network is tested using Morse potentials.
Trains a neural network using random polynomial potentials in a 2-dimensional space. The network is tested using Morse potentials.
Trains a neural network using random decoupled Morse potentials. The network is able to reproduce multiple excited states of coupled Morse potentials.
This notebook summarizes the results of the paper and provides interactive plots created with plotly library.
Contributions are welcome! For bug reports or requests please submit an issue.
Feel free to contact me to discuss any issues, questions or comments.
- GitHub: laiadc
- Email: [email protected]
@misc{DLSchrodinger,
title={Deep learning methods for excited wave functions of molecular potentials},
url={https://github.com/laiadc/DL-schrodinger},
note={GitHub repository containing deep learning approach generating fundamental and excited eigenfunctions for molecular potentials.},
author={Laia Domingo Colomer, Florentino Borondo},
year={2020}
}