Quantum mechanics simulation library
Project description
QM_sim
Python library for simulation of quantum mechanical systems. The documentation is available on GitHub pages.
Features
- 1D, 2D, and 3D systems
- Choice of finite difference scheme
- Zero and periodic boundary conditions
- Stationary and temporal solutions
- Plots
Planned features
- Transfer matrix for transmission ect.
- Proper testing
Installation
pip install qm-sim
To be able to use the PyTorch backend for eigenvalue calculations, run the following command:
pip install qm-sim[torch]
This will install the cpu-version of the package. To run GPU calculations, install the version for your system at the PyTorch website instead.
Usage
Examples are provided in the examples/
-folder.
These are enumerated with increasing level of simulation complexity.
Contribution
To contribute, please open a pull request to the dev
-branch on GitHub.
Linting
When opening a PR, a linting check is performed. To ensure your contribution passes the checks, you can run the following
$ pip install .[linting]
$ black src/qm_sim
$ isort src -m 3 --trailing-comma
$ pylint src --fail-under=7
Setup
The following is an example of how to set up VS Code for development, adapt to your IDE of choice.
TL;DR:
pip install -e .
to install in an editable state
Requirements
- VS Code
- Python extension
- Python 3.10 or above
Steps
- Clone the repo recursively and open the repo in VS Code. If not cloned recursively, initialize the submodules with
git submodule update --init
- Press f1, and run
Python: Create Environment
. Select.venv
- Open a new terminal, which should automatically use the virtual environment. If not, run
.venv\Scripts\activate
on Windows, orsource .venv/bin/activate
on Unix - In the same terminal, run
pip install -e .[test]
to install the current directory in an editable state, and the testing utility Pytest - To run tests, press f1 and run
Python: Configure Tests
. Choosepytest
. Run tests in the testing menu
Project details
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
File details
Details for the file qm-sim-0.1.2.tar.gz
.
File metadata
- Download URL: qm-sim-0.1.2.tar.gz
- Upload date:
- Size: 28.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.11.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 98af7284d87ca5dab649b848fc09429b9da5bdfab830393a427aa97ace69bc31 |
|
MD5 | 7aa9f52014bad115592a538a7f299b35 |
|
BLAKE2b-256 | a673fe202b89863db7732b7830cb1474bc9d3579b64b41e7210f3eaaacc6b151 |
File details
Details for the file qm_sim-0.1.2-cp310-cp310-manylinux_2_35_x86_64.whl
.
File metadata
- Download URL: qm_sim-0.1.2-cp310-cp310-manylinux_2_35_x86_64.whl
- Upload date:
- Size: 26.7 kB
- Tags: CPython 3.10, manylinux: glibc 2.35+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.11.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 823c1aa7ab18c9efc0d20f9f0c977e4c77a45d1b57bf8775a78f2962ef9ee27b |
|
MD5 | 6588b2424011f6fc1e82688122e27c4d |
|
BLAKE2b-256 | 7967ee1801340dd70b23158c55eab1f89e4066434cb65d0a9f591be5d3fc50a2 |