分类:
2010-07-08 00:32:46
通过别人的“通风报信”,使用众所周知的方法,经过一个晚上的艰苦工作(是计算机,不是我),Maple 11已经入手了。出于爱好学习的目的,我们决定“试用”一下Maple 11的新包,Physics Package。顾名思义,Physics Package就是拿来处理物理问题的。做物理的人肯定会感觉到,Maple并不能方便地处理日常遇到的很多数学问题,如指定某变量的对易性,抽象矢量分析(即不确定具体表象)等等。如今,这些问题都可以用Maple 11的Physics Package来处理。以下简单地演示对易关系的定义和展开。
众所周知,量子力学中有对易关系[x, p] = x * p – p * x = i * hbar,其中x是位置,p是动量,i是虚数,hbar是Planck常数 / (2 * pi)。那么在Maple 11中该如何定义该对易关系呢?首先载入Physics Package:
> with(Physics);
[*,
., Annihilation, AntiCommutator, Bra, Bracket, Check, Commutator,
Coordinates, Creation, Dagger, Define, Dgamma, FeynmanDiagrams,
Fundiff, Gtaylor, Intc, Inverse, Ket, KroneckerDelta, LeviCivita,
Parameters, Parity, Projector, Psigma, Setup, Simplify,
SpaceTimeVector, Trace, Vectors, ^, dAlembertian, d_, diff, g_]
接着使用该包的Setup函数,设定x和p为量子算符(quantumoperator={x,p}),再定义代数规则[x, p] = I * hbar(algebrarules={%Commutator(x,p)=I*hbar}):
> Setup(quantumoperator = {x, p}, algebrarules = {%Commutator(x, p) = I*hbar});
[algebrarules = {[x, p][-] = hbar I}, quantumoperator = {x, p}]
现在可以测试了。使用函数Commutator算对易式[x, p],明显有以下的结果:
> %Commutator(x, p) = Commutator(x, p);
[x, p][-] = hbar I
注意加上“%”号在函数Commutator前,是为了使其处于“inert”的状态,即返回式子,不作具体计算。要计算处于“inert”状态的式子,可使用value或expand函数。我们又可以算[p, x]:
> %Commutator(p, x) = Commutator(p, x);
[p, x][-] = -I hbar
结果刚好多了个负号,是正确的。最后,尝试嵌套地计算对易式,如计算[[x, p^2], x]:
> %Commutator(%Commutator(x, p^2), x);
2
[[x, p ][-], x][-]
接着使用Physics Package中的Expand函数对非对易项做展开,注意该函数必须写成长形式,即Physics:-Expand。
> Physics:-Expand(%);
2
2 hbar