こんにちは。 山師です。
せっかく備忘録ブログを開設したので、最近勉強したことについて書こうと思います。 今回は、3次元の平面波を球面調和関数で展開することについてです。 少し物理をかじったことのある人が読むことを想定しつつ、なるべく平易に書くつもりですが、私自身の勉強不足もあり、不明瞭な点や誤りがあるかもしれません。 ぜひ、コメントでご意見をお聞かせください。
球面調和関数
この記事でいうところの球面調和関数とは、3次元ラプラス方程式を変数分離した際に出てくる角度方向の方程式の解です。 ラプラス方程式は変数分離でき、動径 \(r\) 方向と角度 \((\theta, \phi)\) 方向の微分方程式に分けることができます。 角度方向の微分方程式を満たす解は色々考えられますが、どの解もある関数 \(Y_{lm} (\theta, \phi)\) (ただし \((l, m)\) はある条件を満たす整数の組) を用いて表せることが知られています。 この \(Y_{lm}\) のことを球面調和関数と呼びます。
導出してみよう
実際にラプラス方程式を解いて、球面調和関数を導出してみましょう。 まず、ラプラス方程式とは、次のような偏微分方程式のことをいいます。 $$ \nabla^2 \psi = 0 $$ ここで、\(\psi\) は空間座標 \(x\)、\(y\)、\(z\) を引数に取り、スカラーの値 (複素数) を返す関数です。 また、 $$ \nabla^2 = \frac{\partial^2}{\partial x^2} + \frac{\partial^2}{\partial y^2} + \frac{\partial^2}{\partial z^2} $$ です。 \(x\)、\(y\)、\(z\) の3次元それぞれについて2階の偏微分が作用するわけです。 この方程式を満たす関数 \(\psi\) を求めることが、さしあたっての目標になります。
早速、変数分離してみましょう。 直交座標の偏微分を球座標 \((r, \theta, \phi)\) に変換するには、次の公式を利用します。 $$ \nabla^2 = \frac{1}{r^2}\frac{\partial}{\partial r} \left( r^2 \frac{\partial}{\partial r} \right) + \frac{1}{r^2 \sin \theta}\frac{\partial}{\partial \theta} \left( \sin \theta \frac{\partial}{\partial \theta} \right) + \frac{1}{r^2 \sin^2 \theta}\frac{\partial^2}{\partial \phi^2} $$ さらに、関数 \(\psi\) を分離し、 \(\psi = w(r)Y(\theta, \phi)\) と表すことにします。 そうすると、次の2つの方程式に分離することができます。 $$ \begin{cases} \frac{\partial}{\partial r} \left( r^2 \frac{\partial}{\partial r} \right) w(r) &= l(l+1) w(r) \\ \left( \frac{1}{\sin \theta}\frac{\partial}{\partial \theta} \left( \sin \theta \frac{\partial}{\partial \theta} \right) + \frac{1}{\sin^2 \theta}\frac{\partial^2}{\partial \phi^2} \right) Y(\theta, \phi) &= -l(l+1) Y(\theta, \phi) \end{cases} $$ ただし、 \(l\) は実数とします。 1つめの方程式は動径 \(r\) についての微分を含みますが、角度 \((\theta, \phi)\) についての微分は含みません。 対照的に、2つめの方程式は角度 \((\theta, \phi)\) についての微分を含みますが、動径についての微分は含みません。 したがって、 \(r\) と \((\theta, \phi)\) とで方程式を分離することができました。
角度方向の微分方程式を満たす解には、どのようなものがあるでしょうか。 結論を言えば、解は次のようになります。 $$ Y_{lm}(\theta, \phi) = (-1)^{(m+|m|)/2} \sqrt{\frac{2l+1}{4\pi} \frac{(l-|m|)!}{(l+|m|)!}} P_l^{|m|} ( \cos \theta ) e^{im\phi} $$ ただし、\(P_l^{|m|}\) はルジャンドルの陪多項式 (associated Legendre polynomials) 、 \(l\) は0以上の整数、\(m\) は \(-l \leq m \leq l\) を満たす整数です[1]\(l\) が0以上の整数でない場合、物理的に意味のある解ではなくなる。 福山、小形『物理数学I』(朝倉書店、2003) 第7章、第9章参照。。一般には、この式で定義される関数 \(Y_{lm}\) のことを球面調和関数と呼びます。 ラプラス方程式の一般解は、この球面調和関数を使って表すことができます。 詳細はここでは省きます (「ラプラス方程式」で検索すれば多くの資料を見ることができます) 。
直交完全性
こうして導出した球面調和関数 \(Y_{lm} (\theta, \phi)\) は、\((\theta, \phi)\) の球面上を定義域とし、複素数を返す関数です。\(Y_{lm}\) を使えば、色々な \((\theta, \phi)\) から複素数への関数を作れそうです。 実際に、球面調和関数は直交性と完全性というとても良い性質を持っています。 いずれも、球面調和関数の積分に関する性質です。 ここでは、直交完全性の証明には踏み込まず、どのような性質かを書きたいと思います。
直交性というのは、2つの球面調和関数を積分した際の性質で、具体的には次のようになります。 $$ \int \sin \theta {\rm d}\theta {\rm d}\phi Y_{l_1m_1}^*(\theta, \phi) Y_{l_2m_2}(\theta, \phi) = \delta_{l_1l_2} \delta_{m_1m_2} $$ 球面上で積分したとき、 \(l_1 = l_2\) かつ \(m_1 = m_2\) なら値は1、そうでなければ0というわけです。 これにより、ある関数を球面調和関数の線型結合で表したとき、その表し方は一意であるということが証明できます。
完全性というのは、\((\theta, \phi)\) の球面上を定義域とし、複素数を返す関数なら概ねどんなものでも[2]「どんなものでも」と書いたが、あまりにも変な関数は表せない。、球面調和関数の線型結合で表現できるという性質です。 具体的には、次のように表現されます。 $$ \sum_{l=0}^\infty \sum_{m=-l}^l Y_{lm}^* (\theta, \phi) Y_{lm} (\theta’, \phi’) = \frac{1}{\sin\theta} \delta (\theta – \theta’) \delta(\phi – \phi’) $$ これがなぜ完全性を表すのか? というのは少々飛躍がありますが、簡単に証明できます[3]どんな球面調和関数の線型結合でも表現できない関数 \(F(\theta, \phi) \neq 0\) を仮定した上で、 完全性の条件の式を掛けて積分すると矛盾が出てくる … Continue reading。
つまるところ、任意の \((\theta, \phi)\) 上の関数は、球面調和関数の線型結合で書けてしまうのです。 さらに、適切な関数 \(f_{lm}(r)\) のセットがあれば、任意の3次元空間上の関数を球面調和関数で展開できるのです。 素晴らしいですね!
平面波を展開する
球面調和関数で任意の関数が展開できるならば、平面波も展開できるはずです。 平面波とは、ここでは $$ f_{\vec{k}} \left( \vec{r} \right) = \exp \left( i \vec{k} \cdot \vec{r} \right) $$ で表される波のことをいいます。 \(\vec{k}\) は3次元の波数ベクトル、 \(\vec{r}\) は3次元空間上の位置を表します。 それぞれのベクトルは、球座標で \((k, \theta_k, \phi_k)\) および \((r, \theta_r, \phi_r)\) と表せるものとします。
とりあえず展開
まず、形式的に展開してみましょう。 $$ \exp \left( i \vec{k} \cdot \vec{r} \right) = \sum_{l=0}^{\infty} \sum_{m=-l}^{l} c_{lm} Y_{lm} (\theta_r, \phi_r) $$ この両辺に \(Y_{lm}^* (\theta_r, \phi_r)\) をかけて積分すると、球面調和関数の直交性により $$c_{lm} = \int \sin \theta_r {\rm d} \theta_r {\rm d} \phi_r \exp \left( i \vec{k} \cdot \vec{r} \right) Y_{lm}^* (\theta_r, \phi_r) $$ が得られます。 この積分を計算することが目標です。 しかし、積分はそのままでは計算が難しそうです。 なぜなら、内積 \(\vec{k} \cdot \vec{r}\) があまりにも複雑だからです。
座標の回転
積分を計算するには、座標の回転を考える必要があります。 具体的には、いまの表式では \((\theta_r, \phi_r)\) についての積分となっているところ、これを \(\vec{k}\) が新しい \(z\) 軸になるように新しい座標 \((\theta’, \phi’)\) を定義します。 そうすることで、内積が簡単に \(\vec{k} \cdot \vec{r} = kr \cos \theta’\) と表せるようになります。 なお、積分範囲は変わらず、また \(\sin \theta_r {\rm d} \theta_r {\rm d} \phi_r = \sin \theta’ {\rm d} \theta’ {\rm d} \phi’\) となります。
では、そのような座標の回転を考えたとき、\(Y_{lm}^* (\theta_r, \phi_r)\) はどのように変換されるでしょうか。 結論を言えば、次のように変換されます[4]Balashov、Grum-Grzhimailo、Kabachnik『Polarization and Correlation Phenomena in Atomic Collisions』 (Springer、2000) p. 200 あたりを参照。。 $$Y_{lm}^* (\theta_r, \phi_r) = \sum_{m’} D_{m’ m}^{l *} (0, -\theta_k, -\phi_k) Y_{lm’}^* (\theta’, \phi’)$$ ここで、\(D_{m’ m}^{l *} (…)\) はWignerのD関数と呼ばれる関数です。 積分は次のように改めることができます。 $$c_{lm} = \int \sin \theta’ {\rm d} \theta’ {\rm d} \phi’ \exp \left( i kr \cos \theta’ \right) \sum_{m’} D_{m’ m}^{l *} (0, -\theta_k, -\phi_k) Y_{lm’}^* (\theta’, \phi’)$$
公式でゴリ押し
さて、新しい積分の式を眺めると、\(\phi’\) に依存する部分は \(Y_{lm’}^* (\theta’, \phi’)\) だけであることがわかります。 そこで、\(\phi’\) に関する積分を実行して、 $$\int {\rm d} \phi’ Y_{lm’}^* (\theta’, \phi’) = \frac{1}{2} \sqrt{4 \pi (2l+1)} \delta_{m’ 0} P_l \left( \cos \theta’ \right)$$ とします。 ここで、 \(P_l\) はルジャンドル多項式 (Legendre polynomial) です (陪多項式ではない) 。 これを代入すると、積分は次のようになります。 $$c_{lm} = \frac{1}{2} \sqrt{4 \pi (2l+1)}D_{0m}^{l*} (0, – \theta_k, – \phi_k) \int \sin \theta’ {\rm d} \theta’ \exp \left( i kr \cos \theta’ \right) P_l \left( \cos \theta’ \right)$$
さらに公式集を頼って、$$D_{0m}^{l*} (0, – \theta_k, – \phi_k) = \sqrt{\frac{4\pi}{2l+1}} Y_{lm}^* (\theta_k, \phi_k)$$ とすると、以下の式を得ます。 $$c_{lm} = 2 \pi Y_{lm}^* (\theta_k, \phi_k) \int \sin \theta’ {\rm d} \theta’ \exp \left( i kr \cos \theta’ \right) P_l \left( \cos \theta’ \right)$$
この積分は、球ベッセル関数 (spherical Bessel function) という関数 (\(j_l\) と表記) で表せることが知られています[5]Abramowitz、Stegun『Handbook of Mathematical Functions』(第10版、1972) p. 438を参照。。 $$j_l(kr) = \frac{1}{2} (-i)^l \int \sin \theta’ {\rm d} \theta’ \exp \left( i kr \cos \theta’ \right) P_l \left( \cos \theta’ \right)$$ したがって、$$c_{lm} = 4 \pi i^l Y_{lm}^* (\theta_k, \phi_k) j_l (kr)$$ と求められ、平面波の展開ができました。
何に役立つか?
球面調和関数による展開は、動径方向と角度方向を分離して、計算を簡単にすることに役立ちます。 例えば、光による原子や原子核の反応を考えるとき、関数と平面波 (入射光) との積を積分することがしばしばあります。 $$\int {\rm d}^3 r \exp \left( i \vec{k} \cdot \vec{r} \right) G^* (\vec{r})$$ ここで、\(G (\vec{r})\) はなんらかの関数です。 これをそのまま数値的に計算しようとすると、空間1次元あたり \(N\) 個のメッシュに区切ったとして \(O (N^3)\) の計算量が必要です。 一方、\(\exp \left( i \vec{k} \cdot \vec{r} \right)\) や \(G (\vec{r})\) を球面調和関数で展開できたとすると、球面調和関数の直交性から $$\sum_{lm} \sum_{l’m’} \int r^2 {\rm d} r 4 \pi i^l j_l (kr) Y_{lm}^* (\theta_k, \phi_k) G_{l’m’}^* (r) \int \sin \theta {\rm d} \theta {\rm d} \phi Y_{lm} (\theta, \phi) Y_{l’m’}^* (\theta, \phi) \\ = \sum_{lm} \int r^2 {\rm d} r 4 \pi i^l j_l (kr) Y_{lm}^* (\theta_k, \phi_k) G_{lm}^* (r)$$ となって、積分が \(O(N)\) で計算できるようになります。 そのため、球面調和関数による展開は色々なところで応用されています[6]理由としては角運動量との関連もある。。
まとめ
この記事では、球面調和関数の性質を列挙し、球面調和関数を用いて平面波を展開できることを示しました。 球面調和関数による3次元空間上の関数の展開は、積分を簡略化するのに役立つため、物理学の色々な研究で用いられています。
MathJax って便利ですね……
脚注
↑1 | \(l\) が0以上の整数でない場合、物理的に意味のある解ではなくなる。 福山、小形『物理数学I』(朝倉書店、2003) 第7章、第9章参照。 |
---|---|
↑2 | 「どんなものでも」と書いたが、あまりにも変な関数は表せない。 |
↑3 | どんな球面調和関数の線型結合でも表現できない関数 \(F(\theta, \phi) \neq 0\) を仮定した上で、 完全性の条件の式を掛けて積分すると矛盾が出てくる (いたるところで0になってしまう) 。 したがってそのような \(F \neq 0\) は存在しない。 |
↑4 | Balashov、Grum-Grzhimailo、Kabachnik『Polarization and Correlation Phenomena in Atomic Collisions』 (Springer、2000) p. 200 あたりを参照。 |
↑5 | Abramowitz、Stegun『Handbook of Mathematical Functions』(第10版、1972) p. 438を参照。 |
↑6 | 理由としては角運動量との関連もある。 |