量子力学Ⅰ/球面調和関数/メモ のバックアップ差分(No.8)

更新


  • 追加された行はこの色です。
  • 削除された行はこの色です。
#mathjax

* 形状 [#la277f49]

位相を色分けする
 LANG:mathematica
 With[{lmax=5},
   Table[
     If[Abs[m]<=l,
       SphericalPlot3D[Abs[
           SphericalHarmonicY[l, m, t, p] 2
         ], {t, 0, Pi}, {p, 0, 2 Pi}, 
         PlotRange -> {{-1, 1}, {-1, 1}, {-1.5, 1.5}},
         BoxRatios->{1,1,1.5}, PlotPoints->30,
         Axes->False, Boxed->False, Mesh->False,
         ColorFunctionScaling -> False, 
         ColorFunction -> Function[{x,y,z,t,p,r},
           Blend[{Blue,Yellow},
             (Cos[Arg[SphericalHarmonicY[l, m, t, p]]]+1)/2]]
       ],
       Null
     ],
     {l, 0, lmax},
     {m, 0, lmax}
   ]
 ]//GraphicsGrid[#,AspectRatio->1.5]&
 With[{lmax = 5}, 
   Table[If[Abs[m] <= l, 
     SphericalPlot3D[
      Abs[SphericalHarmonicY[l, l - m, t, p] 2], {t, 0, Pi}, {p, 0, 
       2 Pi}, PlotRange -> {{-1, 1}, {-1, 1}, {-1.5, 1.5}}, 
      BoxRatios -> {1, 1, 1.5}, PlotPoints -> 30, Axes -> False, 
      Boxed -> False, Mesh -> False, ColorFunctionScaling -> False, 
      ColorFunction -> 
       Function[{x, y, z, t, p, r}, 
        Blend[{Blue, 
          Yellow}, (Cos[Arg[SphericalHarmonicY[l, l - m, t, p]]] + 1)/
          2]]], Null], {l, 0, lmax}, {m, 0, lmax}]] // 
  GraphicsGrid[#, AspectRatio -> 1.5] &

実数版
 LANG:mathematica
 With[{
     lmax=5,
     F := Function[{l,m,t,p}, 
            If[ 
              m==0,
              SphericalHarmonicY[l, 0, t, p],
              SphericalHarmonicY[l, Abs[m], t, p]/Sqrt[2] + 
                If[m<0,-1,1] (-1)^m SphericalHarmonicY[l, -Abs[m], t, p]/Sqrt[2]
            ] If[m<0,-I,1]]
   },
   Table[
     If[Abs[m]<=l,
       SphericalPlot3D[2 Abs[F[l,m,t,p]], {t, 0, Pi}, {p, 0, 2 Pi}, 
         PlotRange -> {{-1.2, 1.2}, {-1.2, 1.2}, {-1.8, 1.8}},
         BoxRatios->{1,1,1.5}, PlotPoints->30,
         Axes->False, Boxed->False, Mesh->False,
         ColorFunctionScaling -> False, 
         ColorFunction -> Function[{x,y,z,t,p,r},
           Blend[{Blue,Yellow},
             (Cos[Arg[F[l, m, t, p]]]+1)/2]]
       ] // Evaluate,
       Null
     ],
     {l, 0, lmax},
     {m, -lmax, lmax}
   ]
 ] // GraphicsGrid[#, AspectRatio->1.5] &

符号の反転する理由

 LANG:mathematica
 Plot[Sin[x], {x, -3 Pi, 3 Pi}, PlotLegends -> "Expressions", PlotPoints->500,ColorFunctionScaling->False, ColorFunction->Function[{x,y},If[y>0,Blue//Darker,Red//Lighter]],ImageSize->Large,AspectRatio->0.3,PlotStyle->Thick,Filling->Axis]
 Plot[Abs[Sin[x]], {x, -3 Pi, 3 Pi}, PlotLegends -> "Expressions", PlotPoints->500,ColorFunctionScaling->False, ColorFunction->Function[{x,y},If[Sin[x]>0,Blue//Darker,Red//Lighter]],ImageSize->Large,AspectRatio->0.15,PlotStyle->Thick,Filling->Axis]
 

* 解答:$m$ に関する漸化式 [#k309d54e]

(1)

漸化式にそれぞれ &math(m=l,\,m=-l); を代入すると、

 &math(
\hat l_+\,Y_l{}^{l}(\theta,\phi)=\hbar&\sqrt{(l-l)(l+l+1)}\,Y_l{}^{l+1}(\theta,\phi)=0\\[-5mm]
&\hspace{3mm}\underbrace{\hspace{11mm}}_{=\,0}
);

 &math(
\hat l_-\,Y_l{}^{-l}(\theta,\phi)=\hbar&\sqrt{(l-l)(l+l+1)}\,Y_l{}^{-l-1}(\theta,\phi)=0\\[-5mm]
&\hspace{3mm}\underbrace{\hspace{11mm}}_{=\,0}
);

となって、&math(Y_l{}^{l+1}(\theta,\phi)); や &math(Y_l{}^{-l-1}(\theta,\phi)); 
が得られることはない。

(2)

 &math(
&\hat l_-\hat l_+Y_l{}^{m}(\theta,\phi)=\hat l_-\hbar\sqrt{(l-m)(l+m+1)}Y_l{}^{m+1}
=\hbar^2(l+m+1)(l-m)Y_l{}^m\\
&\hat l_+\hat l_-Y_l{}^{m}(\theta,\phi)=\hat l_+\hbar\sqrt{(l+m)(l-m+1)}Y_l{}^{m-1}
=\hbar^2(l+m)(l-m+1)Y_l{}^{m}\\
);

(3)

&math(\hat l_x\hat l_y\ne \hat l_y\hat l_x); に注意しつつ、

 &math(
&\frac{1}{2}\left( \hat l_+\hat l_-+\hat l_-\hat l_+\right)\\
&=\frac{1}{2}\left\{ (\hat l_x+i\hat l_y)(\hat l_x-i\hat l_y)+(\hat l_x-i\hat l_y)(\hat l_x+i\hat l_y)\right\}\\
&=\frac{1}{2}\left( \hat l_x^2+\cancel{i\hat l_y\hat l_x}-\cancel{i\hat l_x\hat l_y}+\hat l_y^2+
\hat l_x^2-\cancel{i\hat l_y\hat l_x}+\cancel{i\hat l_x\hat l_y}+\hat l_y^2\right)\\
&=\hat l_x^2+\hat l_y^2
);

(4)

 &math(
\big(\hat l_x^2+\hat l_y^2\big)Y_l{}^m
&=\frac{\hbar^2}{2}\big\{(l+m+1)(l-m)+(l+m)(l-m+1)\big\}Y_l{}^m\\
&=\hbar^2(l^2-m^2+l)Y_l{}^m\\
);


** 解説 [#t5af95ff]

 LANG:igor
 function draw(l)
  variable l
 
 	wave wave0, wave1
 	make/O/N=1001 wave0,wave1
 	setscale/p x,-sqrt(l*(l+1)),sqrt(l*(l+1))/500,wave0,wave1
 	wave0=sqrt(l*(l+1)-x^2+1e-12)
 	wave1=-sqrt(l*(l+1)-x^2+1e-12)
 
 	make/O/N=(2*l+1) wave2
 	setscale/p x,-l,1,wave2
 	wave2=sqrt(l*(l+1)-x^2)
	
 	variable i
 	SetDrawLayer /K UserBack
 	for(i=0;i<2*l+1;i+=1)
 		SetDrawLayer UserBack
 		SetDrawEnv xcoord= bottom,ycoord= left;
 		SetDrawEnv linethick= 1.50
 		DrawLine 0,0,wave2[i],pnt2x(wave2,i)
 
 		SetDrawLayer UserBack
 		SetDrawEnv xcoord= bottom,ycoord= left;
 		SetDrawEnv linethick= 0.50
 		DrawLine 0,pnt2x(wave2,i),wave2[i],pnt2x(wave2,i)
 	endfor
 end

* $\Theta(\theta)$ の分布 [#y6e6c515]

#mathjax

縦軸に &math(\theta=0\sim \pi); を、右方向に &math(|\Theta_l{}^m(\theta)|); を取りプロットした:

&attachref(theta2.svg);

- 5つのグラフは左から &math(l-m=0,1,2,3,4); に相当する。
-- すなわち、左から右に &math(\hat l_x^2+\hat l_y^2); の固有値が増えていく。
-- &math(\Theta(\theta)); の振動数はそのまま &math(\hat l_x^2+\hat l_y^2); に対応するため、
&math(l-m); が増えるに従って振動数が大きくなる。
- 1つのグラフ内では、&math(m=0,1,2,3,4); のグラフを重ねてプロットしている。
-- &math(m); が増えると形状は中央 &math(\theta=\phi/2); に寄っていく。

次に、同じグラフを動径プロットにした:

&attachref(theta1.svg);

これらのグラフを &math(z); 軸周りに回転させたものが球面調和関数になる。

&ref(量子力学Ⅰ/球面調和関数/spherical-harmonics-y1.png);

#collapsible(Mathematica ソース)
 LANG:mathematica
 GraphicsRow[
 Table[ParametricPlot[
   Table[{Abs[SphericalHarmonicY[m + n, n, t, 0] 2], t}, {n, 0, 4}] //
     Evaluate, {t, 0, Pi}, PlotRange -> {{0, 1.5}, {0, Pi}}, 
   ImageSize -> 180], {m, 0, 4}]]
 GraphicsRow[Table[
   PolarPlot[
    Table[Abs[SphericalHarmonicY[m + n, n, t - Pi/2, 0] 2], {n, 0, 
       4}] // Evaluate, {t, -Pi/2, Pi - Pi/2}, 
    PlotRange -> {{0, 1}, {-1.5, 1.5}}, ImageSize -> 180], {m, 0, 
    4}]]
#collapsible(end)


Counter: 2676 (from 2010/06/03), today: 1, yesterday: 0