https://github.com/savowe/pytalises
Easy to use Schrödinger equation solver
https://github.com/savowe/pytalises
atom-interferometry fourier-transform propagation quantum-mechanics quantum-optics schrodinger schrodinger-equation schroedinger-solver
Last synced: 8 months ago
JSON representation
Easy to use Schrödinger equation solver
- Host: GitHub
- URL: https://github.com/savowe/pytalises
- Owner: savowe
- License: gpl-3.0
- Created: 2020-09-29T17:38:17.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2022-01-13T21:37:03.000Z (over 4 years ago)
- Last Synced: 2025-10-21T19:51:52.299Z (8 months ago)
- Topics: atom-interferometry, fourier-transform, propagation, quantum-mechanics, quantum-optics, schrodinger, schrodinger-equation, schroedinger-solver
- Language: Python
- Homepage: https://pytalises.readthedocs.io/en/latest/
- Size: 11.6 MB
- Stars: 8
- Watchers: 2
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
[](https://pypi.org/project/pytalises/)
[](https://pypi.org/project/pytalises/)
[](https://anaconda.org/conda-forge/pytalises)
[](https://travis-ci.com/savowe/pytalises)
[](https://pytalises.readthedocs.io/en/latest/?badge=latest)

# pyTALISES
**pyTALISES** (This Ain't a LInear Schrödinger Equation Solver) is an easy-to-use Python implementation of the Split-Step Fourier Method, for numeric calculation of a wave function's time-propagation under the Schrödinger equation.
### Features
- Calculation of a wavefunction's time propagation under a (non)linear Schrödinger equation: 
- the wave-function  may include an arbitrary number of internal and external degrees of freedom
- simple implementation of Hamiltonians
- speed of the [FFTW](https://pypi.org/project/pyFFTW/), [BLAS](https://www.netlib.org/blas/) and [numexpr](https://numexpr.readthedocs.io/en/latest/) libaries with multithreading
- crucial functions are just-in-time compiled with [numba](https://numba.readthedocs.io/en/stable/)
### Documentation
Read the [documentation](https://pytalises.readthedocs.io/en/latest/) to learn more about pytalises' capabilities.
The documentation features many examples, among others
[2D harmonic potentials](https://pytalises.readthedocs.io/en/latest/examples.html#2D-harmonic-potential),
[BEC scattering](https://pytalises.readthedocs.io/en/latest/examples.html#Nonlinear-interactions-between-internal-states),
[three-level Raman transitions](https://pytalises.readthedocs.io/en/latest/additional_examples.html#Three-level-Raman-transitions),
[single-Bragg diffraction](https://pytalises.readthedocs.io/en/latest/additional_examples.html#Single-Bragg-diffraction)
and
[atom interferometry](https://pytalises.readthedocs.io/en/latest/additional_examples.html#Light-pulse-atom-interferometry-with-single-Bragg-diffraction).
Installing pytalises
====================
**We recommend installing pytalises via conda**
_Note from 2020/11/27_: the new Python 3.9 release is currently not supported by the numba libary. [They plan to implement a working version early 2021](https://github.com/numba/numba/issues/6345#issuecomment-738696458). So long just use Python 3.6-3.8 with pytalises.
#### Using conda
Installing `pytalises` from the `conda-forge` channel can be achieved by adding `conda-forge` to your channels with:
```
conda config --add channels conda-forge
```
Once the `conda-forge` channel has been enabled, `pytalises` can be installed with:
```
conda install pytalises=0.2.7
```
#### Using pip
pytalises is available on the Python Package Index and can be installed via
```
pip install pytalises==0.2.7
```
it has dependencies via `scipy` and `numba` on BLAS and LAPACK libraries that are not always found on windows systems. For linux they can usually be located.