제1종 체비셰프 다항함수
📂수치해석 제1종 체비셰프 다항함수 정의 T n ( x ) = cos ( n cos − 1 x ) T_{n} (x) = \cos \left( n \cos^{-1} x \right) T n ( x ) = cos ( n cos − 1 x ) 을 제1종 체비셰프 다항함수 라 한다.
기초 성질 재귀 공식 [0]: 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 ) 직교 집합 [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 에 대해 웨이트weight w w w 를 w ( x ) : = 1 1 − x 2 \displaystyle w(x) := {{1} \over { \sqrt{1 - x^2} }} w ( x ) := 1 − x 2 1 와 같이 주면 { T 0 , T 1 , T 2 , ⋯ } \left\{ T_{0} , T_{1}, T_{2}, \cdots \right\} { T 0 , T 1 , T 2 , ⋯ } 은 직교 집합 이 된다. 체비셰프 노드 [2]: T n ( x ) T_{n} (x) T n ( x ) 의 근은 k = 1 , ⋯ , n k=1, \cdots , n k = 1 , ⋯ , n 에 대해 다음과 같은 체비셰프 노드 다.
x k = cos ( 2 k − 1 2 n π ) x_{k} = \cos \left( {{2k-1} \over {2n}} \pi \right) x k = cos ( 2 n 2 k − 1 π ) 기함수와 우함수 T n ( − x ) = ( − 1 ) n T n ( x ) T_{n} (-x) = (-1)^{n} T_{n} (x) T n ( − x ) = ( − 1 ) n T 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 에 대한 제1종 체비셰프 다항함수는 다음과 같이 나타난다.
T 0 ( x ) = 1 T 1 ( x ) = x T 2 ( x ) = 2 x 2 − 1 T 3 ( x ) = 4 x 3 − 3 x
\begin{align*}
T_{0} (x) =& 1
\\ T_{1} (x) =& x
\\ T_{2} (x) =& 2x^{2} - 1
\\ T_{3} (x) =& 4x^{3} - 3x
\end{align*}
T 0 ( x ) = T 1 ( x ) = T 2 ( x ) = T 3 ( x ) = 1 x 2 x 2 − 1 4 x 3 − 3 x
제1종 체피셰프 다항함수는 수치해석 뿐만 아니라 응용수학 전반에서 아주 유용하게 쓰이는 함수로써, 제2종 체비셰프 다항함수와 더불어 흥미로운 성질들을 풍부하게 갖는다.
한편 제1종 체비셰프 다항함수는 거꾸로 T 0 ( x ) = 1 T_{0} (x) = 1 T 0 ( x ) = 1 , T 1 ( x ) = x T_{1} (x) = x T 1 ( x ) = x 그리고 재귀식 [0] 을 이용해서 정의할 수도 있다. 이는 제2종 체비셰프 다항함수 역시 마찬가지고 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] T n ( x ) = cos ( n θ ) T_{n} (x) = \cos \left( n \theta \right) T n ( x ) = cos ( n θ ) 이므로 삼각함수의 덧셈정리 에 의해
T n ± 1 ( x ) = cos ( n ± 1 ) θ = cos ( n θ ) cos θ ∓ sin ( n θ ) sin θ
T_{n \pm 1} (x) = \cos (n \pm 1) \theta = \cos (n \theta ) \cos \theta \mp \sin ( n \theta ) \sin \theta
T n ± 1 ( x ) = cos ( n ± 1 ) θ = cos ( n θ ) cos θ ∓ sin ( n θ ) sin θ
양변끼리 더하면
T n + 1 ( x ) + T n − 1 ( x ) = 2 cos ( n θ ) cos θ = 2 T n ( x ) x
T_{n+1} (x) + T_{n-1} (x) = 2 \cos (n \theta ) \cos \theta = 2 T_{n} (x) x
T n + 1 ( x ) + T n − 1 ( x ) = 2 cos ( n θ ) cos θ = 2 T n ( x ) x
T n − 1 ( x ) T_{n-1} (x) T n − 1 ( x ) 를 이항해서 정리하면 정리하면
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 )
■
[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 θ 이므로
< T n , T m > = ∫ − 1 1 T n ( x ) T m ( x ) 1 1 − x 2 d x = − ∫ π 0 cos n θ cos m θ d θ = ∫ 0 π cos n θ cos m θ d θ = { π / 2 , n = m 0 , n ≠ m
\begin{align*}
\displaystyle \left< T_{n}, T_{m} \right> =& \int_{-1}^{1} T_{n} (x) T_{m} (x) {{1} \over { \sqrt{1 - x^2} }} dx
\\ =& - \int_{\pi}^{0} \cos n \theta \cos m \theta d \theta
\\ =& \int_{0}^{\pi} \cos n \theta \cos m \theta d \theta
\\ =& \begin{cases} \pi/2 &, n=m
\\ 0 &, n \ne m \end{cases}
\end{align*}
⟨ T n , T m ⟩ = = = = ∫ − 1 1 T n ( x ) T m ( x ) 1 − x 2 1 d x − ∫ π 0 cos n θ cos m θ d θ ∫ 0 π cos n θ cos m θ d θ { π /2 0 , n = m , n = m
따라서 { T 0 , T 1 , T 2 , ⋯ } \left\{ T_{0} , T_{1}, T_{2}, \cdots \right\} { T 0 , T 1 , T 2 , ⋯ } 은 직교 집합이다.
■
[2] 정의에 따라 자명하다.
■
[3] Case 1. n = 0 , 1 n=0,1 n = 0 , 1
T 0 ( − x ) = 1 = T 0 ( x )
T_{0} (-x) = 1 = T_{0} (x)
T 0 ( − x ) = 1 = T 0 ( x )
T 1 ( − x ) = ( − x ) = − x = − T 1 ( x )
T_{1} (-x) = (-x) = -x = - T_{1} (x)
T 1 ( − x ) = ( − x ) = − x = − T 1 ( x )
Case 2. n ≥ 2 n \ge 2 n ≥ 2 이 짝수
T n ( x ) T_{n}(x) T n ( x ) 에서 계수가 0 0 0 이 아닌 모든 항의 차수는 짝수이므로 T n ( − x ) = T n ( x ) T_{n}(-x) = T_{n}(x) T n ( − x ) = T n ( x )
Case 3. n ≥ 2 n \ge 2 n ≥ 2 이 홀수
T n ( x ) T_{n}(x) T n ( x ) 에서 계수가 0 0 0 이 아닌 모든 항의 차수는 홀수이므로 T n ( − x ) = − T n ( x ) T_{n}(-x) = - T_{n}(x) T n ( − x ) = − T n ( x )
■
구현 아래는 R 로 작성된 체비셰프 다항함수의 코드다.
다항함수 자체를 반환해주므로 바로 계산에 사용할 수도 있다. n
은 차수, kind
로 종류를 주고 print
옵션을 참으로 주면 계수를 출력해준다.
출력되는 계수는 상수항부터 고차항순으로 출력되며, 제1종 체비셰프 다항함수는 T 3 ( x ) = 4 x 3 − 3 x T_{3} (x) = 4x^{3} - 3x T 3 ( x ) = 4 x 3 − 3 x 이므로 제대로 구해졌음을 알 수 있다. 함숫값 역시 T 3 ( 3 ) = 4 ⋅ 3 3 − 3 ⋅ 3 = 108 − 9 = 99 T_{3} (3) = 4 \cdot 3^{3} - 3 \cdot 3 = 108-9 = 99 T 3 ( 3 ) = 4 ⋅ 3 3 − 3 ⋅ 3 = 108 − 9 = 99 로 정확하게 계산되었다.
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 , 1 ) ; p( 2 )
p<- Chebyshev( 3 , 1 , T ) ; p( 3 )