第八章 Mathematica在量子力学中的应用举例
§ 8.1 粒子在中心力场中的运动问题
设电子与原子核的约化质量为
Mm
Mm
e
e
+
=μ
,
r
Ze
r
2
)( ?=V
,哈密顿量为
)(
2
)?(
2
?
?
2222
rVrV
p
+
?
?=+=
μμ
=
G
=
H
. (8.1.1)
其中 r 为粒子 所处的空 间 位置到中 心 势原点的 距 离 。 利 用 中 心 势的球对 称 性 , 我 们 将薛定 格
方程写为在球坐标中的表示
()=
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
+?
?
?
?
?
?
?
?
?
?
+?
?
?
?
?
?
?
?
?
?
? ??ψ
?θθ
θ
θθμ
,,
sin
1
sin
sin
1
2
2
2
2
2
2
2
r
r
r
rr
=
( )( )( )??ψ ,,rrVE? .
(8.1.2)
角动量算 符 的定义为 : L px
G G
G
×= 。 可以证 明 [ , 所 以 角动量 是 守 恒量, 即 在中 心
力场中运动 粒子的一个 重要特征是 角动量守恒 。由此可以 得到
0]
?
,
?
=HL L
?
2
?
L (角动 量的平方)也 是 守
恒量。 在求 解中心力 场 作用下粒 子 的能量本 征 方程时, ( )
z
L
?
LH ,
?
,
?
2
构成对易算 符 的一个 完全
集 。
?
?
?
?
?
?
??
?
?
?
?
?
?
?
?
?
=?≡
2
2
2
2
2
?
1
=
L
r
r
rr
?
. (8.1.3)
其中在球坐标中的角动量平方算符可以表示为:
?
?
?
?
?
?
?
?
+
?
?
?
?
?
?
?
?
?
?
?=
2
2
2
22
sin
1
sin
sin
1
?
?θθ
θ
θθ
=L
. (8.1.4)
薛定格方程 (8.1.2)则可以写为
()()(?θψ?θψ
μ
,,,,
?
2
2
2
2
2
2
rVEr
L
r
r
rr
?=
?
?
?
?
?
?
??
?
?
?
?
?
?
?
?
?
=
=
)
)
?
. (8.1.5)
波函数 (?θψ ,,r 与极 角 θ( 2/2/ πθπ ≤≤? ) 和方位 角 ? )0( π? ≤≤ 的关联 是 由算符 和
决定的。假定满足薛定格方程的本征波函数
2
?
L
z
L
?
( )?θψ ,,r 可以 分离变量 表示为
()( )( ) ()( ) ( )???θ?θψ ΦΘ≡≡ rRYrRr ,,, . (8.1.6)
z
L
?
在球坐标系中可以表示为:
??
?
?= =iL
z
?
. 该算符的本征值由求解本征方程
() ()??
?
Φ=Φ
?
?
?
z
Li = , (8.1.7)
来得到。方程( 8.1.7)的解为
( )
=/?
?
z
iL
Ae=Φ
. (8.1.8)
由于( 8.1.8)式所示 波 函数解必 须 唯一确定 , 因而它也 必 定满足条 件 : () ( )?π? +Φ= 2Φ ,
并 且 角 动量算 符 的本征 值应当是 离 散的, 其本 征 值 表 示 为 : L
z
L
?
=m
z
= , ( .
由本征波函数的归一化条件,方程( 8.1.7)归一化的解可以写为
,...)2,1,0 ±±=m
()
?
π
?
im
e
2
1
=Φ
. (8.1.9)
类似地,对另一个守恒量 -角动量平方,我们有本征方程:
() () (?θ?θ
?θθ
θ
θθ
?θ ,,
sin
1
sin
sin
1
,
?
2
2
2
2
22
YLYYL =
?
?
?
?
?
?
?
?
+?
?
?
?
?
?
?
?
?
?
?= = )
. (8.1.10)
方程 (8.1.10)的解是球谐函数 Y 。如果本征值满足 L ,方程 (8.1.10)写为
ml,
22
)1( =+= ll
()0,)1(
sin
1
sin
sin
1
,
2
2
2
=
?
?
?
?
++
?
?
+?
?
?
?
?
?
?
?
?
?
?θ
?θθ
θ
θθ
ml
Yll
?
?
. (8.1.11)
角动 量算符 作用 在 球谐函数 Y 上 的本征值 由角量子数
2
?
L
ml,
,...2,1,0=l
m
决 定。对应 于确定的
角量子数 l,算 符 的本征 值则为 l , 此 时磁量子 数 则描写该 角 动量在 轴上 的
投影,它的取值范围为:
2
?
L
2
)1( =+l
l
z
m ±±±1,0= ,...,2,
m
。这就是说:对确定的角动量量子数 ,应当
有 个本征函数 Y 。对磁量子数 为正时的情况,球谐函数的完整表达式为
l
12 +l
ml,
()()
()
()
( )
()
?
θ
π
?θ
imm
l
m
ml
eP
l
ml
ml
cos
4
12
!
!
1,
,
+
+
?
?=Y
. (8.1.12)
其中 为 l阶的 第 个 伴随 勒 让德函数 。 如果磁量 子 数为负时 (()xP
m
l
m
m?
) , 其 球 谐函数 满
足如下关系式
()()
( )
()
(?θ?θ ,
!
!
1,
*
,, ml
m
ml
Y
ml
ml
+
?
?=
?
)Y
. (8.1.13)
显然, 球谐 函 数 Y 也是算 符 的本征函 数。 容易证明 类 似 (8.1.7)式 , 球谐函数 Y 满足 :
ml, z
L
?
ml,
mlmlmlz
YmYiYL
,,,
?
= = =
?
?
?≡
?
. (8.1.14)
因而球 谐函 数 Y 既是 角动 量算符 平方 ,也是 角动 量算符 的 分量 的 本 征 函数。在
Mathematica 中 球谐函 数表 示为 SphericalHarmonicY[] 。勒 让德 多项 式表 示为
LegendreP[]。
ml,
2
?
L z
z
L
?
将( 8.1.6) 式代入薛定 格方程 (8.1.2), 再应用 上面推导出 的角动量部 分波函数所 满
足的薛定 格 方程,可 以 得到本征 波 函 数 ( )?θψ ,,r 表示中 的径向部 分 ( )rR 应当满足 的 方 程 。
0
)1(22
2
2
22
2
=
?
?
?
?
?
?
+
?
?
?
?
?
?
?
+++ R
r
ll
r
Ze
E
dr
dR
rdr
Rd
=
μ
. (8.1.15)
下面我们以 氢原子为例 进行分析。 定义波尔半 径
m
em
a
e
11
2
2
0
1029.5
?
×≈=
=
为长度单 位,即
0
/ar=ρ
; 以 氢原子 的电离能 量
eV
em
a
e
E
e
5.13
2
4
4
0
2
0
≈==
=
为 能 量 单位, 即
0
EE=ε ; 定
义径向函数 ρρρ /)()( uR = 。这时方程 (8.1.15)写为
0)(
)1(2)(
22
2
=
?
?
?
?
?
? +
?++ ρ
ρρ
ε
ρ
ρ
u
llZ
d
ud
. (8.1.16)
能量 ε 的值是由方程 (8.1.16)的本征值和本征函数决定的。
我们 考 虑稳定状 态 (束缚态) ,即 0<ε 的状态。 分析表明 函 数 )(ρu 可以表 示 为多项式
或者指数形 式。为了找 出 )(ρu 的近似式 ,我们通过 考察它在 r 和0→ ∞→r 时的极限行
为,发现由波函数的幺正性条件要求上述两种表达方式下都可以推出
u . (8.1.17) )()(
1
ρρρ
γρ
l
l
fe
?+
=
将 (8.1.17)式代入 (8.1.16)后,求解得到 超几何函数 ( )
11
F 形式的解。
()
?
?
?
?
?
?
?
?
+?+= γρ
γ
ρ 2;22,1
11
l
Z
lFcf
l
. (8.1.18)
其中 εγ ?≡ 。现在我们由式 (8.1.17)得到电子在库仑势中的波函数的径向部分为
?
?
?
?
?
?
+?+=
?
ρρρ
ρ
n
Z
lnlFeNR
nZl
ln
2
;22,1)(
11
/
,
. (8.2.19)
由于归 一化 条件的 要求 , (8.1.18)的级数 表示 必须只 有有 限项。 这个 限制就 给出 了能量 的
值
?
?
?
?
?
?
?
?
?+?=
γ
Z
ln
r
1
, ( . (8.1.20) ,...)2,1,0=
r
n
由此我们得到
1++
=
ln
Z
r
γ
. (8.1.21)
由 γ 和 ε 的定义,则
()
2
2
0
2
2
0
1 n
ZE
ln
ZE
E
r
?=
++
?=
. (8.1.22)
其中 为主量 子数 。它是 由径向量子 数 n 和轨道角 动量量子 数
决定的。在 这里我们引 入一组称为 “拉盖尔 (Laguerre)多项式 ”的特殊正交 多
项式 [2],拉盖尔多项式式由级数定义为
n
,0=
(γ
k
L
,...)2,1( =n
r
,...)2,1,0( =
r
n
l ,...)2,1(l
)
()
() ( )
!
1
0
j
x
jk
k
xL
jk
j
j
k
?
?
?
?
?
?
?
?
?
+
?=
∑
=
γ
γ
.
相应的归一化为
()
()
()
()
()
( )
kkkk
k
k
xLxLxxdx
′′
∞
++Γ
=? δ
γ
γγγ
!
1
exp
0
∫
.
超几何函数与拉盖尔多项式间有如下关系式
()
()
()xnF
n
n
xL
n
;1,
1!
1
)(
11
)(
+?
+Γ
++Γ
= α
α
α
α
.
这样电子在库仑势中的波函数的径向部分的解也可以写为
?
?
?
?
?
?
′=
+
+
?
ρρρ
ρ
n
Z
LeNR
l
ln
nZl
ln
2
)(
)12(/
,
. ( 8.1.23)
径 向 部 分波函 数 (8.1.23)中的 拉盖尔 (Laguerre)多项式的 性 质见文献 [2]。 相应的 波 函数为
() (?θρρ?θρψ
ρ
,
2
;22,1,,
,11
/
,,, ml
nZl
lnmln
Y
n
Z
lnlFeN ?
?
?
?
?
?
+?+=
?
)
. (8.1.24)
在 (8.1.19)和 (8.1.24)式中的归一化常数为
()
()
()
2/3
,
2
!12
!
!12
1
+
?
?
?
?
?
?
??
+
+
=
l
ln
n
Z
lnn
ln
l
N
. (8.1.24)
(*------------------------------------------------------------------
Mathematica Package file Coulombp.m
------------------------------------------------------------------*)
BeginPackage["CoulombPotential`"]
Clear[WaveF,WaveR,WaveA];
WaveF::usage = "WaveF[Z_, r_, theta_, phi_, n_, l_, m_]计算电子在库仑
势中本征波函数的表示。 Z 为原子核的电荷数 . r为电子到中心势原点的距离 .
theta 和 phi 为球坐标中的角度 . n, l和 m为能量和角动量算符的量子数。 "
WaveR::usage = "WaveR[Z_, r_, n_, l_] 计算电子在库仑势中的本征波函数
径向部分的表示。 Z 为原子核的电荷数 . r为电子到中心势原点的距离 . n和 l
为能量和角动量算符的量子数。 "
WaveA::usage = "WaveA[theta_, phi_, l_, m_]计算电子在库仑势中本征波函
数的角度关联部分表示。 theta 和 phi 为球坐标中的角度 . l 和 m 表示角动
量算符的量子数。 "
(* --- 定义公共变量 --- *)
r::usage
n::usage
l::usage
m::usage
theta::usage
phi::usage
Begin["’ Private’ "]
(* --- 产生库仑势中波函数的径向部分 --- *)
WaveR[Z_, r_, n_, l_] :=
Module[{unit, tmp},
(* --- 归一化常数 --- *)
unit = (Sqrt[(n + l)!/(2 n (n - l - 1)!)] ((2 Z)/n)^(l + 3/2)) /(2
l + 1)!;
(* --- 产生波函数径向部分的定义 --- *)
tmp = unit r^l Exp[-((Z r)/n)] Hypergeometric1F1[l + 1 - n, 2 l + 2,
(2 Z r)/n]
]
(* --- 产生库仑势中本征波函数的角度相关部分 --- *)
WaveA[theta_, phi_, l_, m_] :=
Module[{tmp},
tmp = SphericalHarmonicY[l, m, theta, phi]
]
(* -- 产生电子在库仑势中的本征波函数 --- *)
WaveF[Z_, r_, theta_, phi_, n_, l_, m_] :=
Module[{tmp},
tmp = WaveR[Z, r, n, l] WaveA[theta, phi, l, m]
]
End[]
EndPackage[]
当我们需要对电子在原子核的库仑势中的本征 波函数习性进行分析时, 我们
可以首先调入程序包 Coulombp.m,然后调用程序包中定义的函数。例如通过运
行下面的指令:
(*----------------------------------------------------------------*)
<< Coulombp.m
Plot[WaveR[1,r,1,0],WaveR[1,r,2,0],WaveR[1,r,3,0],WaveR[1,r,4,0],
{r,0,35},AxesLabel->"r","u",Prolog->Thickness[0.001]]
Plot[Abs[WaveA[theta,Pi/2,2,1]]^2,
{theta,0,Pi},AxesLabel->"theta","Y",Prolog->Thickness[0.001]]
Plot3D[Abs[WaveF[1,r,theta,Pi/2,3,2,2]]^2,{r,0,15},{theta,0,Pi},Ligh
ting->True]
(*---------------------------------------------------------------*)
图( 8.1.1)本征波函数径向部分的四条曲线(当 1=Z , 0=l 和 4,3,2,1=n 时) 。
图( 8.1.2) 本征波函 数 角度关联 部 分绝对值 平 方随极角 θ 变 化的曲线 ( 当
2π? =
, l 和
1.3) 本
2=
1=m 时) 。
图( 8. 征 波 函 数 绝对值平 方 随 r 和极角 θ 变 化的三维 曲 线 (当 2π? = , 和
2=l 1=m
时) 。
8.2 求非相对论性薛定格方程本征能量限
用 Mathematica V4.0 系统的指令,对应的计算过程可表述为:
MATHEMATICA V4.0
( * 积分 *)
In[1]:= E
∫
drr
nr
∞
?
0
λ
Out[1]= & ]],1[,0]Re[&1][Re[
0
1
drrenGammanIf
nrn
∫
∞
???
+>?>
λ
λλ
这 一 则输 出 结果 的含义 是: 如果 0]Re[ >λ , 且
1]Re[ ?>n
( )
1
1
n
nλ
??
Γ+
, 以 上 积分 的结果 为
,否则将输出
dr
r
r
n
∫
∞
0
}exp{λ
,
这意味着 Mathematica无法求解该问题。由此可以得归一化因子
=N ,
π
λ
2/3
归 一 化 的 “ 试 验 ” 波 函 数 为
(rΨ , )
r
e
λ
π
λ
λ
?
=
2/3
为保险 起见 ,我们 可以 检验一
.
下关 系式两 边的 量纲。 根据 以前的 讨论 ,我们 知道 关系式 左
边的量 纲为 。为使 指数 运算][
2/3
EDim
}exp{ rλ? 有意义 ,乘积 rλ 必须 是无量 纲的 量,即
1][ =rDim λ 。由此有
][Eim
,即
][
][ D
rDim
Dim ==λ
1
。
很显然, 在 以上推导 中 至少量纲 是 正确的。 下 面我们演 示 一下如何 运 用 Mathematica 语言
作以上定义和计算。
][][][
2/32/3
λDimEDimDim ==Ψ
采用 Mathematica V4.0 的对应计算为:
MATHEMATICA V4.0
In[2]:= ( * 积分 *) drEr
r
∫
∞
?
0
22
4
λ
π
Out[2]=
],
4
1
,0][Re[4
0
22
3
drreIf
r
∫
∞
?
>
λ
λ
λπ
输出的含 义 是:当 Re 0>λ 时, 计算结果 为
3
λπ ,否则, Mathematica 无法 求解,将 返 回 输
入形式 。完整的结果应是:
dr
2
re
r
0
2
4
∫
∞
? λ
π
1
4
4
3
2
=
λ
π
N
?
π
λ
3
=N
.
下一步 ,我 们将借 助引 入的“ 试验 ”波函 数求 动能项 的期 望值。 由于 我们只 讨论 基态的 能
量本征值 , 而对基态 量 子 数 l , 此 时 在径向中 心 力场势情 况 下可采用 拉 普拉斯算子形 式
为
0=
dr
d
rdr
d 2
2
2
2
+=?≡?
.
其期望值为
()()
rr
e
dr
d
rdr
d
xedrrxd
λλ
π
λ
λλ
??
?
?
?
?
?
?
?
?
+=?ΨΨ
∫
2
,,
2
2
3
3
*3
∫
()
r
errdr
λ
λλπ
π
λ
2
0
22
3
24
?
∞
∫
?=
( )
()
( )
()
?
?
?
?
?
?
Γ
?
Γ
=
23
23
2
2
2
2
3
4
λ
λ
λ
λλ
23
4
1
4 λ
λ
λ ?=?
?
?
?
?
?
?=
.
我们可以看到这里的量纲检验仍然是正确的。我们在下式中省略了 Dim[… ]符号 :
222/322/33
2
3
1
λ→=→ΨΨ
?
EEEEE
x
x
.
动能项的期望值为
() ()
μ
λ
λ
μ
λ
μ 2
,
2
,
2
2
*3
2
=Ψ
?
?
?
?
?
?
?
? ?
?Ψ=
∫
rrxd
p
G
. (8.2.12)
相应的 Mathematica V4.0 计算过程为
MATHEMATICA V4.0
In[3]:=
[]
r
Er
λ
π
λ
λψ
?
=
2/3
:__,
( * 定义“试验”波函数 *)
In[4]:=
[][ ][]}1,{],,[
2
}2,{],,[:__, rrD
r
rrDrg λψλψλ +=
( * 轨道角动量为零的有效拉普拉斯算符 *)
In[5]:=
drrgrr ],[],[4
0
2
λλψπ
∫
∞
Out[5]=
]
2
,
4
,0][Re[
0
2/72/5
22/3
dr
e
r
e
reIf
rr
r
∫
∞
??
?
?
?
?
?
?
?
?
?
+??>
π
λ
π
λ
π
λ
λλπ
λλ
λ
4
Mathematica 表达式 D[psi[r,lambda],{r,n}]功能为 , 以 r 为 变量对
( )Ψ
求 n 次偏导。 幂
指数势函数
V
的期望值为
λ,r
()
n
arr =
()()()
( )
()
3
3
0
22
3
*3
2
3
44,,
+
∞
?+
+Γ
==ΨΨ
∫∫ n
rn
n
adrerarrVrxd
λ
π
π
λ
π
π
λ
λλ
λ .
即
() ()()()
( )
()
3
3*3
2
3
4,,
+
+Γ
=ΨΨ≡
∫ n
n
arrVrxdrV
λ
λλλ
. (8.2.13)
量纲分析要求
V →
n
ar=
n
aE
?
→ E
即耦合常数 的量纲为 a
a →
1+n
E .
则方程 (8.2.13)的量纲也是正确的 , 即
a
n?
λ → EEE
nn
=
?+1
.
对应的 Mathematica V4.0 的指令为:
------------------------------------------------------------------------------
MATHEMATICA V4.0
------------------------------------------------------------------------------
In[6]:= (* 积分 *) drEr
rn λ2
0
2 ?
∞
+
∫
Out[6]=
]],3[2,3]Re[&&0][Re[
2
0
233
drrenGammanIf
nrnn +
∞
?????
∫
+?>>
λ
λλ
------------------------------------------------------------------------------
结合方程 (8.2.12)和 (8.2.13),可得能量表示为
()
(
()
)
n
na
λμ
λ
λ
2
3
22
2
+Γ
+=E
. ( 8.2.14)
对于任何 0>λ 的值 , 这 一能量 解始终是 能 量值“真 解 ”的上界 :
( )E
。 通过求可 使
λE
true
≤ ( )λE
取最小值 的 变分参数 λ 值, 即解出
min
λ , 就可 以很容易 地 改进这一 能 量上限, 使其 逼近真解 。
显然,
min
λ
由下式给出
( )
0=
?
?
λ
λE
.
对公式( 8.2.14)求偏导,可得
() ()
()
0
2
3
1
=
+Γ
?=
?
?
+n
n
an
E
λμ
λ
λ
λ
.
求解该方程得到
()
)2/(1
1
min
2
3
+
+ ?
?
?
?
?
? +Γ
=
n
n
nanμ
λ
. (8.2.15)
将这一结果反代回关系式 (8.2.14),即可得改进后的能量本征值上限
()
()
?
?
?
?
?
?
+
?
?
?
?
?
? +Γ
?
?
?
?
?
?
?
?
==
+
+
+
n
nan
EE
n
n
nn
2
1
2
31
2
1
)2/(2
1
)2/(
minvar
μ
λ
. (8.2.16)
对应的 Mathematica V4.0 的程序为:
------------------------------------------------------------------------------
MATHEMATICA V4.0
------------------------------------------------------------------------------
In[7]:=
e
(* 定义函数
n
nGammaa )2/(]3[2/)2/(:_][
2
λμλλ ++=
( )λE *)
In[8]:= D[e[λ],λ]
( * 对参数 λ 作微分(注意 :D[e[λ],{λ,1}]等效于 D[e[λ],λ]) ): *)
Out[8]=
λ
μ
?2
?1?n
anλ
?1?n
Gamma@3+ nD
(* 解方程求
min
λ
*)}
In[9]:= ],0]3[2/[
11
λλμλ ==+?
????
nGammaanSolve
nn
Out[9]=
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
+→
+
??
n
n
nGammaan
2
1
1
)]3[2( μλ
In[10]:=
e
( * 计算
]])3[2[(
)2/(11 nn
nGammaan
+??
+μ ( )
min
λE *)
Out[10]=
]3[])3[2(2
2
])3[2(
2
1
11
2
2
1
nGammanGammaana
nGammaan
n
n
nn
n
n
+
?
?
?
?
?
?
?
?
++
+
?
+
????
+
??
μ
μ
μ
( * 注意:指令 PowerExpand[expr] 的功能为将所有乘积和指数作幂次展开。 % 代表
Mathematica 输出的最 后 的一个表 达 式,在此 即 为上面最 后 一个表达 式 , 即 Out[11]}。 *)
In[11]:= PowerExpand[%]
Out[11]=
() ( )
nn
n
n
n
nn
n
nn
n
nnn
n
nGammananGammana
++
?
+
?
++
??
++
?
+++
??
+++
2
2
222
2
2
22
2
2
22
2
2
2
2
34
]3[2]3[ μμ2
(*--------------------------------------------------------------------------*)
通过 仔 细的比较 , Mathematica V3.0 输出 Out[12]和 Mathematica V4.0 输出 Out[11]
给出的结 果 与公式( 8.2.16)是 一致 的。下面 我 们 将 (8.2.16)式应 用 于一些 典 型 的势函 数
上。
库仑势: 将 α?=a 和 n 代入,可得 1?=
2
2
μα
?≤
true
E
.
可以看 出, 表达式 的右 边正好 是氢 原子基 态能 量,即 等号 是严格 成立 的。显 然, 这是由 于
我们恰好 选 取氢原子 基 态波函数 作 为“试验 ” 波函数引 来 的 。 对 于 1=α 和 1=μ 情况, 能量
数值解为 。这一处理的 Mathematica V3.0 表述式为 5.0?=E
与上面指令对应的 Mathematica V4.0 版本如下:
------------------------------------------------------------------------------
MATHEMATICA V4.0
------------------------------------------------------------------------------
In[13]:= e[λ_,n_,a_,μ _] :=
n
nGammaa )2/(]3[2/)2/(
2
λμλ ++
(* 定义需要最小化的函数 *)
In[14]:= FindMinimum[e[λ,-1,-1,1], {λ,0.5}]
(* 以变分参数 5.0=λ 为起始点,求最小值 *)
Out[14]= {-0.5, {λ 1.} →
( * 这可以理解为 1
min
=λ 时,能量最小值 *) 5.0
min
?=E
线性势:
V
。将 代入关系式( 8.2.16) ,得到
() arr =
1=n
3/1
2
3/5
var
2
3
?
?
?
?
?
?
?
?
?
?
?
?
?
?
=≤
μ
a
E
true
E
.
将这一结果按关系式 (8.2.6)的格式重写出来,有
3/1
2
3/1
2
3/4
3/5
2
4764.2
22
3
?
?
?
?
?
?
?
?
=
?
?
?
?
?
?
?
?
≤
μμ
aa
E
true
. (8.2.17)
而基态能量的 “真解 ” 可由 Airy 函数 [8][9]的第一个零点给出,
true
E
3/1
2
2
3381.2
?
?
?
?
?
?
?
?
=
μ
a
true
E
.
比较两种结果,可以看到我们求得的原始上限 与真值的相对误差非常小 .
var
E
%6
var
?
?
true
true
E
EE
.
由此我 们在 不具体 求解 薛定格 方程 的情况 下, 解析地 推导 出线性 势基 态本征 能量 ,其数 值
结果与 “真解 ”有很好的近似。
对应的 Mathematica V4.0 版本为:
MATHEMATICAV4.0
In[15]:= e[λ_,n_,a_,μ _] :=
n
nGammaa )2/(]3[2/
)2/(2
λλ
μ
+
(* 定义能量函数 *)
In[16]:= FindMinimum[e[λ,1,1,1],{ λ,0.5}]
( * 以变分参数 5.0=λ 为起始点,求最小值。 *)
Out[16]= {1.96556,{ λ -> 1.14471}}
将 代入 公式 (8.2.15),(8.2.16)和 (8.2.17),可对以上 结果进行检 验。通常将
计算结果绘 图显示,有 助于进行比 较。令
1== an
12 =μ ,我 们分别绘制 函数 和
,然后借助 Mathematica V3.0 的 Show 指令将两图形合在一起进行比较。
3/2
3381.2 aE
true
=
3/2
4764.2 a
var
E =
MATHEMATICA V3.0
定义函数
In[17]:= etrue[a_] := 2.3381 a^(2/3)
In[18]:= eupper[a_] := 2.4764 a^(2/3)
In[19]:=plot1=Plot[etrue[a],{a,0,3}, AxesLabel->{”a”,”E”}, TextStyle->
{FontSlant->”Italic”,FontSize->14}] (* 绘制 (plot1) *)
true
E
( * AxesLabel: 定义坐标轴的表述; TextStyle 定义字型和字体大小。 *)
图 8.2.2 线性势基态能量真值 。
In[20]:=plot2=Plot[eupper[a],{a,0,3},AxesLabel->{”a”,”E”},TextStyle->
2) *)
true
E
{FontSlant ->”Italic”,FontSize->14}] (* 绘制
var
E (plot
图 8.2.3 线性势基态的变分上限能量 。
var
E
In[21]:= Show[plot1,plot2] (* 将 {\ tt plot1}与 {\ tt plot2}合并绘制 *)
8.2.4 线性势基态能量真值和变分上限。
向 激 发 态
图
径
论 了 基态 的能量 本征 值问题 。下 面,我 们将 讨论如 何求 解径向 激发 态的能量
上一 节 讨
上限。 这一 求解过程 的 详细介绍 可 以参看文 献 [6]。 在这里 我们将求 解 一个线性 势 束缚系统
的基态 和第 一激发 态能 量,以 演示 求解这 类问 题的一 般方 法。首 先, 需要选 取一 组正交 基
( “试验 ”波函数) 。对于基态,我们再次选择氢原子本征函数
λ
2/3
()
r
er
λ
π
λ
?
=Ψ
0
,
,
而对于第一激发态,我们选用
() ()
r
err
λ
λ
π
λ
λ
?
?=Ψ 23
3
,
2/3
1
, (8.2.18)
激 发 态 的波函 数是 有节点 的, 我们选 取的 “试验 ”函数 必须 反映 这一 特性。 第一 激发态 有 一
个节点 ,因 此 “试验 ”函 数必须 有一 个零点 ,如 等式 (8.2.18)所示 。第 一激 发 态 的 “试验 ”波
函数要求与基态本征函数相互正交
0
10
=ΨΨ
.
我们可以运用 Mathematica V3.0 语言系统直接检验其正交归一性。
MATHEMATICA
In[22]:= psi0[lambda_,r_] := Sqrt[lambda^3/Pi] Exp[-lambda r]
(* 定义基态 “实验 ”函数 *)
0
Ψ
In[23]:= psi1[lambda_,r_] := Sqrt[lambda^3/(3 Pi)] (3-2 lambda r) Exp[-lambda r]
(* 定义第一激发态 “实验 ”波函数
1
Ψ *)
In[24]:= 4 Pi Integrate[r^2 psi0[lambda,r]^2, {r,0,Infinity}]
(* 检验 的归一性 *)
0
Ψ
Out[24]:=
Pi
Pi
4
1
4
In[25]:= 4 Pi Integrate[r^2 psi1[lambda,r]^2, {r,0,Infinity}]
(* 检验 的归一性 *)
1
Ψ
Out[25]:=
Pi
Pi
4
1
4
In[26]:= 4 Pi Integrate[r^2 psi0[lambda,r] psi1[lambda,r], {r,0,Infinity}]
(* 检验波函数
0
Ψ 和 的正交性 *)
1
Ψ
Out[26]= 4 Pi 0
In[27]:= 4 Pi Integrate[r^2 psi0[lambda,r] a r psi0[lambda,r], {r,0,Infinity}]
(* 线性势期望值
0000
ΨΨ= arV
*)
Out[27]=
Pilambda
a
Pi
8
3
4
In[28]:= 4 Pi Integrate[r^2 psi0[lambda,r] a r psi1[lambda,r], {r,0,Infinity}]
(* 线性势矩阵元
101001
ΨΨ== arVV
*)
Out[28]=
?
?
?
?
?
?
?
?
?
Pilambda
aSqrt
Pi
8
]3[
4
In[29]:= 4 Pi Integrate[r^2 psi1[lambda,r] a r psi1[lambda,r], {r,0,Infinity}]
(* 线性势期望值
1111
ΨΨ= arV
*)
Out[29]=
Pilambda
a
Pi
8
5
4
In[30]:=laplacepsi0[lambda_,r_]:=D[psi0[lambda,r],{r,2}]+2/r
D[psi0[lambda,r],r] (* 定义基态波函数
0
Ψ 的拉普拉斯量 *)
In[31]:= laplacepsi1[lambda_,r_] := D[psi1[lambda,r],{r,2}]+2/r
D[psi1[lambda,r],r] (* 定义第一激发态
1
Ψ 的拉普拉斯量 *)
In[32]:= 4 Pi Integrate[r^2 psi0[lambda,r](-laplacepsi0[lambda,r]/(2 mu)),
{r,0,Infinity}] (* 动能项期望值
0
2
000
2
Ψ
?
?Ψ=
μ
T
*)
Out[32]=
Pimu
lambda
Pi
8
2
4
In[33]:= 4 Pi Integrate[r^2 psi0[lambda,r] (-laplacepsi1[lambda,r]/(2 mu)),
{r,0,Infinity}] (* 动能项矩阵元
1
2
01001
2
Ψ
?
?Ψ==
μ
TT
*)
Out[33]=
PimuSqrt
lambda
Pi
]3[4
2
4
In[34]:= 4 Pi Integrate[r^2 psi1[lambda,r] (-laplacepsi1[lambda,r]/(2 mu)),
{r,0,Infinity}] (* 动能项期望值
1
2
111
2
Ψ
?
?Ψ=
μ
T
*)
Out[34]=
Pimu
lambda
Pi
24
7
2
4
根据以上 矩 阵元定义 , 即可求解 方 程 (8.2.7)。 我们将运 用 Mathematica 语言, 分 别 以 解 析
和数值两种方式求能量本征值。
------------------------------------------------------------------------------
MATHEMATICA
------------------------------------------------------------------------------
(* 能量矩阵元 : *)
In[35]:= e00[lambda_,mu_,a_] := lambda^2/(2 mu)+3 a/(2 lambda)
In[36]:= e11[lambda_,mu_,a_] := 7 lambda^2/(6 mu)+ 5 a/(2 lambda)
In[37]:= e10[lambda_,mu_,a_] := lambda^2/(Sqrt[3] mu)- Sqrt[3] a/(2 lambda)
In[38]:= ematrix[lambda_,mu_,a_] := {{e00[lambda,mu,a],e10[lambda,mu,a]},
{e10[lambda,mu,a],e11[lambda,mu,a] }}
(* 定义以参数 λ 、 μ 和 为自变量的能量矩阵元a ( )λ
ij
E *)
In[39]:= eeigen[lambda_,mu_,a_] := Eigenvalues[ematrix[lambda,mu,a]]
(* 定义以参数 λ 、 μ 和 为自变量的能量本征值a ( )λE *)
In[40]:= eeigen[lambda,mu,a] ( * 解析推导本征值 *)
Out[40]= {(5*lambda^4*mu + 12*a*lambda*mu^ - 2*lambda*mu*Sqrt[4*lambda^6 –
6*a*lambda^3*mu + 9*a^2*mu^2])/(6*lambda^2*mu^2), (5*lambda^4*mu +
12*a*lambda*mu^2 + 2*lambda*mu*Sqrt[4*lambda^6 - 6*a*lambda^*mu +
9*a^2*mu^2])/(6*lambda^2*mu^2) }
In[41]:= FullSimplify[%] (* 化简上式 *)
Out[41]= {(5*lambda^3 + 12*a*mu - 2*Sqrt[4*lambda^6 - 6*a*lambda^3*mu +
9*a^2*mu^2])/(6*lambda*mu), (5*lambda^3 + 2*(6*a*mu +
Sqrt[4*lambda^6 - 6*a*lambda^3*mu + 9*a^2*mu^2]))/(6*lambda*mu)}
In[42]:= eeigen[1,1/2,1]
(* 在 λ=1 (GeV)、 μ =0.5 (GeV)及 a 条件下,数值求解本征值
2
)(1 GeV= E *)
Out[42]= {(11 - Sqrt[13])/3, (11 + Sqrt[13])/3}
In[43]:= N[%] (* 数值化 Mathematica 指令 N[expr]可求表达式 expr 的数值 *)
Out[43]= {2.46482, 4.86852}
------------------------------------------------------------------------------
-
由上式可知,能量本征值的变分上限分别为
GeV2.46482)1( =S
upper
E
,
E GeVS 86852.4)2(
upper
=
,
其相应的真值解为(由 Airy 函数的头两个零点给出)
GeV2.33811)1( =SE
true
GeV4.08795)2( =SE
true
对于基态(以 1S 表示) ,我们所得的变分上限值 的相对误差为
upper
E
%4.5
)1(
)1()1(
=
?
SE
SESE
true
trueupper
这一结果 比 前面给出 的 6% 相 对误差 稍好一些。 由此可以 看 出 , 通过增 加矩阵的 大 小 (此处
是由 1 变成 2 ) , 可以提高 上 限值的近 似 程度。对 于 第一激发 态 ( 以 2S 表示 ) ,变 分
上限值 的相对误差为
1×
E
2×
upper
%1.19
)2(
)2()2(
=
?
SE
SESE
true
trueupper
这一误差 值 稍大了一 些 ,我们可 以 运用方程 (8.2.8)及 (8.2.9),来 改进 这一结果 。 这 样 我
们就能找到覆盖在所选的这组 “试验 ”波函数上的能量本征值最小值。
但是, 改变 变分参数 λ 往往 会 破 坏来自 于 不 同激发 态 “试验 ”波函数的 正 交性。 原则 上,
特征方 程并 非由方 程 (8.2.7)给出 , 关于这 一困 难的详 细讨 论参见 文献 [6]。 考虑到 这一因
素,下面我们将仅限于基态 1S 的讨论,因为基态不涉及正交性破坏的问题。
MATHEMATICA
In[44]:= e00eigen[lambda_] := Part[Eigenvalues[ematrix[lambda,1/2,1]],1]
(* 在 及 条件下,定义以
GeV5.0=μ
2
1 GeVa =
λ 为自变量的基态本征值 *)
In[45]:= e00eigen[lambda] (* 解析计算基态能量本征值 *)
Out[45]= (6*lambda + 5*lambda^4 - lambda*Sqrt[9 - 12*lambda^3 +
16*lambda^6])/(3*lambda^2)
In[46]:= FindMinimum[%,{lambda,0.5}]
(* 寻找 1S-态能量的最小值(以
GeV5.0=λ
为起始点) *)
(* 虽然我们希望能够用 Mathematica 指令
FindMinimum[e00eigen[lambda],{lambda,0.5}]求 得正确的最 小值,但实 际运行显示
Mathematica 无法同步 实 现计算本 征 值 、 抽取矩 阵元相关 部 分并求解 最 小值。 因此 , 在 实 际
运用中,我们是将计算过程仔细地划分成几部分来进行的。 *)
Out[46]= {2.4322, {lambda -> 0.665633}}
通过对变分参数最小化后,得到改进的新结果为
GeV2.43220)1(
var
=SE
此时参数为
GeV665633.0
min
=λ .
显然,我们已经成功地减小了相对误差。
%9.3
)1(
)1()1(
var
=
?
SE
SESE
true
true .
正 如 前 面所说 , 最 小化过 程一般将 导 致基态和 激 发态具有 不 同的变分 参 数值:
ji
λλ ≠
。 由此 ,
所有这些态一般将不再正交。即
( ) ()
ijjjii
δλλ ≠ΨΨ
.
此时,本征值问题的特征方程 (8.2.7)将变为
() ( ) ( ) ( )[ ]
0
?
=ΨΨ?ΨΨ
jjii
upper
jjii
EH λλλλdet
.
在下面的 内 容中,我 们 将讨论如 何 通过扩大 矩 阵大小, 来 进一步提 高 薛定格能 级上 限
的精确度。
5. 勒盖尔 (Laguerre)上限
从前 面 的讨论 可以 看出, 精确 地求解 能量 上限的 关键 步骤是 选择 一组合 适的 “试探 ”波
函数。 我们 这里引入 一 组勒盖尔 多 项 式
( )
,以 提 高 “试探 ”波 函数的性 能 。 并进 一步 引入两
个变分参 数 : 含质量 量 纲的参数
γ
k
L
λ 及无 量 纲 的参数
β
; 以 及 选 择可以得 到 含角动量 及其 投l
影 的 “试探 ”波函数m ()x
lmk
G
,
ψ ,其相应的坐标空间表述为
() ()
()
( ) ( )??=
?+
lmk
l
lmk
YxLxxNx
G G G G
λλψ
γ
β
2exp
1
,
. (8.2.19)
波函数的 归 一化条件 要 求变分参 数 λ 数值为正 : 即 0>λ 。 这里 ( )?
lm
Y 标识在 与立体角 内
的角动量为 ,其投影为 的球谐函数,其正交关系约定为
?
l m
. (8.2.20) () ()
mmllmllm
YYd
′′′′
=???
∫
δδ
*
(8.2.19)式 所定义的 波 函数正交 归 一,不但 确 定了归一 化 常 数 ,还对 参数N γ 的取值作 出
限制:
βγ 22 += l 。由此可得
()
()
()
()
()()??
+++Γ
=
+
?+
++
lm
l
k
l
l
lmk
YxLxx
kl
k
x
G G G G
λλ
β
λ
ψ
β
β
β
2exp
122
!2
22
1
122
,
.
它满足的正交归一化条件为
() ()
mmllkkmlklmk
xxxd
′′′′′′
=
∫
δδδψψ
G G
,
*
,
3
.
很显然, 正 交归一化 同 时也对第 二 个变分参 数 β 作出限制 2 1?>β ,即 其 取 值域为
2
1
?>β
。
为便于讨 论 ,我们做 以 下化简: 质 量标度 GeVm 1
1
m
2
== , 变 分参数 GeV1=λ 及 1=β 。
为表述求 解 的一般过 程 以及便于 比 较 , 我们 仍将 讨论线性 势 的情况 V ar= , 并取 。
这里的计算 至少在矩阵 大小扩大到 4
2
1GeVa =
4× 阶时,所有 计算仍能够 解析求解( 手工推导) 。这
一工作留给读者作为一个练习。下面将演示运用 Mathematica 语言进行计算的过程:
? 定义所选取的 “试探 ”波函数 ( )x
lmk
G
,
ψ ;
? 计算拉普拉斯算符(动能项)的矩阵元;
? 计算径向坐标 r (势能项)的矩阵元;
? 确定所得的总能量矩阵 ()λ
ij
E 的本征值 ( )λE ;
? 比较不同矩阵大小对应的能量本征值,以期观测到收敛行为。
------------------------------------------------------------------------------
-
MATHEMATICA
------------------------------------------------------------------------------
-
In[47]:= psix[k_,l_,m_,r_] := Sqrt[2^(2 l+3) k!/Gamma[2 l+3+k]] r^l
Exp[-r]*LaguerreL[k,2 l+2,2 r]*SphericalHarmonicY[l,m,theta,phi]
(* 定义 “试探 ”波函数 ( )x
lmk
G
,
ψ *)
In[48]:= psi[k_,r_] := psix[k,0,0,r]
( * 由于我们仅讨论 S-波情况,可使 “ 试探 ”波函数有 0== ml *)
In[49]:= delta[k_,r_] := D[psi[k,r],{r,2}]+2/r D[psi[k,r],{r,1}]
( * 定义拉普拉斯算符作用在 0=l ( S-波)态上的 ( )r
k
ψ? *)
In[50]:= intks[k_,s_,r_] := psi[s,r] delta[k,r]
( * 定义积分 () ()
rr
ks
ψψ ?
*)
In[51]:= kinen[k_,s_] := -4 Pi Integrate[r^2 intks[k,s,r],{r,0,Infinity}]
( * 动能算符 ??=T 的矩阵元 (注:由于已取两粒子质量
() ()(rrrdr
ks
ψψ ??
∫
∞
2
0
为 ,约化质量
GeVmm 1
21
== μ
也将等于 1 ) *) GeV2/
In[52]:= poten[k_,s_] := 4 Pi Integrate[r^3 psi[s,r] psi[k,r],{r,0,Infinity}]
(* 势能算符 ( ) rr =V 的矩阵元 *)
() ()rrrrdr
ks
ψψ
2
0
∫
∞
In[53]:= toten[k_,s_] := kinen[k,s]+poten[k,s]
(* 总能量矩阵元 *)
( * 下面我 们将用 Table 指 令来构 造矩阵。 因 为矩阵指 标 是 从 0 开始 计数的, 我 们需要重
新定义矩阵,以使 时给出 1 矩阵等等。 *) 1=x 1×
In[54]:= totenmat[x_] := Table[toten[k,s],{k,0,x-1},{s,0,x-1}]
( * 借助指 令 Eigenvalues[M], 定 义函数 eeigen[x]。 这 一 指令将给 出 xx× 阶矩阵 M 的
本征值,亦即对任意的 xx× 阶矩阵对角化。 *)
In[55]:= eeigen[x_] := Eigenvalues[totenmat[x]]
In[56]:= eeigen[1] ( * 1 能量矩阵的本征值 *) 1×
Out[56]=
?
?
?
?
?
2
5?
In[57]:= eeigen[2] ( * 2 能量矩阵的本征值 *) 2×
Out[57]=
()()
?
?
?
?
+? 1311
3
1
,1311
3
1
?
?
In[58]:= N[%] ( * 运用 N[%] 指令对上式输出进行数值化处理 *)
Out[58]= {2.46482,4.86852} ( * 数值化的基态和第一激发态能量 *)
In[59]:= eeigen[3] ( * 3 能量矩阵的本征值 *) 3×
Out[59]=
?
?
?
?
?
+? 75,75,
2
9?
In[60]:= N[%] ( * 运用 N[%] 指令对上式输出进行近似数值计算 *)
Out[60]= {2.35425,4.5,7.64575} ( * 数值化的基态和第一、第二激发态能量 *)
( * 通常,一个 5 矩阵的本征值是无法解析求解的。我们来进行数值求解 *) 5×
In[61]:= N[eeigen[5]] ( * 求基态和前四个激发态的能量的近似数值 *)
Out[61]= {2.34136,4.13334,5.72535,8.11424,15.519}
In[62]:= N[eeigen[10]] ( * 注: 10 10× 能量矩阵本征值的计算将耗费一定机时 *)
Out[62]=
{2.33812,4.08858,5.53209,6.83859,8.14892,9.91409,12.195,14.096,17.146,
49.7026} ( * 基态和前九个径向激发态的能量 *)
在表 8.2.1 中,我们 对 基态、激 发 态能级上 限 精确度与 能 量矩阵大 小 的关系进 行了 一
个对照比较。
表 8.2.1 不同大小矩阵对应的能量本征值相对误差的比较
矩阵大小 1S 态 2S 态
1 1× %6 --
22× %5 19 %
33× 0 %7. 10 %
55× 0 %1. 1 %
10 10×
%104
4?
× 2 %10
2?
×
可见,这 样 的处理对 精 度的提高 极 为显著。 需 要指出的 是 ,这种处 理 方法应用 范围 很
广, 对 不 同 于幂指数 V 的 势函数
n
r= ( )V , 以 及不同于 非 相对论r mp 2/
2
G
的微 分算符都 适 用 。
因此, 我们 可以用 这一 方法来 求解 更为复 杂的 哈密顿 算符 的能量 本征 值问题 ,如 处理包 含
平方根相 对 论动能算 符
22
mp +
G
的 准 相 对论过 程 [10]。 另 一方面, 由 于 直 到 4 阶能量矩
阵
4×
E 是能够 解 析对角化 的 , 这一特 性 使我们能 够 对纯数值 计 算给出的 结 果进行控 制 。 但 是 ,
我们需要 牢 记此处计 算 得出的数 值 结果, 仅是 表示能量 本 征值真实 解 的上限: ()λE≤E 。
true
总结 : 在本节中 , 我们讨论 了 如何运用 Mathematica 语言和一 些 基本物理 原 理简便 地
处理束 缚态 问题, 并且 由此计 算给 出的数 值结 果具有 较好 的精度 。我 们在计 算中 并未真 正
涉及相 关波 函数的 确定 问题。 然而 ,我们 的这 种处理 和计 算方法 说明 [10]: 只要矩 阵尺 度
足够大 ,即 可实现 对于 波函数 任意 精度的 逼近 。另一 方面 ,对于 小尺 度矩阵 而言 ,一般 来
说即使能级计算给出的结果相当准确,我们也完全不能相信所选取的波函数。
作为一个例 子,下面将 绘制 0=k 和 5=k 情况 下 “试探 ”波函数的三维 图形。以便 直
观了解一下这些波函数到底是什么样的。
------------------------------------------------------------------------------
-
MATHEMATICA
------------------------------------------------------------------------------
-
In[63]:= psix[k_,l_,m_,x_,y_] := Sqrt[2^(2 l+3) k!/Gamma[2 l+3+k]]
Sqrt[x^2 + y^2]^l Exp[-Sqrt[x^2+y^2]] LaguerreL[k,2 l+2,2 Sqrt[x^2+y^2]]
( * 将 “试探 ”波函数 ( )x
lmk
G
,
ψ 化为自变量 x 、 的图形函数 *) y (yx
lmk
,
,
ψ )
In[64]:= Plot3D[psix[0,0,0,x,y],{x,-4,4},{y,-4,4},TextStyle ->
{FontSlant-> ”Italic”,FontSize->12}]
( * 绘制 0=== mlk 情况下 “试探 ”函数 ( )yx
lmk
,
,
ψ 的三维图形。
这时的波函数本征基态 *)
图 8.2.5 0=== mlk 时的 “试探 ”波 函 数 ( )yx
lmk
,
,
ψ 。
( * 注: 对 ,函 数0≠k
()yx
lmk
,
,
ψ
并 不是对应 于 特定的激 发 能级上的 试 探波函数 。 合 适 的
求 阵 的本 征
*)
In[65]:= Plot3D[psix[5,0,0,x,y],{x,-4,4},{y,-4,4}, TextStyle->
( * 绘制 且
试探函 数要 通 过 解 能 量 矩 矢 量 来决 定,试 探波 函数则 是各 种试探 函数 的叠加 。
{FontSlant->”Italic”,FontSize->12}]
5=k 0== ml 时的 ψ ( )yx
lmk
,
,
“试探 ”函数 的三维图形。 *)
图 8.2.6 k 且5= 0== ml 时的“试探”波函数
( )yx
lmk
,
,
ψ
。