【第23話】正規直交系の有難みって?【Pythonコピペで量子力学完全攻略マニュアル】

#################################################################
## 無限に深い量子井戸の固有関数の直交性の確認
#################################################################
import numpy as np
import scipy.integrate as integrate

#################################################################
## 物理定数
#################################################################
#プランク定数
h = 6.62607015 * 1.0E-34
hbar = h / (2.0 * np.pi)
#電子の質量
me = 9.1093837015 * 1.0E-31
#電子ボルト
eV = 1.602176634 * 1.0E-19

#################################################################
## 物理系の設定
#################################################################
#量子井戸の幅(m)
L = 1.0 * 10**-9
#計算区間
x_min = -L / 2.0
x_max = L / 2.0

#固有関数
def verphi(n, x):
    kn = np.pi * (n + 1) / L
    return np.sqrt(2.0 / L) * np.sin(kn * (x + L / 2.0))

#被積分関数
def integral_orthonomality(x, n, m):
    return verphi(m, x) * verphi(n, x)

#状態数
NS = 3
for n in range( NS + 1 ):
    for m in range( NS + 1 ):
        #ガウス・ルジャンドル積分
        result = integrate.quad(
            integral_orthonomality, #被積分関数
            x_min, x_max,           #積分区間の下端と上端
            args=( n, m )           #被積分関数へ渡す引数
        )
        #ターミナルへ出力
        print( "(" + str(n) + ", " + str(m) + ")  " + str( result[0]) )

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です