Simulating the Schrödinger Equation with Python.
This Python module numerically solves the Schrödinger Equation, enabling simulations of quantum systems with arbitrary initial conditions and potentials, including time-dependent ones.
The module supports real-time visualization of wavefunction dynamics and can calculate energy eigenstates and eigenvalues for custom potentials. Animations and plots are automatically handled, but allow for customization if needed.
A Jupyter notebook with examples is included to demonstrate some of its features and capabilities.
![]() |
![]() |
![]() |
![]() |
This project aims to solve the Schrödinger equation numerically. It includes Python scripts to help with setting up and analyzing quantum mechanical problems.
- Implementation of numerical methods for solving the Schrödinger equation.
- Flexibility to define custom initial conditions for the wavefunction.
- Simulate and view wavefunction dynamics in arbitrary potentials, including time-dependent scenarios.
- Find and view energy eigenstates and eigenvalues for arbitrary potentials.
- Jupyter notebook examples for easy understanding.
- Modular code to allow easy extension.
To get started, clone the repository and install the dependencies. The project uses pipenv for managing Python packages.
- Python 3.11
- Pipenv for dependency management
-
Clone the repository:
git clone https://github.com/aydencook03/schrodinger_simulation.git
-
Navigate to the project directory:
cd schrodinger_simulation -
Install dependencies with
pipenv:pipenv install
A Jupyter notebook is provided to help users learn how to use the Schrödinger equation solver step-by-step and visualize the results interactively.
To run the examples, install the development dependencies, including JupyterLab:
pipenv install --devStart a pipenv shell:
pipenv shellThen open JupyterLab:
jupyter lab Examples.ipynbschrodinger.py: Main implementation of the Schrödinger equation solver.Examples.ipynb: Jupyter notebook with usage examples.Pipfile: Dependency definitions.
If you wish to contribute, feel free to fork the repository and submit a pull request. Please ensure your changes include proper documentation and tests.
This project is licensed under the MIT License.



