에르미트 인터폴레이션
📂수치해석 에르미트 인터폴레이션 정의 서로 다른 x 1 , ⋯ , x n x_{1} , \cdots , x_{n} x 1 , ⋯ , x n 의 데이터 ( x 1 , y 1 , y ’ 1 ) , ⋯ , ( x n , y n , y ’ n ) (x_{1}, y_{1} , y’_{1}) , \cdots , (x_{n} , y_{n}, y’_{n}) ( x 1 , y 1 , y ’ 1 ) , ⋯ , ( x n , y n , y ’ n ) 에 대해 { p ( x i ) = y i p ′ ( x i ) = y ’ i \begin{cases} p (x_{i} ) = y_{i}
\\ p '(x_{i} ) = y’_{i} \end{cases} { p ( x i ) = y i p ′ ( x i ) = y ’ i 와 deg H ≤ 2 n − 1 \deg H \le 2n-1 deg H ≤ 2 n − 1 을 만족하는 인터폴레이션 인 다항 함수 H H H 를 에르미트 인터폴레이션 hermite Interpolation 이라고 한다.
정리 존재성과 유일성 [1]: 주어진 데이터에 대해서 H H H 는 유일하게 존재한다. [2]: H n ( x ) = ∑ i = 1 n y i h i ( x ) + ∑ i = 1 n y ’ i h ~ i ( x ) H_{n} (x) = \sum_{i=1}^{n} y_{i} h_{i} (x) + \sum_{i=1}^{n} y’_{i} \tilde{h}_{i} (x) H n ( x ) = i = 1 ∑ n y i h i ( x ) + i = 1 ∑ n y ’ i h ~ i ( x ) [3]: H n ( x ) = f ( x 1 ) + ( x − x 1 ) f [ x 1 , x 1 ] + ( x − x 1 ) 2 f [ x 1 , x 1 , x ] + ⋯ + ( x − x 1 ) 2 ⋯ ( x − x n − 1 ) 2 ( x − x n ) f [ x 1 , x 1 , ⋯ , x n , x n ] \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*} H n ( x ) = f ( x 1 ) + ( x − x 1 ) f [ x 1 , x 1 ] + ( x − x 1 ) 2 f [ x 1 , x 1 , x ] + ⋯ + ( x − x 1 ) 2 ⋯ ( x − x n − 1 ) 2 ( x − x n ) f [ x 1 , x 1 , ⋯ , x n , x n ] 오차 분석 [4]: 실제 함수와의 오차 : 2 n 2n 2 n 번 미분가능한 f : R → R f : \mathbb{R} \to \mathbb{R} f : R → R 와 어떤 ξ x ∈ H { x 1 , ⋯ , x n , x } \xi_{x} \in \mathscr{H} \left\{ x_{1} , \cdots , x_{n} , x \right\} ξ x ∈ H { x 1 , ⋯ , x n , x } 에 대해 f f f 의 에르미트 인터폴레이션 H n H_{n} H n 은 다음을 만족한다.
f ( x ) − H n ( x ) = [ Ψ n ( x ) ] 2 ( 2 n ) ! f ( 2 n ) ( ξ x )
f(x) - H_{n} (x) = {{ [ \Psi_{n} (x) ]^2 } \over { (2n)! }} f^{(2n)} ( \xi_{x} )
f ( x ) − H n ( x ) = ( 2 n )! [ Ψ n ( x ) ] 2 f ( 2 n ) ( ξ x ) H { a , b , c , ⋯ } \mathscr{H} \left\{ a,b,c, \cdots \right\} H { a , b , c , ⋯ } 는 a , b , c , ⋯ a,b,c, \cdots a , b , c , ⋯ 를 포함하는 가장 작은 구간을 나타낸다.설명 에르미트 인터폴레이션은 폴리노미얼 인터폴레이션 에서 함수값만이 아니라 미분계수까지 동시에 인터폴레이트 하는 다항식에 관심이 있다. 미분을 반영했으니 폴리노미얼 인터폴레이션 에 비해서는 더 정확하다.
한편 한 번 미분한 것 이상에 대해서도 적용할 수 있으나, 그 모양은 몹시 복잡하다.
증명 [1] 전략: 복수의 에르미트 인터폴레이션이 있다고 가정한 후 모순임을 보인다.
H H H 와 다른 에르미트 폴리노미얼 G G G 가 존재한다고 가정하자.
R : = H − G R := H - G R := H − G 라고 하면 x = x 1 , ⋯ , x n x = x_{1}, \cdots , x_{n} x = x 1 , ⋯ , x n 에 대해 { H ( x i ) = G ( x i ) = y i H ’ ( x i ) = G ′ ( x i ) = y ’ i \begin{cases} H (x_{i} ) = G (x_{i} ) = y_{i}
\\ H’ (x_{i} ) = G' (x_{i} ) = y’_{i} \end{cases} { H ( x i ) = G ( x i ) = y i H ’ ( x i ) = G ′ ( x i ) = y ’ i 이므로
R ( x i ) = R ’ ( x i ) = 0
R(x_{i}) = R’(x_{i}) = 0
R ( x i ) = R ’ ( x i ) = 0
이는 x 1 , ⋯ , x n x_{1}, \cdots , x_{n} x 1 , ⋯ , x n 가 모두 R ( x ) = 0 R(x) = 0 R ( x ) = 0 의 2 2 2 차 중근라는 의미이므로, 어떤 폴리노미얼 q ( x ) q(x) q ( x ) 에 대해
R = q ( x ) ( x − x 1 ) 2 ⋯ ( x − x n ) 2
R = q(x) (x - x_{1} )^2 \cdots (x - x_{n} )^2
R = q ( x ) ( x − x 1 ) 2 ⋯ ( x − x n ) 2
이어야한다. 만약 q ( x ) ≠ 0 q(x) \ne 0 q ( x ) = 0 이면 deg R ≥ 2 n \deg R \ge 2n deg R ≥ 2 n 이므로 모순이고, q ( x ) = 0 q(x) = 0 q ( x ) = 0 이면 R ( x ) = 0 R(x) = 0 R ( x ) = 0 가 되므로 H ( x ) = G ( x ) H(x) = G(x) H ( x ) = G ( x ) 일 수밖에 없다.
■
[2] 전략: 라그랑주 공식 과 비슷하게 구체적으로 h i h_{i} h i 와 h ~ i \tilde{h}_{i} h ~ i 를 찾아낸다.
Part 1.
Ψ n ( x ) : = ( x − x 1 ) ⋯ ( x − x n )
\Psi_{n} (x) := (x-x_{1}) \cdots (x - x_{n})
Ψ n ( x ) := ( x − x 1 ) ⋯ ( x − x n )
Ψ n \Psi_{n} Ψ n 을 x x x 에 대해 미분하고 x = x j x = x_{j} x = x j 를 대입하면
Ψ ’ n ( x j ) : = ( x − x 1 ) ⋯ ( x − x j − 1 ) ( x − x j + 1 ) ⋯ ( x − x n )
\Psi’_{n} (x_{j}) := (x-x_{1}) \cdots (x - x_{j-1})(x - x_{j+1}) \cdots (x - x_{n})
Ψ ’ n ( x j ) := ( x − x 1 ) ⋯ ( x − x j − 1 ) ( x − x j + 1 ) ⋯ ( x − x n )
⟹ Ψ ( x ) n ( x − x j ) Ψ ’ n ( x j ) ≡ ( x − x 1 ) ⋯ ( x − x j − 1 ) ( x − x j + 1 ) ⋯ ( x − x n ) ( x j − x 1 ) ⋯ ( x j − x j − 1 ) ( x j − x j + 1 ) ⋯ ( x j − x n ) = l j ( x )
\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)
⟹ ( x − x j ) Ψ ’ n ( x j ) Ψ ( x ) n ≡ ( x j − x 1 ) ⋯ ( x j − x j − 1 ) ( x j − x j + 1 ) ⋯ ( x j − x n ) ( x − x 1 ) ⋯ ( x − x j − 1 ) ( x − x j + 1 ) ⋯ ( x − x n ) = l j ( x )
여기서 l i l_{i} l i 은 인덱스에 대해 크로네커 델타 함수 다.
Part 2.
h i ( x ) : = [ 1 − 2 l ’ i ( x i ) ( x − x i ) ] [ l i ( x ) ] 2
h_{i} (x) := \left[ 1 - 2 l’_{i} (x_{i}) (x -x_{i} ) \right] \left[ l_{i}(x) \right]^2
h i ( x ) := [ 1 − 2 l ’ i ( x i ) ( x − x i ) ] [ l i ( x ) ] 2
과 같이 h i h_{i} h i 를 정의하면 l i ( x j ) = δ i j l_{i} (x_{j}) = \delta_{ij} l i ( x j ) = δ ij 이므로
{ h i ( x j ) = δ i j h ’ i ( x j ) = 0
\begin{cases} h_{i} ( x_{j} ) = \delta_{ij}
\\ h’_{i} ( x_{j} ) = 0 \end{cases}
{ h i ( x j ) = δ ij h ’ i ( x j ) = 0
Part 3.
h ~ i ( x ) : = ( x − x i ) [ l i ( x ) ] 2
\tilde{h}_{i} (x) := (x -x_{i} ) \left[ l_{i}(x) \right]^2
h ~ i ( x ) := ( x − x i ) [ l i ( x ) ] 2
과 같이 h ~ i \tilde{h}_{i} h ~ i 를 정의하면 l i ( x j ) = δ i j l_{i} (x_{j}) = \delta_{ij} l i ( x j ) = δ ij 이므로
{ h ~ i ( x j ) = 0 h ~ ’ i ( x j ) = δ i j
\begin{cases} \tilde{h}_{i} ( x_{j} ) = 0
\\ \tilde{h}’_{i} ( x_{j} ) = \delta_{ij} \end{cases}
{ h ~ i ( x j ) = 0 h ~ ’ i ( x j ) = δ ij
Part 4.
H n ( x ) : = ∑ i = 1 n y i h i ( x ) + ∑ i = 1 n y ’ i h ~ i ( x )
H_{n} (x) := \sum_{i=1}^{n} y_{i} h_{i} (x) + \sum_{i=1}^{n} y’_{i} \tilde{h}_{i} (x)
H n ( x ) := i = 1 ∑ n y i h i ( x ) + i = 1 ∑ n y ’ i h ~ i ( x )
과 같이 H n H_{n} H n 를 정의하면 Part 2와 Part 3에 의해
{ H n ( x i ) = y i H n ′ ( x i ) = y ’ i
\begin{cases} H_{n}(x_{i}) = y_{i}
\\ H'_{n}(x_{i}) = y’_{i} \end{cases}
{ H n ( x i ) = y i H n ′ ( x i ) = y ’ i
■
[3] 전략: 뉴턴 계차상 공식 에서 시작해 그냥 공식이 성립함을 직접 보인다.
뉴턴 계차상 공식 에 따라 z 1 , ⋯ , z 2 n z_{1}, \cdots , z_{2n} z 1 , ⋯ , z 2 n 에 대해
f ( x ) − p 2 n − 1 ( x ) = ( x − z 1 ) ⋯ ( x − z 2 n ) f [ z 1 , ⋯ , z n , x ]
f(x) - p_{2n-1} (x) = (x - z_{1}) \cdots (x - z_{2n}) f [ z_{1} , \cdots , z_{n} , x ]
f ( x ) − p 2 n − 1 ( x ) = ( x − z 1 ) ⋯ ( x − z 2 n ) f [ z 1 , ⋯ , z n , x ]
z 2 i − 1 , z 2 i → x i z_{2i-1} , z_{2i} \to x_{i} z 2 i − 1 , z 2 i → x i 라고 하면
f ( x ) − p 2 n − 1 ( x ) = ( x − x 1 ) 2 ⋯ ( x − x n ) 2 f [ x 1 , x 1 , ⋯ , x n , x n , x ]
\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}
f ( x ) − p 2 n − 1 ( x ) = ( x − x 1 ) 2 ⋯ ( x − x n ) 2 f [ x 1 , x 1 , ⋯ , x n , x n , x ]
x = x 1 , ⋯ , x n x = x_{1}, \cdots , x_{n} x = x 1 , ⋯ , x n 를 직접 대입해보면
f ( x i ) − p 2 n − 1 ( x i ) = 0
f(x_{i} ) - p_{2n-1} (x_{i}) = 0
f ( x i ) − p 2 n − 1 ( x i ) = 0
한편 ( 1 ) (1) ( 1 ) 의 양변을 미분하면
A ( x ) : = ( x − x 1 ) 2 ⋯ ( x − x n ) 2 d d x f [ x 1 , x 1 , ⋯ , x n , x n , x ] B ( x ) : = 2 f [ x 1 , x 1 , ⋯ , x n , x n , x ] ∑ i = 1 n [ ( x − x i ) ∏ i ≠ j ( x − x j ) 2 ]
\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*}
A ( x ) := B ( x ) := ( x − x 1 ) 2 ⋯ ( x − x n ) 2 d x d f [ x 1 , x 1 , ⋯ , x n , x n , x ] 2 f [ x 1 , x 1 , ⋯ , x n , x n , x ] i = 1 ∑ n ( x − x i ) i = j ∏ ( x − x j ) 2
에 대해서
f ′ ( x ) − p 2 n − 1 ′ ( x ) = A ( x ) + B ( x )
f ' (x) - p '_{2n-1} (x) = A(x) + B(x)
f ′ ( x ) − p 2 n − 1 ′ ( x ) = A ( x ) + B ( x )
x = x 1 , ⋯ , x n x = x_{1}, \cdots , x_{n} x = x 1 , ⋯ , x n 를 직접 대입해보면 A ( x i ) = B ( x i ) = 0 A(x_{i}) = B(x_{i}) = 0 A ( x i ) = B ( x i ) = 0 이므로
f ′ ( x i ) − p 2 n − 1 ′ ( x i ) = 0
f ' (x_{i} ) - p '_{2n-1} (x_{i}) = 0
f ′ ( x i ) − p 2 n − 1 ′ ( x i ) = 0
따라서 H n ( x ) = p 2 n − 1 ( x ) H_{n} (x) = p_{2n-1} (x) H n ( x ) = p 2 n − 1 ( x ) 를 얻는다.
■
[4] [3]에 의해
f ( x ) − H n ( x ) = f [ x 1 , x 1 , ⋯ , x n , x n , x ]
f(x) - H_{n} (x) = f [ x_{1} , x_{1} , \cdots , x_{n} , x_{n} , x ]
f ( x ) − H n ( x ) = f [ x 1 , x 1 , ⋯ , x n , x n , x ]
에르미트-제노키 공식의 따름정리 :
[4]’: f [ x i , ⋯ , x i ⏟ n + 1 ] = 1 n ! f ( n ) ( x i ) f [ \underbrace{ x_{i} , \cdots , x_{i} }_{ n+1 } ] = {{1} \over {n!}} f^{(n)} ( x_{i} ) f [ n + 1 x i , ⋯ , x i ] = n ! 1 f ( n ) ( x i ) 에르미트-제노키 공식의 따름정리 에 따라 어떤 ξ x ∈ H { x 1 , ⋯ , x n , x } \xi_{x} \in \mathscr{H} \left\{ x_{1} , \cdots , x_{n} , x \right\} ξ x ∈ H { x 1 , ⋯ , x n , x } 에 대해
f ( x ) − H n ( x ) = [ Ψ n ( x ) ] 2 ( 2 n ) ! f ( 2 n ) ( ξ x )
f(x) - H_{n} (x) = {{ [ \Psi_{n} (x) ]^2 } \over { (2n)! }} f^{(2n)} ( \xi_{x} )
f ( x ) − H n ( x ) = ( 2 n )! [ Ψ n ( x ) ] 2 f ( 2 n ) ( ξ x )
■