# Integrating spherical harmonics

I am trying to simply check the integration/normalization condition on the SperhicalHarmonic functions that are built into Mathematica. So basically, I just want to check that the following integral

Integrate[Conjugate[SphericalHarmonicY[l, m, ϑ, φ]]  SphericalHarmonicY[l', m', ϑ, φ] Sin[ϑ], {φ,
0, 2 π}, {ϑ, 0, π}]


evalutes to delta_{l,l'}delta_{m,m'}

But the evaluation just gives me:

\!$$\*SubsuperscriptBox[\(∫$$, $$0$$, $$2\ π$$]$$\*SubsuperscriptBox[\(∫$$, $$0$$, $$π$$]$$Conjugate[ SphericalHarmonicY[l, m, ϑ, φ]]\ Sin[ϑ]\ \ SphericalHarmonicY[\* SuperscriptBox["l", "′", MultilineFunction->None], \* SuperscriptBox["m", "′", MultilineFunction->None], ϑ, φ]$$ \
\[DifferentialD]ϑ \[DifferentialD]φ\)\)


For anyone having trouble reading that mess (sorry!), the evaluation doesn't do anything. It just returns the expression for the double integral, unevaluated

If anyone has any advice it would be much appreciated. Thank you

• Your problem might be that you used the confusing symbols l' and m', which Mathematica interprets as derivatives. If you use instead ll and mm and restrict them to integer values, perhaps it will work fine. – David G. Stork Feb 18 '15 at 2:44

As a general rule, avoid using l' and m', which Mathematica interprets as derivatives.

Mathematica has difficulty performing the integration for symbolic constants l, m, ll and mm, but can verify orthonormality for a finite range of those values:

    Table[Assuming[{l, ll, m, mm} \[Element] Integers,
Integrate[
Conjugate[
SphericalHarmonicY[l,
m, \[CurlyTheta], \[CurlyPhi]]] SphericalHarmonicY[ll,
mm, \[CurlyTheta], \[CurlyPhi]] Sin[\[CurlyTheta]], {\
\[CurlyTheta], 0, \[Pi]}, {\[CurlyPhi], 0, 2 \[Pi]}]], {l, 1, 3}, {ll,
1, 3}, {m, -l, l}, {mm, -ll, ll}] // MatrixForm


$\left( \begin{array}{ccc} \left( \begin{array}{ccc} 1 & 0 & 0 \\ 0 & 1 & 0 \\ 0 & 0 & 1 \\ \end{array} \right) & \left( \begin{array}{ccccc} 0 & 0 & 0 & 0 & 0 \\ 0 & 0 & 0 & 0 & 0 \\ 0 & 0 & 0 & 0 & 0 \\ \end{array} \right) & \left( \begin{array}{ccccccc} 0 & 0 & 0 & 0 & 0 & 0 & 0 \\ 0 & 0 & 0 & 0 & 0 & 0 & 0 \\ 0 & 0 & 0 & 0 & 0 & 0 & 0 \\ \end{array} \right) \\ \left( \begin{array}{ccc} 0 & 0 & 0 \\ 0 & 0 & 0 \\ 0 & 0 & 0 \\ 0 & 0 & 0 \\ 0 & 0 & 0 \\ \end{array} \right) & \left( \begin{array}{ccccc} 1 & 0 & 0 & 0 & 0 \\ 0 & 1 & 0 & 0 & 0 \\ 0 & 0 & 1 & 0 & 0 \\ 0 & 0 & 0 & 1 & 0 \\ 0 & 0 & 0 & 0 & 1 \\ \end{array} \right) & \left( \begin{array}{ccccccc} 0 & 0 & 0 & 0 & 0 & 0 & 0 \\ 0 & 0 & 0 & 0 & 0 & 0 & 0 \\ 0 & 0 & 0 & 0 & 0 & 0 & 0 \\ 0 & 0 & 0 & 0 & 0 & 0 & 0 \\ 0 & 0 & 0 & 0 & 0 & 0 & 0 \\ \end{array} \right) \\ \left( \begin{array}{ccc} 0 & 0 & 0 \\ 0 & 0 & 0 \\ 0 & 0 & 0 \\ 0 & 0 & 0 \\ 0 & 0 & 0 \\ 0 & 0 & 0 \\ 0 & 0 & 0 \\ \end{array} \right) & \left( \begin{array}{ccccc} 0 & 0 & 0 & 0 & 0 \\ 0 & 0 & 0 & 0 & 0 \\ 0 & 0 & 0 & 0 & 0 \\ 0 & 0 & 0 & 0 & 0 \\ 0 & 0 & 0 & 0 & 0 \\ 0 & 0 & 0 & 0 & 0 \\ 0 & 0 & 0 & 0 & 0 \\ \end{array} \right) & \left( \begin{array}{ccccccc} 1 & 0 & 0 & 0 & 0 & 0 & 0 \\ 0 & 1 & 0 & 0 & 0 & 0 & 0 \\ 0 & 0 & 1 & 0 & 0 & 0 & 0 \\ 0 & 0 & 0 & 1 & 0 & 0 & 0 \\ 0 & 0 & 0 & 0 & 1 & 0 & 0 \\ 0 & 0 & 0 & 0 & 0 & 1 & 0 \\ 0 & 0 & 0 & 0 & 0 & 0 & 1 \\ \end{array} \right) \\ \end{array} \right)$

• Usually people only care about m values between -l and +l, so the table won't be square. But your main point is that we need to be explicit about the indices, and I think there's no better way of getting results (+1). – Jens Feb 18 '15 at 3:54