dawg2

\([-1,1]\)を積分区間とする定積分 \(I=\displaystyle \int_{-1}^1 f(\xi) \,d\xi \) に対する Gauss-Legendre 積分の積分点 \(\xi_i\) と重み \(w_i\) \((i=1,2,\cdots,n)\)を自動的に計算する倍精度サブルーチン.
本ルーチンの特徴は以下の通りである.
  1. 一般に,Legendre多項式 \(P_j(x)\) の零点は \(P_{j-1}(x)\) の \(j-1\) 個の零点と\(-1, 1\)とから構成される \(j\) 個の区間内に必ず存在する.本ルーチンでは,この性質を再帰的に用いて \(n\)次 Legendre 多項式 \(P_n(x)\) の \(n\) 個の零点を求めている.それ故,サブルーチン dawgl よりも高精度に積分点を計算できる.

  2. サブルーチン dawgl では,重みを決定するのに,連立1次方程式を解いている.そのため,\(n \gg 1\) の場合,係数行列が悪条件になるため,重みの精度が極度に悪化する.本ルーチンでは,重みの計算に連立1次方程式ではなく,G.B.Rybickiの公式を用いている.それ故,積分点数 \(n\) を40以上まで取ることができる.