Spherical Harmonic

Author

Eric W. Weisstein
February 17, 2005

Modified by Paul C. Abbott

This notebook downloaded from http://mathworld.wolfram.com/notebooks/SpecialFunctions/SphericalHarmonic.nb.

For more information, see Eric's MathWorld entry http://mathworld.wolfram.com/SphericalHarmonic.html.

©2005 Wolfram Research, Inc. except for portions noted otherwise

Additional Authors

Modified by Paul C. Abbott
February 17, 2005

Initialization

<<Graphics`

SetOptions[SphericalPlot3D,Boxed->False,PlotRange->All,Axes->False,BoxRatios->{1,1,1},PlotPoints->{40,60}]

SpherePlot[f_,opts___]:=SphericalPlot3D[Evaluate[ComplexExpand[f]],{θ,0,π},{ϕ,0,2 π},opts]

SpherePlot[f_,Mesh->False,opts___]:=SpherePlot[{f,EdgeForm[]},opts]

SpherePlot[f_,Mesh->True,opts___]:=SpherePlot[f,opts]

(SuperStar[z]) denotes the complex conjugate of z.

(SuperStar[z_]):=z/.Complex[a_,b_]:>Complex[a,-b]

To improve the appearance of graphics, TraditionalForm will be used as the default format type for text that appears in graphics,

$FormatType=TraditionalForm;

and the default style for text in graphics is set as follows.

$TextStyle={FontSize->10};

Example

The (Subscript[Y, l]^m)(θ,ϕ) are, in general, complex. We therefore can either plot the real and imaginary parts or the absolute value.

Plotting Re((Subscript[Y, 1]^1)(θ,ϕ)) over 0≤θ≤π and 0≤ϕ≤2π is very slow because the surface is self-intersecting.

A simpler surface is generated by the restriction 0≤ϕ≤2π.

SphericalPlot3D[Evaluate[Re((Subscript[Y, 1]^1)(θ,ϕ))],{θ,0,π},{ϕ,0,π}]

Here is ((|(Subscript[Y, 1]^1)(θ,ϕ)|)^2) .

SpherePlot[((\[LeftBracketingBar](Subscript[Y, 1]^1)(θ,ϕ)\[RightBracketingBar])^2)]

Here is ((Re[(Subscript[Y, 1]^1)(θ,ϕ)])^2) with no mesh.

SpherePlot[((Re[(Subscript[Y, 1]^1)(θ,ϕ)])^2),Mesh->False]

Here is ((Im[(Subscript[Y, 1]^1)(θ,ϕ)])^2) with no mesh.

SpherePlot[((Im[(Subscript[Y, 1]^1)(θ,ϕ)])^2),Mesh->False]

Enumeration

Table[{l,m,Simplify[(Sqrt[(((2 l+1) (l-m)!)/((4 π) (l+m)!))]) (Subscript[P, l]^m)(cos(θ)) (E^(I m ϕ))==(Subscript[Y, l]^m)(θ,ϕ),0<θ<π]},{l,0,3},{m,-l,l}]

Table[{l,m,(Subscript[Y, l]^m)(θ,ϕ)},{l,0,3},{m,-l,l}]

Orthogonality

The usefulness of the spherical harmonics, (Subscript[Y, l]^m)(θ,ϕ), is that they form a complete basis set for the expansion of any angular function in 3-space and that they are orthonormal,

(∫_0^(2π))(∫_0^π)(SuperStar[(Subscript[Y, l]^m)(θ,ϕ)])(Subscript[Y, L]^M)(θ,ϕ) sin(θ)dθdϕ=(Subscript[δ, l,L])(Subscript[δ, m,M]).

⟨{l_,m_},{L_,M_}⟩:=⟨{l,m},{L,M}⟩=⟨{L,M},{l,m}⟩=(∫_0^(2 π))(∫_0^π)(SuperStar[(Subscript[Y, l]^m)(θ,ϕ)]) (Subscript[Y, L]^M)(θ,ϕ) sin(θ)\[DifferentialD]θ\[DifferentialD]ϕ

n=2;
Table[{{(Subscript[l, 1]),(Subscript[m, 1])},{(Subscript[l, 2]),(Subscript[m, 2])},⟨{(Subscript[l, 1]),(Subscript[m, 1])},{(Subscript[l, 2]),(Subscript[m, 2])}⟩==(Subscript[δ, (Subscript[l, 1]),(Subscript[l, 2])])(Subscript[δ, (Subscript[m, 1]),(Subscript[m, 2])])},{(Subscript[l, 1]),0,n},{(Subscript[m, 1]),-(Subscript[l, 1]),(Subscript[l, 1])},{(Subscript[l, 2]),0,n},{(Subscript[m, 2]),-(Subscript[l, 2]),(Subscript[l, 2])}]

The integral of a triple product of (Subscript[Y, (Subscript[l, i])]^(Subscript[m, i]))(θ,ϕ) can be evaluated using 3-j symbols (or Clebsch-Gordan coefficients),

(∫_0^π)(∫_0^(2 π))(Subscript[Y, (Subscript[l, 1])]^(Subscript[m, 1]))(θ,ϕ) (Subscript[Y, (Subscript[l, 2])]^(Subscript[m, 2]))(θ,ϕ) (Subscript[Y, (Subscript[l, 3])]^(Subscript[m, 3]))(θ,ϕ) sin(θ)dϕdθ==(Sqrt[(((2 (Subscript[l, 1])+1) (2 (Subscript[l, 2])+1) (2 (Subscript[l, 3])+1))/(4 π))])( ({{(Subscript[l, 1]), (Subscript[l, 2]), (Subscript[l, 3])}, {(Subscript[m, 1]), (Subscript[m, 2]), (Subscript[m, 3])}}) )( ({{(Subscript[l, 1]), (Subscript[l, 2]), (Subscript[l, 3])}, {0, 0, 0}}) ).

Turning off warning messages for Clebsch-Gordan coefficients,

Off[ClebschGordan::"tri",ClebschGordan::"phy"]

we verify this identity.

n=1;
Flatten[Table[{{{(Subscript[l, 1]),(Subscript[l, 2]),(Subscript[l, 3])},{(Subscript[m, 1]),(Subscript[m, 2]),(Subscript[m, 3])}},(Sqrt[(((2 (Subscript[l, 1])+1) (2 (Subscript[l, 2])+1) (2 (Subscript[l, 3])+1))/(4 π))]) ThreeJSymbol[{(Subscript[l, 1]),(Subscript[m, 1])},{(Subscript[l, 2]),(Subscript[m, 2])},{(Subscript[l, 3]),(Subscript[m, 3])}] ThreeJSymbol[{(Subscript[l, 1]),0},{(Subscript[l, 2]),0},{(Subscript[l, 3]),0}]==(∫_0^π)(∫_0^(2 π))(Subscript[Y, (Subscript[l, 1])]^(Subscript[m, 1]))(θ,ϕ) (Subscript[Y, (Subscript[l, 2])]^(Subscript[m, 2]))(θ,ϕ) (Subscript[Y, (Subscript[l, 3])]^(Subscript[m, 3]))(θ,ϕ) sin(θ)\[DifferentialD]ϕ\[DifferentialD]θ},{(Subscript[l, 1]),0,n},{(Subscript[m, 1]),-(Subscript[l, 1]),(Subscript[l, 1])},{(Subscript[l, 2]),0,n},{(Subscript[m, 2]),-(Subscript[l, 2]),(Subscript[l, 2])},{(Subscript[l, 3]),0,n},{(Subscript[m, 3]),-(Subscript[l, 3]),(Subscript[l, 3])}],3]

Special cases

Note that (SuperStar[(Subscript[Y, l]^m)(θ,ϕ)])=(Subscript[Y, l]^m)(θ,-ϕ)=(((-1))^m) (Subscript[Y, l]^(-m))(θ,ϕ).

⟨({{a_, b_, c_}, {i_, j_, k_}})⟩:=Simplify[(((-1))^k) (Sqrt[(((2 a+1) (2 b+1) (2 c+1))/(4 π))]) ThreeJSymbol[{a,i},{b,j},{c,-k}] ThreeJSymbol[{a,0},{b,0},{c,0}],Reduce[Thread[{a,b,c}≥0]]∧Union[{a,b,c,i,j,k}]∈ℤ]/.((x_)^(n_)):>((Factor[x])^n)

Here are some special cases.

⟨({{l, 0, l}, {m, 0, m}})⟩

⟨({{l, 1, l+1}, {m, 0, m}})⟩

⟨({{l, 1, l+1}, {m, 1, m+1}})⟩

⟨({{l, 1, l-1}, {m, 1, m+1}})⟩

Plots

Absolute Value

DisplayTogetherArray[GraphicsArray[Table[SpherePlot[\[LeftBracketingBar](Subscript[Y, l]^m)(θ,ϕ)\[RightBracketingBar],Mesh->False],{l,0,3},{m,0,l}]]]

Absolute Square

The angular distribution function (Subscript[Ω, l,m])(θ)=((|(Subscript[Y, l]^m)(θ,ϕ)|)^2).

(Subscript[Ω, l_,m_])(θ_):= (SuperStar[(Subscript[Y, l]^m)(θ,ϕ)])(Subscript[Y, l]^m)(θ,ϕ)

is axially symmetric with respect to the azimuthal angle ϕ. For example,

(Subscript[Ω, 3,1])(θ)

y[l_,m_]:=HoldForm[((\[LeftBracketingBar](Subscript[Y, l]^m)(θ,ϕ)\[RightBracketingBar])^2)]

DisplayTogetherArray[GraphicsArray[Table[SpherePlot[(Subscript[Ω, l,m])(θ),Mesh->False,PlotLabel->y[l,m]],{l,0,3},{m,0,l}]]]

Real Part

<<Utilities`Typesetting`

re=DisplayTogetherArray[GraphicsArray[Table[SpherePlot[((Re[(Subscript[Y, l]^m)(θ,ϕ)])^2),Mesh->False,PlotLabel->((Re[HoldForm[(Subscript[Y, l]^m)(θ,ϕ)]])^2)],{l,0,3},{m,0,l}]]]

Imaginary Part

im=DisplayTogetherArray[GraphicsArray[Prepend[#,{{Graphics3D[{}]}}]&@Table[SpherePlot[((Im[(Subscript[Y, l]^m)(θ,ϕ)])^2),Mesh->False,PlotLabel->((Im[HoldForm[(Subscript[Y, l]^m)(θ,ϕ)]])^2)],{l,1,3},{m,1,l}]]]

Show[GraphicsArray[Graphics/@{re,im}],ImageSize->500,GraphicsSpacing->-.1]