- not so Frequently Asked Questions - update 2004/12/04
|
|
球面調和関数極座標で表された球面調和関数 Y[lm](θ,φ)は次式で与えられます. ここで,P[lm]はLegendreの陪関数です.lとmは整数で,l=0,1,2,3...の値 をとり,mは各lの値に対して m=-l,-l+1,...l-1,lの,計2l+1個の値を取るこ とができます.この関数は,2乗してθとφで積分すると1になるように規格化 されています.積分区間はθは0〜π,φは0〜2πです. gnuplotのparametric表示では,角度uがφと一致しますが,θの定 義は異なります.左の図から θ=π/2-vですので,この関係は, cos(theta)=sin(v) sin(theta)=cos(v)となります. 球面調和関数の最も簡単なものはl=0,m=0の場合で,これは定数 1/sqrt(4π) になります.これを2乗した|Y[00]|^2=1/4πも当然定数で,これは半径1/4πの 球です.関数は規格化されているので,この関数を全立体角(4π)で積分する と1になります.gnuplotでこれを描くのは簡単で, 前項で使った方法で,その半径を変えるだけで す. gnuplot> set parametric dummy variable is t for curves, u/v for surfaces gnuplot> set angle degree gnuplot> set urange [0:360] gnuplot> set vrange [-90:90] gnuplot> set isosample 36,18 gnuplot> set ticslevel 0 gnuplot> set size 0.65,1.0 gnuplot> a=1.0/(4*pi) gnuplot> fx(u,v)=cos(u)*cos(v) gnuplot> fy(u,v)=sin(u)*cos(v) gnuplot> fz(v)=sin(v) gnuplot> splot a*fx(u,v),a*fy(u,v),a*fz(v) 左がY[00]を自乗したグラフで,原点を中心に半径1/4πの球です.m=0なの でexp(-imφ)の項は消え,φへの依存性はありません.球面調和関数は,mが 偶数の時は実関数ですが,mが奇数のときは虚部を持ちます. 次にl=1,m=0の関数Y[1,0]を表示します.Y[00]と同様,m=0なのでφの項 は消え,この関数の表式は Y(θ)=sqrt(3/4π)cosθ となります.上に書いて あるとおり,cosθはsin(v)で与えられるので,この項をx,y,z座標にかけるこ とでこの関数を表示できます.上と同様に|Y[10]|^2=3/4π cos^2θ を表示 します. gnuplot> a=3.0/(4*pi) gnuplot> g(v)=sin(v)*sin(v) gnuplot> splot a*g(v)*fx(u,v),a*g(v)*fy(u,v),a*g(v)*fz(v) 変数uの範囲を[0:180]にして隠線処理すると,球面調和関数の断面を表示で きます. gnuplot> set urange [0:180] gnuplot> set hidden3d gnuplot> splot a*g(v)*fx(u,v),a*g(v)*fy(u,v),a*g(v)*fz(v) from Dr.Nakamura of TUS. Thanks !
|