以前、pythonにおける水素様原子のためのLaguerre陪関数について確認した。
koideforest.hatenadiary.com
せっかくなので、pythonで規格化まで含めた水素様原子波動関数のスクリプト(原子単位系)を作った。
from scipy.special import assoc_laguerre from math import factorial # Laguerre function def Lnl( n, l, x ): alpha = 2 * l + 1 beta = n - l - 1 return assoc_laguerre( x, beta, alpha ) # radial hydrogen like atomic wavefunction in atomic unit def Rnl( n, l, r, Z ): rho = 2. * r / float( n ) * Z norm = Z**1.5 * ( 2. / float( n ) )**1.5 \ * np.sqrt( float( factorial( n - l - 1 ) ) \ / float( 2 * n * factorial( n + l ) ) ) return norm * rho**l * np.exp( -0.5 * rho ) * Lnl( n, l, rho )
以下、式の羅列。
水素原子におけるシュレーディンガー方程式の解 - Wikipedia
が満たすべき方程式
ちなみにエネルギーは
(一般)Laguerre微分方程式
Laguerre polynomials - Wikipedia
したがって、
規格化定数は以下の様になる(らしい)。