6.3 直交多項式補間

直交多項式系を使用した直交多項式補間は数値積分などに応用される.

6.3.1 直交多項式系

区間 \([a, b]\) および密度 (重み) 関数 \(w(x)\) が与えられているとき, 次式を満たす多項式系 \({ p_n(x) }\) を直交多項式系という.
\[
(p_j, p_k)_w = \int_a^b p_j(x)p_k(x)w(x) dx \space (j \ne k)
\] ただし, \((p_j, p_k)_w\) は \(p_j\) と \(p_k\) の重み付き内積である.

\(w(x)\) は \([a, b]\) で連続で, 有限個の点で 0 になることを除いて \(w(x) \gt 0\) とする. また, \(\int_a^b x^kw(x) dx\) が \(k = 0, 1, 2, \dots\) について有界とする.

\(j = k\) のとき内積は正の値をとり, これを \(\lambda_k\) で表すことにする.

展開形の \(x^k\) の係数を \(\mu_k\) で表すことにする. ただし, \(\mu_0\) は正の定数とする.
\[
p_n(x) = \mu_0 + \mu_1x + \mu_2x^2 + \dots + \mu_nx^n
\]

6.3.2 直交多項式の性質

n 次直交多項式には次のような性質がある.

  • 区間 \([a, b]\) 内に n 個の相異なるゼロ点を持ち, すべて単根である.
  • 次のような3項漸化式が存在する (\(p_{-1}(x) = 0\) とする).
    \[
    p_k(x) = (\alpha_kx + \beta_k)p_{k-1}(x) – \gamma_kp_{k-2}(x) \space (k = 1, 2, \dots)
    \] ただし,
    \[
    \begin{align}
    & \alpha_k = \mu_k/\mu_{k-1} \\
    & \beta_k = -\alpha_k(xp_{k-1} . p_{k-1})/\lambda_{k-1} \\
    & \gamma_k = \alpha_k(xp_{k-1} . p_{k-2})/\lambda_{k-2} = \mu_k\mu_{k-2}\lambda_{k-1}/(\mu_{k-1}^2\lambda_{k-2})
    \end{align}
    \]
  • 次式 (クリストッフェル・ダルブーの恒等式) が成り立つ.
    \[
    \sum_{k=0}^{n-1} \frac{p_k(x)p_k(y)}{\lambda_k} = \frac{\mu_{n-1}}{\mu_n\lambda_{n-1}} \frac{p_n(x)p_{n-1}(y) – p_{n-1}(x)p_n(y)}{x – y}
    \]

6.3.3 代表的な直交多項式

以下のような直交多項式がよく知られている.

直交多項式 記号 \([a, b]\) \(w(x)\) 0 でない内積の値 \(\lambda_n\) 多項式の最高次の係数 \(\mu_n\)
ルジャンドル多項式 \(P_n(x)\) \([-1, 1]\) \(1\) \(2/(2n + 1)\) \(\prod_{k=1}^n (2k – 1)/k\)
チェビシェフ多項式 \(T_n(x)\) \([-1, 1]\) \((1 – x^2)^{-1/2}\) \(\pi/2 (n > 0), \pi (n = 0))\) \(2^{n-1} (n > 0), 1 (n = 0)\)
ラゲール多項式 \(L_n(x)\) \([0, +\infty]\) \(e^{-x}\) \(1\) \((-1)^n/n!\)
エルミート多項式 \(H_n(x)\) \([-\infty, +\infty]\) \(e^{-x^2}\) \(\pi^{1/2}2^nn!\) \(2^n\)

これらの直交多項式の関数値は漸化式を使って求めるとよい. それぞれの漸化式およびその導関数の漸化式は次のとおりである.

