"Strands - Standing waves approximations for the n-dimensional Schrödinger problem (with n = 2)."
Project description
Strands
Standing waves approximations for the n-dimensional Schrödinger problem (with n = 2).
Strands is a library to compute eigenvalues of two-dimensional time-independent Schrödinger equations. $$ -\nabla \psi(x, y) + V(x, y) \psi(x, y) = E \psi(x, y) $$ The library is written in C++ with Python-bindings.
Installation
Installing it is as simple as
pip install strands
Examples
Harmonic oscillator on a circular domain
Consider the harmonic oscillator potential $$ V(x, y) = x^2 + y^2 $$ on the circular domain around zero with radius $9.5$.
from strands import Schrodinger2D , Circle
def V(x, y):
return x * x + y * y
schrodinger = Schrodinger2D(V, Circle ((0, 0), 9.5), gridSize=(40, 40), maxBasisSize=30)
print(schrodinger.eigenvalues(10))
The values gridSize
and maxBasisSize
determine how accurate the used method has to be.
Eigenfunctions can be computed with:
import matplotlib.pyplot as plt
import numpy as np
xs = np.linspace(-4, 4, 100)
ys = np.linspace(-4, 4, 100)
X, Y = np.meshgrid(xs, ys)
for E, f in schrodinger.eigenfunctions(3):
plt.pcolormesh(X, Y, f(X, Y))
plt.show ()
Development
This is developed in C++ with CMake. To get started, make a recursive clone:
git clone --recursive https://github.com/twist-numerical/strands.git
cd strands
To compile and run the tests the following can be used:
mkdir build && cd build
cmake -DCMAKE_BUILD_TYPE=Release -DSTRANDS_PYTHON=OFF .. # Build without python
cmake --build . --target strands_test
./strands_test --durations yes
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 Distributions
Hashes for Strands-0.1.0-pp39-pypy39_pp73-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 609e5abe78fbf3f65b3c82d64de3db310db111800b2c1f322b51a5e68412d132 |
|
MD5 | 411b30cb13072bd8601b5eb01ff7b402 |
|
BLAKE2b-256 | 03870c30401ef9ce22aca4793c40b22ebcb6ef8a9c9e10d558a5198c8fcd4c03 |
Hashes for Strands-0.1.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 476cd7beb52f8c4f77fb6297c035766db7a578c27f046cfa43d507c10ccb46fb |
|
MD5 | 34f200c34133e184bb451b0ca4440616 |
|
BLAKE2b-256 | 8d731593d4d635c9b884ccf56f84b5b028cc087c45488eb389018b67529bfc28 |
Hashes for Strands-0.1.0-pp39-pypy39_pp73-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0cfc6bf1577ffd22c7245ef04b2d533a81ef82b25b03c00ced456dd9ae3ec6e3 |
|
MD5 | e96ab5319dfd72abc3a7205b43b20cf9 |
|
BLAKE2b-256 | 4042936ea4b915e783d7e7a7edcd7ca47405ea0a81b0e507b53f6579a2f73b5f |
Hashes for Strands-0.1.0-pp38-pypy38_pp73-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 920f503a2051ef9dfce921c4a3b45349bd8d2835a0d6197df713e07ef307734e |
|
MD5 | d371c899591e3e60ff946e2a9e4b270c |
|
BLAKE2b-256 | a08f9c6bbc797dd3803a93a9c274a117d78f43f7766329a4282e1355ba761573 |
Hashes for Strands-0.1.0-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | fba6f5a6133c5a70f556fa4c4b030aaa26d4dd34d73e3074130dc3bf8a878b71 |
|
MD5 | 509d781b8da95265e35877273b7bc583 |
|
BLAKE2b-256 | 4cccc525f8634162ae751d4306e46114aaeb6a42cfced8a888b4a6bdbf057970 |
Hashes for Strands-0.1.0-pp38-pypy38_pp73-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 89bebee2ea60a291aa94849ac8a7f684dbaba75f769eb459dfc479d47ae2fd54 |
|
MD5 | 80edab3322ed807b3bd891b7fd3c27ea |
|
BLAKE2b-256 | 6f430f0322ce59c6bf21d2b28d84a78deaa9abcdc7d7ccf22a806d83473e5637 |
Hashes for Strands-0.1.0-pp37-pypy37_pp73-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 659c2a98aa124570c17b9fbe7c3c60b00550853cd464043ecdb912d5a43c5206 |
|
MD5 | b78cf96f5d7e863cfddf1dc1e33fe3d3 |
|
BLAKE2b-256 | b4bb983dde8e6c31818454f58469be015aaca37cff0c466e9a20dacf749ae16f |
Hashes for Strands-0.1.0-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7427e6e98049633fd8e181c9f926edcc59749a0818eececc55100b5c5668bfb9 |
|
MD5 | 29221ca28b514452898ba3b20388deda |
|
BLAKE2b-256 | 3d5532b6a97ca8457509b715b0752aaad66163d192baf051dbe82e8ee8ec399e |
Hashes for Strands-0.1.0-pp37-pypy37_pp73-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | bfcedaa2b9084d05d1fa5a08a8fe0252ce6846c08cfa274ee20f86802d6e6418 |
|
MD5 | 237937a70e1a73f0a674b1f5afff6d20 |
|
BLAKE2b-256 | 0940a7553ef0032de0dc38cf87d6c57e200f9a4344a8bbf2a04f85f2c47fb473 |
Hashes for Strands-0.1.0-cp311-cp311-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 086d6afdca8d2f2d1b15e2949dc44cdfc66f40912949ce078086e8e7320f0ef6 |
|
MD5 | 59d4a8f37a68363af7a488a185f30963 |
|
BLAKE2b-256 | 7c3bae4fb83db6c5207d4b30829d3a3c9a1275de349bc0479bcce540dfcbaea8 |
Hashes for Strands-0.1.0-cp311-cp311-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 48f2a6208def71656582e898c91fd7f2d21d6c8f30b5d7fdfeb4eacd4c575ed6 |
|
MD5 | fc84243015c56fcc619891b2c25b649d |
|
BLAKE2b-256 | ddc320877269084ea2a8a915e2ace886cf29b50bb21aeec06bf0bb3d96c15361 |
Hashes for Strands-0.1.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 497a172dc7a8aaeab99c2ec27130983e89b0a977c8f90e78333b5a1dcbce16bd |
|
MD5 | 254d38d2bbb18512ad8837bc9729387a |
|
BLAKE2b-256 | 3c91eda95dd3c62af19f13c63f8eb1d63f2994c0b7d05cca0802507641c0001a |
Hashes for Strands-0.1.0-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9cf170da4cdcaa2b2967abe5d1bad1ce9ccfa394d19550e9732d71e2765286b7 |
|
MD5 | 4e358a7aff5133988d3ba3c30d93d193 |
|
BLAKE2b-256 | ca5eb8e58aacb5034f69a873ef055c42fbd52b91ab55d1f2a841a474fac72e37 |
Hashes for Strands-0.1.0-cp310-cp310-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 68f69de7c4a3342207665f602d870bd9314c7d4ca45c8c5cd6d3ddd339df188f |
|
MD5 | b210034b3f1e2ae3a9d2ac2da9f2b203 |
|
BLAKE2b-256 | 77bca2b58de4dd1ef2a918c2e80101bab2a246bd68c8fea37b219e9fa7c72482 |
Hashes for Strands-0.1.0-cp310-cp310-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 778dd1727689e7c81cd69d4b9cff27fa886b7e797c78779a34213e430a852f42 |
|
MD5 | 8714f6814c5c04dd537c20b9664b3b74 |
|
BLAKE2b-256 | aedab8857832afa8c6ddce37a460248b18c566f439dddcf71e6f0f03ba7cb612 |
Hashes for Strands-0.1.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ca6b944d7389419223e43df2d405c3d762b29c317874c9331c1fe3c7695948c6 |
|
MD5 | 14f54bc03f8726119181dc677fb585d0 |
|
BLAKE2b-256 | 6c0148a2dfbb12f9a61492e51bdce20199e246e3a50fba1b716804f9918caddb |
Hashes for Strands-0.1.0-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 096bace78eef583a740b54ec4aa845308751a7e55cc532fdcbe72c4814dbc44b |
|
MD5 | 5b5cd9b05abad1b501c3748593942447 |
|
BLAKE2b-256 | bd0bba0454fe9b5ade1ea46addb7f00e8579b3ba3bd3974255f017c50969505b |
Hashes for Strands-0.1.0-cp39-cp39-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5ff8903d853ea535e866bfd907860b8633f617252877491c9ff6bfbd77503934 |
|
MD5 | 2c3e1151ccfa31c736062d7d20e9f689 |
|
BLAKE2b-256 | 6ec4548a19d2c2b0b254675e8a93f81df7c4f2f66160239154eb93613e1521e9 |
Hashes for Strands-0.1.0-cp39-cp39-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | fdbf60b457425b6b4660eb342468a9be8e801a55428112167511f0d8e6ba3bd6 |
|
MD5 | d342e5127fa3ff1e96b197ce75abf518 |
|
BLAKE2b-256 | 3998d3c397f77f2895c63128ca3a98f295652fff29d3806f3dae996024b551ca |
Hashes for Strands-0.1.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 88550f6c271f650bdf13a99582b62498bba55a128e5eccaf1b2db6557a2764e1 |
|
MD5 | 510a62019dd0103bb0a70651904481de |
|
BLAKE2b-256 | 155d5b60663d7e25822ac9f252e2abb47748e78d3089b1b1149e09d333d41957 |
Hashes for Strands-0.1.0-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7c5c7a3ccb4b3e4720d8534007e13d67828610ce8ac9f435bc3521467fb9eb24 |
|
MD5 | 0e046122f0ba46c9807b6c85381adc14 |
|
BLAKE2b-256 | 408396862cc2bb6163fe8a19d94a4b86e5507f84d62406dc4499216428feb8ab |
Hashes for Strands-0.1.0-cp38-cp38-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 50be9300e8577837e36d2ff3bb8ca724d9af5e65466805e044dfdc9eadb27ebc |
|
MD5 | aa858dc25c21bd003aabfc8540e04141 |
|
BLAKE2b-256 | 74af40c9a6d12301b00291bfb4419e2a9478dfbb2c15174ead9adf0670176a2c |
Hashes for Strands-0.1.0-cp38-cp38-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e6b683c6b5fe699327fe5285915f0d23b5d0c2ffe73e4b3a574fe1e7c896ea6c |
|
MD5 | 97cb02d7edfaf92468f5f80e07be7400 |
|
BLAKE2b-256 | dc3cb5c50e0eaf8a9785279f8fe80a30d26e6c159b9a447b6f4d52e9a4b36a80 |
Hashes for Strands-0.1.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ca60700bab13bb7fb8e75d446d2434aff1f0b08673425624f0dea86fa84d4ca1 |
|
MD5 | 0b516be4f936ad800f555772409bf9bb |
|
BLAKE2b-256 | 963535333f511fe28dd4cb4f166b2b3bc4c6318686751fdf1d85989297f5fc88 |
Hashes for Strands-0.1.0-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 62f9763a775485cc47c18eca86f3836b8aaa01c4466d29d504540c8b6d016d4c |
|
MD5 | ed8e8d11432db9473ed209a37c32f906 |
|
BLAKE2b-256 | 9f9106d36cce697a4e4eea86a5dd33c4a57168f3dad931d1e8b2b73b663456b7 |
Hashes for Strands-0.1.0-cp37-cp37m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 52770c6e1a67f2b948a3819ffdfd98cd56c2961b1c64ed2a9553576beb99164e |
|
MD5 | a1155e740abfea3993075c413ec9bb47 |
|
BLAKE2b-256 | 2c97c5b8f9b7568e4bfe3078b474b9554e4f409230ca123a27d98e5a7cfaf0bd |
Hashes for Strands-0.1.0-cp37-cp37m-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e8682bea2f8b528b5d73c9634b27766306cd461df99f85fccb7bbef95335d3bf |
|
MD5 | 3a06297098f83b55f028e51b910e6720 |
|
BLAKE2b-256 | 28aa2bd90102e952647eb0441bdd39096e61cff2cc6f8977e43d0c44529150e3 |
Hashes for Strands-0.1.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1977cf96a0368a28f562d409322e2ec6b6eef5c32a651f47c49e4117bac7c68c |
|
MD5 | c9cc56bd00f9d52680422091dd228c75 |
|
BLAKE2b-256 | a6742406a1ba483b45d5683932a2f591ab8756862df0ccdb38680bb0e7d70e7f |
Hashes for Strands-0.1.0-cp37-cp37m-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 936bbf79bab967565fe45ed82979744768703b72d8b0dfd0925ab6b9817bc896 |
|
MD5 | f769c0bf6f8a9ec26a470e4177e1dfc9 |
|
BLAKE2b-256 | 1772676073a7becaa9d7875a457ce1e3a1056014e25296fc3d98964440a40c42 |
Hashes for Strands-0.1.0-cp36-cp36m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 619b38c46ac7d8c71bccef8b2e7d80390c780cf72770b68e3c505ae76a1ae3e6 |
|
MD5 | b30ad40cb1a189fe893e458382969a0b |
|
BLAKE2b-256 | 5de2e33025083e15843a3933e4176e73cad5012ea85b9115b0a8d4c37624bbde |
Hashes for Strands-0.1.0-cp36-cp36m-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d89b34a00361d80340ecef2969e06475ada63db92904bb743055cee1a2f95d9e |
|
MD5 | ed7e04b09516665bf50eeada5ff55252 |
|
BLAKE2b-256 | 20e30b1e3bf09c25d6cc4a0b5c6f5b26c2d814ddcc1199093731152b5aed442e |
Hashes for Strands-0.1.0-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 555a70fb8b399c716e8aea043a1104e483738de81aef647813cbb4d6147515d5 |
|
MD5 | b57ab1580904afc603a0ed462b8b5d0b |
|
BLAKE2b-256 | b4f170130ffa594d8d40c4373ed900514420ef698f3551c5cb2459c844844762 |
Hashes for Strands-0.1.0-cp36-cp36m-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2567bb633e9743977cedf74663032a2694138f2f12b1a89079219e167df8af5a |
|
MD5 | ee73b1e7a6ad1af2d733a9026cd31aee |
|
BLAKE2b-256 | 6a51608636abb45a31bb9460191c7de9592191186c5d7923454f0caa465ee31e |