Introduction to Computor (by R. Saito) Electronics Eng.
UEC Education System

球面調和関数 Y_lm(θ,φ)

中心対称場で必ずでてくる、球面調和関数です。回転群の基底とも関係があります。


# # Spherical Harmonics Y_lm (t,p) t=\theta p=\varphi # # Usage Y(l,m,t,p); By R. Saito 95-6-28 # # # # P(n,x) nth Legendre polynomial. # with(orthopoly): # # Pa(n,m,x) original associated Legendre polynomial. # pa:=proc(n,m,x) local a,z: if m=0 then P(n,x): else a:=(1 - z^2 )^(m/2) * diff(P(n,z),z$m): z:=x: eval(a): fi: end: # # Pa(n,m,x) associated Legendre polynomial only for Ylm. # pa1:=proc(n,m,x) local a,z: if m=0 then P(n,cos(x)): else a:= sin(x)^m * diff(P(n,z),z$m): z:=cos(x): # # Note: eval is necessary in the folloing expression. # eval(a): fi: end: # # Ylm # Y:=proc(l,m,t,p) sqrt( (2*l+1)/(4*Pi) * (l-abs(m))!/(l+abs(m))! ) * pa1(l,abs(m),t) * exp(I*m*p): end:
この file を read で読んで、Y(l, m, t, p); で実行です。

この 球面調和関数を plot してみましょう。m と -m を足したり 引いたりして、まず実数にしてください。( 量子物理学 演習問題 9.2 参照)

with(plots):
f:=abs(Y(2,0,t,p));
plot3d(f,p=0..2*Pi,t=0..2*Pi,scaling=CONSTRAINED,coords=spherical,grid=[37,49]);
Maple IV では 以下の implicitplot3d コマンドが動作しましたが、Maple V 以降では正しく動作しません。 Maple V 以降の implicitplot3d コマンドで球座標を用いるときには正しく表示されているか確認する必要が あると思います。
implicitplot3d(r=f,p=0..2*Pi,t=0..Pi,r=0..1.0,style=PATCH,scaling=CONSTRAINED,coords=spherical,grid=[18,18,20]); 
実行結果
tutor1@edu.cc.uec.ac.jp