DOSEIの日記

技術メモ+日常ログ

球面調和関数の勾配 (Gradient of spherical harmonics)

球面調和関数を Y_l^m とする。

球面上の関数 f(\phi,\theta) を次のように球面調和関数で展開する.

f(\phi, \theta) = \sum_l \sum_m c_l^m Y_l^m

この時、 f の球面勾配は,

\nabla_S f(\phi, \theta) = \sum_l \sum_m c_l^m \nabla_S Y_l^m

球面調和関数は、 Legenedre 陪関数によって、

Y_l^m(\phi,\theta) = p(l,m) \, P_l^m(\cos \theta) \, \exp(\sqrt{-1}m\phi)
とかける。ここで、 p は正規化係数で、ここではどうでもいいのでおいておく。
P_l^m(x)x 微分P'_l^m(x) と書くと、\nabla_S Y_l^m = \left(\,\frac{1}{\sin \theta} \frac{\partial}{\partial \phi} Y_l^m(\phi,\theta) ,\,\, \frac{\partial}{\partial \theta} Y_l^m(\phi,\theta)\,\right)^\top は、
\frac{1}{\sin \theta} \frac{\partial}{\partial \phi} Y_l^m(\phi,\theta) = \frac{1}{\sin \theta} \, p(l,m) \, P_l^m(\cos \theta) \, (\sqrt{-1}m)\exp(\sqrt{-1}m\phi)
\frac{\partial}{\partial \theta} Y_l^m(\phi,\theta) = p(l,m) \, (-\sin \theta) P'_l^m(\cos \theta) \, \exp(\sqrt{-1}m\phi)
となる。
たとえば、 GSL では、P_l^mP'_l^m を同時に計算してくれるので、この計算ができる。