제2종 체비셰프 다항함수
📂수치해석 제2종 체비셰프 다항함수 정의 U n ( x ) : = 1 n + 1 T n + 1 ’ ( x ) = sin ( ( n + 1 ) θ ) sin θ U_{n} (x) := {{1} \over {n+1} } T_{n+1} ’ (x) = {{\sin \left( ( n +1 ) \theta \right)} \over { \sin \theta }}
U n ( x ) := n + 1 1 T n + 1 ’ ( x ) = sin θ sin ( ( n + 1 ) θ )
을 제2종 체비셰프 다항함수 라 한다.
기초 성질 재귀 공식 [0]: U n + 1 ( x ) = 2 x U n ( x ) − U n − 1 ( X ) U_{n+1} (x) = 2x U_{n} (x) - U_{n-1} (X) U n + 1 ( x ) = 2 x U n ( x ) − U n − 1 ( X ) 직교 집합 [1] 함수의 내적 : < f , g > : = ∫ a b f ( x ) g ( x ) w ( x ) d x \displaystyle \left<f, g\right>:=\int_a^b f(x) g(x) w(x) dx ⟨ f , g ⟩ := ∫ a b f ( x ) g ( x ) w ( x ) d x 에 대해 웨이트 w w w 를 w ( x ) : = 1 − x 2 \displaystyle w(x) := \sqrt{1 - x^2} w ( x ) := 1 − x 2 와 같이 주면 { U 0 , U 1 , U 2 , ⋯ } \left\{ U_{0} , U_{1}, U_{2}, \cdots \right\} { U 0 , U 1 , U 2 , ⋯ } 은 직교 집합 이 된다. 체비셰프 노드 [2]: U n ( X ) \displaystyle U_{n} (X) U n ( X ) 의 근은 k = 1 , ⋯ , n k=1, \cdots , n k = 1 , ⋯ , n 에 대해 다음과 같다.
x k = cos ( k n + 1 π ) x_{k} = \cos \left( {{k} \over {n+1}} \pi \right) x k = cos ( n + 1 k π ) 기함수와 우함수 [3]: U n ( − x ) = ( − 1 ) n U n ( x ) U_{n} (-x) = (-1)^{n} U_{n} (x) U n ( − x ) = ( − 1 ) n U n ( x ) 보통 0 ≤ θ ≤ π 0 \le \theta \le \pi 0 ≤ θ ≤ π 에 대해 θ : = cos − 1 x \theta := \cos^{-1} x θ := cos − 1 x 라고 둔다. 같이보기 설명 n = 0 , ⋯ , 3 n = 0, \cdots , 3 n = 0 , ⋯ , 3 에 대한 제2종 체비셰프 다항함수는 다음과 같이 나타난다.
U 0 ( x ) = 1 U 1 ( x ) = 2 x U 2 ( x ) = 4 x 2 − 1 U 3 ( x ) = 8 x 3 − 4 x
\begin{align*}
U_{0} (x) =& 1
\\ U_{1} (x) =& 2x
\\ U_{2} (x) =& 4x^{2} - 1
\\ U_{3} (x) =& 8x^{3} - 4x
\end{align*}
U 0 ( x ) = U 1 ( x ) = U 2 ( x ) = U 3 ( x ) = 1 2 x 4 x 2 − 1 8 x 3 − 4 x
T n ( X ) T_{n} (X) T n ( X ) 은 제1종 체비셰프 다항함수 다.
1 n + 1 T n + 1 ’ ( x ) = sin ( ( n + 1 ) θ ) sin θ \displaystyle {{1} \over {n+1} } T_{n+1} ’ (x) = {{\sin \left( ( n +1 ) \theta \right)} \over { \sin \theta }} n + 1 1 T n + 1 ’ ( x ) = sin θ sin ( ( n + 1 ) θ ) 임을 보이는건 다음과 같이 역삼각함수의 미분법 을 사용하면 된다.
U n ( x ) = 1 n + 1 [ cos ( ( n + 1 ) cos − 1 x ) ] ’ = n + 1 n + 1 − 1 1 − x 2 [ − sin ( ( n + 1 ) cos − 1 x ) ] = sin ( ( n + 1 ) cos − 1 x ) 1 − x 2 = sin ( ( n + 1 ) θ ) sin θ
\begin{align*}
\displaystyle U_{n} (x) =& {{1} \over {n+1} } \left[ \cos \left( ( n +1 ) \cos^{-1} x \right) \right]’
\\ &= {{n+1} \over {n+1} } {{ - 1} \over { \sqrt{ 1 - x^{2} } }} \left[ - \sin \left( ( n +1 ) \cos^{-1} x \right) \right]
\\ =& {{\sin \left( ( n +1 ) \cos^{-1} x \right)} \over { \sqrt{ 1 - x^{2} } }}
\\ =& {{ \sin \left( (n+1) \theta \right) } \over {\sin \theta }}
\end{align*}
U n ( x ) = = = n + 1 1 [ cos ( ( n + 1 ) cos − 1 x ) ] ’ = n + 1 n + 1 1 − x 2 − 1 [ − sin ( ( n + 1 ) cos − 1 x ) ] 1 − x 2 sin ( ( n + 1 ) cos − 1 x ) sin θ sin ( ( n + 1 ) θ )
제2종 체비셰프 다항함수는 수치해석 뿐만 아니라 응용수학 전반에서 아주 유용하게 쓰이는 함수로써, 제1종 체비셰프 다항함수와 더불어 흥미로운 성질들을 풍부하게 갖는다.
한편 제2종 체비셰프 다항함수는 거꾸로 U 0 ( x ) = 1 U_{0} (x) = 1 U 0 ( x ) = 1 , U 1 ( x ) = 2 x U_{1} (x) = 2x U 1 ( x ) = 2 x 그리고 재귀식 [0] 을 이용해서 정의할 수도 있다. 이는 제1종 체비셰프 다항함수 역시 마찬가지고 T 0 ( x ) = U 0 ( x ) = 1 T_{0} (x) = U_{0} (x) = 1 T 0 ( x ) = U 0 ( x ) = 1 이므로, 제1종과 제2종을 부르는 이유는 T 1 ( x ) = 1 ⋅ x T_{1} (x) = 1 \cdot x T 1 ( x ) = 1 ⋅ x 와 U 1 ( x ) = 2 ⋅ x U_{1} (x) = 2 \cdot x U 1 ( x ) = 2 ⋅ x 때문이라고 보아도 무방하다.
증명 [0] 제1종 체비셰프 다항함수의 재귀식 T n + 1 ( x ) = 2 x T n ( x ) − T n − 1 ( X ) T_{n+1} (x) = 2x T_{n} (x) - T_{n-1} (X) T n + 1 ( x ) = 2 x T n ( x ) − T n − 1 ( X ) 의 양변을 미분하면
T n + 1 ′ ( x ) = 2 T n ( x ) + 2 x T n ′ ( x ) − T n − 1 ′ ( x )
T_{n+1} ' (x) = 2 T_{n} (x) + 2x T_{n} ' (x) - T_{n-1} ' (x)
T n + 1 ′ ( x ) = 2 T n ( x ) + 2 x T n ′ ( x ) − T n − 1 ′ ( x )
T n + 1 ′ ( x ) = ( n + 1 ) U n ( x ) T_{n+1} ' (x) = ( n+1 ) U_{n} (x) T n + 1 ′ ( x ) = ( n + 1 ) U n ( x ) 이므로
( n + 1 ) U n ( x ) = 2 T n ( x ) + 2 x n U n − 1 ( x ) − ( n − 1 ) U n − 2 ( x )
(n+1) U_{n} (x) = 2 T_{n} (x) + 2x n U_{n-1} (x) - (n-1) U_{n-2} (x)
( n + 1 ) U n ( x ) = 2 T n ( x ) + 2 x n U n − 1 ( x ) − ( n − 1 ) U n − 2 ( x )
n n n 으로 묶어내면
n [ U n ( x ) − 2 x U n − 1 ( x ) + U n − 2 ( x ) ] = 2 T n ( x ) + U n − 2 ( x ) − U n ( x )
n \left[ U_{n} (x) - 2x U_{n-1} (x) + U_{n-2} (x) \right] = 2 T_{n} (x) + U_{n-2} (x) - U_{n} (x)
n [ U n ( x ) − 2 x U n − 1 ( x ) + U n − 2 ( x ) ] = 2 T n ( x ) + U n − 2 ( x ) − U n ( x )
제1종, 제2종 체피셰프 다항함수의 관계 :
[1]: U n ( x ) − U n − 2 ( x ) = 2 T n ( X ) U_{n} (x) - U_{n-2} (x) = 2 T_{n} (X) U n ( x ) − U n − 2 ( x ) = 2 T n ( X ) n [ U n ( x ) − 2 x U n − 1 ( x ) + U n − 2 ( x ) ] = 0
n \left[ U_{n} (x) - 2x U_{n-1} (x) + U_{n-2} (x) \right] = 0
n [ U n ( x ) − 2 x U n − 1 ( x ) + U n − 2 ( x ) ] = 0
양변을 n n n 으로 나누고 정리하면
U n + 1 ( x ) = 2 x U n ( x ) − U n − 1 ( x )
U_{n+1} (x) = 2x U_{n} (x) - U_{n-1} (x)
U n + 1 ( x ) = 2 x U n ( x ) − U n − 1 ( x )
■
[1] d x = − sin θ d θ = − 1 − x 2 d θ dx = - \sin \theta d \theta = - \sqrt{1 - x^2} d \theta d x = − sin θ d θ = − 1 − x 2 d θ 이고 sin θ = 1 − x 2 \sin \theta = \sqrt{1 - x^2} sin θ = 1 − x 2 이므로
< U n , U m > = ∫ − 1 1 U n ( x ) U m ( x ) 1 − x 2 d x = − ∫ π 0 sin ( ( n + 1 ) θ ) sin ( ( m + 1 ) θ ) sin 2 θ sin 2 θ d θ = ∫ 0 π sin ( ( n + 1 ) θ ) sin ( ( m + 1 ) θ ) d θ = { π / 2 , n = m 0 , n ≠ m
\begin{align*}
\displaystyle \left< U_{n}, U_{m} \right> =& \int_{-1}^{1} U_{n} (x) U_{m} (x) \sqrt{1 - x^2} d x
\\ =& - \int_{\pi}^{0} {{ \sin \left( (n + 1 ) \theta \right) \sin \left( (m + 1 ) \theta \right) \sin^2 \theta } \over { \sin^2 \theta}} d \theta
\\ =& \int_{0}^{\pi} \sin \left( (n + 1 ) \theta \right) \sin \left( (m + 1 ) \theta \right) d \theta
\\ =& \begin{cases} \pi/2 &, n=m
\\ 0 &, n \ne m \end{cases}
\end{align*}
⟨ U n , U m ⟩ = = = = ∫ − 1 1 U n ( x ) U m ( x ) 1 − x 2 d x − ∫ π 0 sin 2 θ sin ( ( n + 1 ) θ ) sin ( ( m + 1 ) θ ) sin 2 θ d θ ∫ 0 π sin ( ( n + 1 ) θ ) sin ( ( m + 1 ) θ ) d θ { π /2 0 , n = m , n = m
따라서 { U 0 , U 1 , U 2 , ⋯ } \left\{ U_{0} , U_{1}, U_{2}, \cdots \right\} { U 0 , U 1 , U 2 , ⋯ } 은 직교 집합이다.
■
[2] 정의에 따라 자명하다.
■
[3] Case 1. n = 0 , 1 n=0,1 n = 0 , 1
U 0 ( − x ) = 1 = U 0 ( x ) U 1 ( − x ) = 2 ( − x ) = − 2 x = − U 1 ( x )
\begin{align*}
U_{0} (-x) =& 1 = U_{0} (x)
\\ U_{1} (-x) =& 2(-x) = -2x = - U_{1} (x)
\end{align*}
U 0 ( − x ) = U 1 ( − x ) = 1 = U 0 ( x ) 2 ( − x ) = − 2 x = − U 1 ( x )
Case 2. n ≥ 2 n \ge 2 n ≥ 2 이 짝수
U n ( x ) U_{n}(x) U n ( x ) 에서 계수가 0 0 0 이 아닌 모든 항의 차수는 짝수이므로 U n ( − x ) = U n ( x ) U_{n}(-x) = U_{n}(x) U n ( − x ) = U n ( x )
Case 3. n ≥ 2 n \ge 2 n ≥ 2 이 홀수
U n ( x ) U_{n}(x) U n ( x ) 에서 계수가 0 0 0 이 아닌 모든 항의 차수는 홀수이므로 U n ( − x ) = − U n ( x ) U_{n}(-x) = - U_{n}(x) U n ( − x ) = − U n ( x )
■
구현 아래는 R 로 작성된 체비셰프 다항함수의 코드다.
다항함수 자체를 반환해주므로 바로 계산에 사용할 수도 있다. n
은 차수, kind
로 종류를 주고 print
옵션을 참으로 주면 계수를 출력해준다.
출력되는 계수는 상수항부터 고차항순으로 출력되며, 제2종 체비셰프 다항함수는 U 3 ( x ) = 8 x 3 − 4 x U_{3} (x) = 8x^{3} - 4x U 3 ( x ) = 8 x 3 − 4 x 이므로 제대로 구해졌음을 알 수 있다. 함숫값 역시 U 3 ( 3 ) = 8 ⋅ 3 3 − 4 ⋅ 3 = 216 − 12 = 204 U_{3} (3) = 8 \cdot 3^{3} - 4 \cdot 3 = 216-12 = 204 U 3 ( 3 ) = 8 ⋅ 3 3 − 4 ⋅ 3 = 216 − 12 = 204 로 정확하게 계산되었다.
Chebyshev<- function ( n, kind= 1 , print= F )
{
p<- NA
if ( ( round ( n) - n) != 0 | n< 0 ) { stop( "Wrong Degree!!" ) }
if ( ! kind%in% ( 1 : 2 ) ) { stop( "Wrong Kind!!" ) }
if ( n== 0 )
{
if ( print) { print( 1 ) }
p<- function ( x) { return ( 1 ) }
return ( p)
}
if ( n== 1 )
{
if ( print) { print( c ( 0 , kind) ) }
p<- function ( x) { return ( kind* x) }
return ( p)
}
coef0<- c ( 1 )
coef1<- c ( 0 , kind)
for ( i in 1 : ( n- 1 ) )
{
coef2<- ( c ( 0 , 2 * coef1) - c ( coef0, 0 , 0 ) )
coef0<- coef1
coef1<- coef2
}
if ( print) { print( coef2) }
p<- function ( x) { return ( sum ( coef2* x^ ( 0 : n) ) ) }
return ( p)
}
p<- Chebyshev( 1 , 2 ) ; p( 2 )
p<- Chebyshev( 3 , 2 , T ) ; p( 3 )