| 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): |
| |
| for i in range(n + 1): |
| assert integrate( |
| wavefunction(i, x) * wavefunction(-i, x), (x, 0, 2 * pi)) == 1 |
|
|
|
|
| def test_orthogonality(n=1): |
| |
| 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): |
| |
| for i in range(n+1): |
| assert simplify( |
| energy(i, m, r) - ((i**2 * hbar**2) / (2 * m * r**2))) == 0 |
|
|