読み書きプログラミング

日常のプログラミングで気づいたことを綴っています

(7) Legendre多項式

Legendre多項式は、以下の母函数を展開することで得られます。

この性質から、Legendre多項式は双極子ポテンシャルを距離の逆数で展開する際に現れます。

早速展開してみましょう。

/* 4.1.2m */
legendreGen : taylor((1 - 2*z*t + t^2)^(-1/2), t, 0, 4);

使用した機能


例えば、3次のLegendre多項式は3次の係数を取り出すことで得られます。

/* 4.1.3m */
coeff(legendreGen, t, 3);

使用した機能


求めた3次のLegendre多項式Maximaのライブラリ関数と一致しているか確認しておきましょう。

legendre_p(3, z);
ratsimp(%);

使用した機能


Legendreの多項式は以下のRodriguesの公式からも求めることができます。


実際にMaxima微分させてみましょう。

/* 4.1.6m */
leg(n, z) := diff((z^2 - 1)^n, z, n))/(2^n*n!)$
ratsimp(leg(3, z));

使用した機能