1234567891011121314151617181920212223242526272829303132333435363738394041 |
- from sympy.physics.pring import wavefunction, energy
- from sympy.core.numbers import (I, pi)
- from sympy.functions.elementary.exponential import exp
- from sympy.functions.elementary.miscellaneous import sqrt
- from sympy.integrals.integrals import integrate
- from sympy.simplify.simplify import simplify
- from sympy.abc import m, x, r
- from sympy.physics.quantum.constants import hbar
- def test_wavefunction():
- Psi = {
- 0: (1/sqrt(2 * pi)),
- 1: (1/sqrt(2 * pi)) * exp(I * x),
- 2: (1/sqrt(2 * pi)) * exp(2 * I * x),
- 3: (1/sqrt(2 * pi)) * exp(3 * I * x)
- }
- for n in Psi:
- assert simplify(wavefunction(n, x) - Psi[n]) == 0
- def test_norm(n=1):
- # Maximum "n" which is tested:
- for i in range(n + 1):
- assert integrate(
- wavefunction(i, x) * wavefunction(-i, x), (x, 0, 2 * pi)) == 1
- def test_orthogonality(n=1):
- # Maximum "n" which is tested:
- for i in range(n + 1):
- for j in range(i+1, n+1):
- assert integrate(
- wavefunction(i, x) * wavefunction(j, x), (x, 0, 2 * pi)) == 0
- def test_energy(n=1):
- # Maximum "n" which is tested:
- for i in range(n+1):
- assert simplify(
- energy(i, m, r) - ((i**2 * hbar**2) / (2 * m * r**2))) == 0
|