Solving the Schrödinger Equation via Physics-Informed Machine Learning
Project description
Summary
SE-PINN is a physics-informed neural network in PyTorch that solves the Schrödinger equation of quantum mechanics.
The model is constrained to predict quantum-mechanical states that respect the mathematical-physical properties of symmetry, normality, and orthogonality — all via (1) a custom loss function and (2) a custom architectural layer. In addition, the model learns not through supervised learning but through reinforcement learning (RL) via feedback from the Schrödinger equation itself.
SE-PINN was developed at Vanderbilt University in collaboration with Alexander Ahrens and under the supervision of Prof. Ipek Oguz (https://engineering.vanderbilt.edu/bio/?pid=ipek-oguz).
Demonstration
Figure 1 and Figure 2 are visualizations of the ground state (left) and the energy of the ground state (right) that are predicted by the model as it trains. The physical system of interest is the quantum harmonic oscillator, which is used to model diatomic molecules such as diatomic nitrogen, diatomic oxygen, and the hydrogen halides.
The enforcement of symmetry on the prediction of the ground state via a special architectural layer of the model — a "hub layer" — improves its convergence to the correct energy, as visualized in Figure 2.
| Figure 1: SE-PINN without Enforcement of Symmetry |
|---|
| Figure 2: SE-PINN with Enforcement of Symmetry |
|---|
Usage
(1) Install
pip install sepinn
(2) Import
from sepinn.wrappedpinn import WrappedPINN
model = WrappedPINN(...)
model.train(...)
Documentation
A Jupyter notebook is available for reference in the docs folder as well as through Google Colab and nbviewer.
Google Colab (Interactive):
nbviewer (Non-interactive):
https://nbviewer.org/github/Tiger-Du/SE-PINN/blob/main/docs/quantum_harmonic_oscillator.ipynb
Citation
SE-PINN is citable via the BibTeX entry below.
@techreport{DuAhrensOguz2023,
author={Du, Tiger and Ahrens, Alexander and Oguz, Ipek},
institution={Vanderbilt University},
title={Solving the Schrodinger Equation via Physics-Informed Machine Learning},
year={2023}
}
License
SE-PINN is published under the GPL-3.0 license.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file sepinn-1.0.0.tar.gz.
File metadata
- Download URL: sepinn-1.0.0.tar.gz
- Upload date:
- Size: 16.6 MB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.0.1 CPython/3.12.8
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4d06c8401ccc0fe62c21e10f20556dd9c953e1ae9423e7f0564b52401e1d3f3e
|
|
| MD5 |
08545b60e6863b66b5be038b0607db95
|
|
| BLAKE2b-256 |
88dcdf3ed8f4d80c0392f2d15b8beb2dd5dd35f8c5c333b3c2436d63e5d6e82c
|
Provenance
The following attestation bundles were made for sepinn-1.0.0.tar.gz:
Publisher:
publish-to-pypi.yml on Tiger-Du/SE-PINN
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
sepinn-1.0.0.tar.gz -
Subject digest:
4d06c8401ccc0fe62c21e10f20556dd9c953e1ae9423e7f0564b52401e1d3f3e - Sigstore transparency entry: 154936346
- Sigstore integration time:
-
Permalink:
Tiger-Du/SE-PINN@db499858be259739a62bd819fac4bd393388fbc6 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/Tiger-Du
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-to-pypi.yml@db499858be259739a62bd819fac4bd393388fbc6 -
Trigger Event:
workflow_dispatch
-
Statement type:
File details
Details for the file sepinn-1.0.0-py2.py3-none-any.whl.
File metadata
- Download URL: sepinn-1.0.0-py2.py3-none-any.whl
- Upload date:
- Size: 19.1 kB
- Tags: Python 2, Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.0.1 CPython/3.12.8
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
de1d82b2183e7d6c15ce1162058ca03a0f802acb20497c3b23b71c8cd6319365
|
|
| MD5 |
3b0d291ff8bd4e875ce6e655426ec943
|
|
| BLAKE2b-256 |
7fabdeec1d4b2228acd06090f5d4c493607776b85a2a5ba71e2fe7723a987f39
|
Provenance
The following attestation bundles were made for sepinn-1.0.0-py2.py3-none-any.whl:
Publisher:
publish-to-pypi.yml on Tiger-Du/SE-PINN
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
sepinn-1.0.0-py2.py3-none-any.whl -
Subject digest:
de1d82b2183e7d6c15ce1162058ca03a0f802acb20497c3b23b71c8cd6319365 - Sigstore transparency entry: 154936349
- Sigstore integration time:
-
Permalink:
Tiger-Du/SE-PINN@db499858be259739a62bd819fac4bd393388fbc6 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/Tiger-Du
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-to-pypi.yml@db499858be259739a62bd819fac4bd393388fbc6 -
Trigger Event:
workflow_dispatch
-
Statement type: