ガウス・ルジャンドルの求積法 (Gauss - Legendre Quadrature)

Takuichi Hirano (Tokyo Institute of Technology), November 4, 2008.
Mathematica 6

被積分関数(Integrand)

f[x_]:=(Sqrt[1-(x^2)])

Integrate[f[x],{x,-1,1}] //N

次数を決定

n=3;

Plot[LegendreP[n,x],{x,-1,1}]

分点の計算

xlis=x /. Solve[LegendreP[n,x]==0,x] //N

重みの計算

w[i_]:=(1/((D[LegendreP[n,x],x] /. x->xlis[[i]])))*Integrate[((LegendreP[n,x])/(x-xlis[[i]])),{x,-1,1}]

Table[w[i],{i,1,n}]//N

重みの計算（別解; オリジナルだと思うが、普通に思いつく）

Solve[Table[(∑_(j=0)^(n-1))(ww[j+1]*LegendreP[i-1,xlis[[j+1]]])==Integrate[LegendreP[i-1,x],{x,-1,1}],{i,1,n}],Table[ww[i],{i,1,n}]] //N

ガウス・ルジャンドル積分

a=-1.;
b=1.;
xi[i_]:=(((b+a)/2)+((b-a)/2)*xlis[[i]]);
((b-a)/2)*(∑_(i=1)^n)w[i]*f[xi[i]]