logo

エルミート補間 📂数値解析

エルミート補間

定義 1

違う$x_{1} , \cdots , x_{n}$のデータ$(x_{1}, y_{1} , y’_{1}) , \cdots , (x_{n} , y_{n}, y’_{n})$に対して$\begin{cases} p (x_{i} ) = y_{i} \\ p '(x_{i} ) = y’_{i} \end{cases}$と$\deg H \le 2n-1$を満たすインターポレーションである多項関数$H$をエルミート補間hermite Interpolationと言う。

定理

存在性と一意性

ラグランジュ形式

  • [2]: $$H_{n} (x) = \sum_{i=1}^{n} y_{i} h_{i} (x) + \sum_{i=1}^{n} y’_{i} \tilde{h}_{i} (x)$$

ニュートンの割差形式

  • [3]: $$\begin{align*}H_{n} (x) =& f(x_{1}) + (x - x_{1}) f [ x_{1} , x_{1} ] + (x - x_{1})^2 f [ x_{1} , x_{1} , x ] + \cdots \\ & + (x - x_{1})^2 \cdots (x - x_{n-1})^2 (x - x_{n}) f [ x_{1} , x_{1} , \cdots, x_{n} , x_{n} ]\end{align*}$$

誤差分析

  • [4]: 実際の関数との誤差 : $2n$回微分可能な$f : \mathbb{R} \to \mathbb{R}$といくつかの$\xi_{x} \in \mathscr{H} \left\{ x_{1} , \cdots , x_{n} , x \right\}$に対して$f$のエルミート補間$H_{n}$は以下を満たす。 $$ f(x) - H_{n} (x) = {{ [ \Psi_{n} (x) ]^2 } \over { (2n)! }} f^{(2n)} ( \xi_{x} ) $$

  • $\mathscr{H} \left\{ a,b,c, \cdots \right\}$は$a,b,c, \cdots$を含む最小の区間を表わす。

説明

エルミート補間は多項式補間で関数値だけでなく微分係数も同時に補間する多項式に関心がある。微分が反映されるので、多項式補間よりも正確だ。

しかし、一回以上の微分にも適用可能だが、その形は非常に複雑だ。

証明

1

戦略: 複数のエルミート補間があると仮定して矛盾を示す。


$H$と別のエルミート多項式$G$が存在すると仮定する。

$R := H - G$とすると$x = x_{1}, \cdots , x_{n}$に対して$\begin{cases} H (x_{i} ) = G (x_{i} ) = y_{i} \\ H’ (x_{i} ) = G' (x_{i} ) = y’_{i} \end{cases}$なので、 $$ R(x_{i}) = R’(x_{i}) = 0 $$ これは$x_{1}, \cdots , x_{n}$がすべて$R(x) = 0$の$2$重根という意味なので、ある多項式$q(x)$に対して、 $$ R = q(x) (x - x_{1} )^2 \cdots (x - x_{n} )^2 $$ もし$q(x) \ne 0$なら$\deg R \ge 2n$になるので矛盾で、$q(x) = 0$なら$R(x) = 0$でなければならず、$H(x) = G(x)$しかない。

[2]

戦略: ラグランジュの公式と似て、具体的に$h_{i}$と$\tilde{h}_{i}$を見つける。


パート1.

$$ \Psi_{n} (x) := (x-x_{1}) \cdots (x - x_{n}) $$ $\Psi_{n}$を$x$に対して微分して$x = x_{j}$を代入すると、 $$ \Psi’_{n} (x_{j}) := (x-x_{1}) \cdots (x - x_{j-1})(x - x_{j+1}) \cdots (x - x_{n}) $$

$$ \implies {{ \Psi (x)_{n} } \over { (x - x_{j}) \Psi’_{n}(x_{j}) }} \equiv {{ (x - x_{1} ) \cdots (x - x_{j-1} ) (x - x_{j+1} ) \cdots (x - x_{n} ) } \over { (x_{j} - x_{1} ) \cdots (x_{j} - x_{j-1} ) (x_{j} - x_{j+1} ) \cdots (x_{j} - x_{n} ) }} = l_{j} (x) $$ ここで$l_{i}$はインデックスに対するクロネッカーのデルタ関数を示す