直交多項式 漸化式 導関数の漸化式
ルジャンドル多項式 \((n+1)P_{n+1}(x) = (2n + 1)xP_n(x) – nP_{n-1}(x),\)
\(P_1(x) = x, P_0(x) = 1\)
\((x^2 – 1)P’_n(x) = nxP_n(x) – nP_{n-1}(x)\)
チェビシェフ多項式 \(T_{n+1}(x) = 2xT_n(x) – T_{n-1}(x),\)
\(T_1(x) = x, T_0(x) = 1\)
\(T’_n(x) = -\frac{n}{2(1 – x^2)}(T_{n+1}(x) – T_{n-1}(x))\)
ラゲール多項式 \((n + 1)L_{n+1}(x) = (2n + 1 – x)L_n(x) – nL_{n-1}(x),\)
\(L_1(x) = 1 – x, L_0(x) = 1\)
\(xL’_n(x) = n(L_n(x) – L_{n-1}(x))\)
エルミート多項式 \(H_{n+1}(x) = 2xH_n(x) – 2nH_{n-1}(x),\)
\(H_1(x) = 2x, H_0(x) = 1\)
\(H’_n(x) = 2nH_{n-1}(x)\)
注 – チェビシェフ多項式は \(T_n(x) = cos(nt)\) (ただし \(x = cos(t)\)) のように三角関数で簡単に表すこともできる.

それぞれの関数をグラフで表示すると次のようになる.

ルジャンドル多項式 \(P_n(x)\)

チェビシェフ多項式 \(T_n(x)\)

ラゲール多項式 \(L_n(x)\)

エルミート多項式 \(H_n(x)\) (\(\mu_n\) でスケーリングしたもの)

6.3.4 直交多項式補間

ラグランジュ補間において, 標本点を等間隔ではなく n + 1 次直交多項式 \(p_{n+1}(x)\) のゼロ点にとることを考える. 直交多項式の性質よりそのゼロ点はすべて単根であるから, このようにとることは可能である.

\(x_0, x_1, \dots, x_n\) が直交多項式 \(p_{n+1}(x)\) のゼロ点であるとする. クリストッフェル・ダルブーの恒等式において \(x = x_i, y = x_j\) とおくと, \(i \ne j\) のときは
\[
\sum_{k=0}^n (p_k(x_i)p_k(x_j))/\lambda_k = 0 \space (i \ne j)
\] となり, \(i = j\) のときの値を \(1/w_i\) とおくと
\[
1/w_i = \sum_{k=0}^n (p_k(x_i))^2/\lambda_k > 0
\] である. すなわち, 次式が成り立つ.
\[
w_i \sum_{k=0}^n (p_k(x_i)p_k(x_j))/\lambda_k = \delta_{ij}
\] これは \(p_{n+1}(x)\) のゼロ点を標本点とするラグランジュ補間のラグランジュ補間係数となっている.
\[
f(x) = \sum_{i=0}^n (w_i \sum_{k=0}^n p_k(x_i)p_k(x)/\lambda_k) f(x_i)
\] さらに, これは次のように直交多項式による補間になっている.
\[
\begin{align}
& f(x) = \sum_{k=0}^n c_kp_k(x) \\
& ただし, c_k = 1/\lambda_k \sum_{i=0}^n w_ip_k(x_i)f(x_i) \\
\end{align}
\]

同じ次数の補間多項式において, 補間の誤差をできるだけ小さくするための標本点のとり方を決める問題を最良近似問題と呼び, どのような関数にも適用できる公式はなく, 関数ごとに求める必要がある.

しかし, 標本点を直交多項式のゼロ点にとる (直交多項式補間する) と最良に近い結果が得られることがわかっていて, 数値積分などに応用されている.

6.3.5 数値実験

チェビシェフ補間の例を示す.

区間 \([-1, 1]\) において \(n = 4, 8, 12, 20\) として (すなわち, 4, 8, 12, 20 次多項式を用いて) ルンゲの関数の補間を行う. ただし, n + 1 次チェビシェフ多項式のゼロ点における関数値をデータとして使用する.
\[
x_i = cos(\pi(2i + 1)/2n) \space (i = 0, 1, \dots, n)
\] これはチェビシェフ補間と呼ばれる.

標本点を等間隔にとった多項式補間 (6.1.3) のように両端で発散することはなく, 標本点数 n が大きくなるほど精度がよくなることがわかる.

チェビシェフ補間もあらゆる関数についてうまくいくわけではないが, 区間 \([-1, 1]\) で連続な 1 階導関数を持つ関数について \(n \to \infty\) のとき \(f(x)\) に収束することがわかっている.