パート2.

$$ h_{i} (x) := \left[ 1 - 2 l’_{i} (x_{i}) (x -x_{i} ) \right] \left[ l_{i}(x) \right]^2 $$ として$h_{i}$を定義すると、$l_{i} (x_{j}) = \delta_{ij}$なので、 $$ \begin{cases} h_{i} ( x_{j} ) = \delta_{ij} \\ h’_{i} ( x_{j} ) = 0 \end{cases} $$


パート3.

$$ \tilde{h}_{i} (x) := (x -x_{i} ) \left[ l_{i}(x) \right]^2 $$ として$\tilde{h}_{i}$を定義すると、$l_{i} (x_{j}) = \delta_{ij}$なので、 $$ \begin{cases} \tilde{h}_{i} ( x_{j} ) = 0 \\ \tilde{h}’_{i} ( x_{j} ) = \delta_{ij} \end{cases} $$


パート4.

$$ H_{n} (x) := \sum_{i=1}^{n} y_{i} h_{i} (x) + \sum_{i=1}^{n} y’_{i} \tilde{h}_{i} (x) $$ として$H_{n}$を定義すると、パート2とパート3により、 $$ \begin{cases} H_{n}(x_{i}) = y_{i} \\ H’_{n}(x_{i}) = y’_{i} \end{cases} $$

[3]

戦略: ニュートンの割差公式から始めて、そのまま公式が成り立つことを直接示す。


ニュートンの割差公式により$z_{1}, \cdots , z_{2n}$に対して、 $$ f(x) - p_{2n-1} (x) = (x - z_{1}) \cdots (x - z_{2n}) f [ z_{1} , \cdots , z_{n} , x ] $$ $z_{2i-1} , z_{2i} \to x_{i}$とすると、 $$ \begin{equation} f(x) - p_{2n-1} (x) = (x - x_{1})^2 \cdots (x - x_{n})^2 f [ x_{1} , x_{1} , \cdots , x_{n} , x_{n} , x ] \end{equation} $$ $x = x_{1}, \cdots , x_{n}$を直接代入してみると、 $$ f(x_{i} ) - p_{2n-1} (x_{i}) = 0 $$ 一方で$(1)$の両辺を微分すると、 $$ \begin{align*} A(x) :=& (x - x_{1})^2 \cdots (x - x_{n})^2 {{ d } \over { dx }} f [ x_{1} , x_{1} , \cdots , x_{n} , x_{n} , x ] \\ B(x) :=& 2 f [ x_{1} , x_{1} , \cdots , x_{n} , x_{n} , x ] \sum_{i=1}^{n} \left[ (x -x_{i} ) \prod_{i \ne j} (x - x_{j})^2 \right] \end{align*} $$ に対して、 $$ f ' (x) - p '_{2n-1} (x) = A(x) + B(x) $$ $x = x_{1}, \cdots , x_{n}$を直接代入してみると$A(x_{i}) = B(x_{i}) = 0$なので、 $$ f ' (x_{i} ) - p '_{2n-1} (x_{i}) = 0 $$ したがって$H_{n} (x) = p_{2n-1} (x)$を得る。

[4]

[3]により、 $$ f(x) - H_{n} (x) = f [ x_{1} , x_{1} , \cdots , x_{n} , x_{n} , x ] $$

エルミート-ジェノキ公式の帰結:

  • [4]’: $$f [ \underbrace{ x_{i} , \cdots , x_{i} }_{ n+1 } ] = {{1} \over {n!}} f^{(n)} ( x_{i} ) $$

エルミート-ジェノキ公式の帰結により、ある$\xi_{x} \in \mathscr{H} \left\{ x_{1} , \cdots , x_{n} , x \right\}$に対して、 $$ f(x) - H_{n} (x) = {{ [ \Psi_{n} (x) ]^2 } \over { (2n)! }} f^{(2n)} ( \xi_{x} ) $$


  1. Atkinson. (1989). An Introduction to Numerical Analysis(2nd Edition): p159. ↩︎