제2종 체비셰프 다항함수
정의
$$U_{n} (x) := {{1} \over {n+1} } T_{n+1} ’ (x) = {{\sin \left( ( n +1 ) \theta \right)} \over { \sin \theta }} $$ 을 제2종 체비셰프 다항함수라 한다.
기초 성질
재귀 공식
- [0]: $$U_{n+1} (x) = 2x U_{n} (x) - U_{n-1} (X)$$
직교 집합
- [1] 함수의 내적: $\displaystyle \left<f, g\right>:=\int_a^b f(x) g(x) w(x) dx$ 에 대해 웨이트 $w$ 를 $\displaystyle w(x) := \sqrt{1 - x^2}$ 와 같이 주면 $\left\{ U_{0} , U_{1}, U_{2}, \cdots \right\}$ 은 직교 집합이 된다.
체비셰프 노드
- [2]: $\displaystyle U_{n} (X)$ 의 근은 $k=1, \cdots , n$ 에 대해 다음과 같다. $$x_{k} = \cos \left( {{k} \over {n+1}} \pi \right)$$
기함수와 우함수
- [3]: $$U_{n} (-x) = (-1)^{n} U_{n} (x)$$
- 보통 $0 \le \theta \le \pi$ 에 대해 $\theta := \cos^{-1} x $ 라고 둔다.
같이보기
설명
$n = 0, \cdots , 3$ 에 대한 제2종 체비셰프 다항함수는 다음과 같이 나타난다.
$$ \begin{align*} U_{0} (x) =& 1 \\ U_{1} (x) =& 2x \\ U_{2} (x) =& 4x^{2} - 1 \\ U_{3} (x) =& 8x^{3} - 4x \end{align*} $$
$T_{n} (X)$ 은 제1종 체비셰프 다항함수다.
$\displaystyle {{1} \over {n+1} } T_{n+1} ’ (x) = {{\sin \left( ( n +1 ) \theta \right)} \over { \sin \theta }}$ 임을 보이는건 다음과 같이 역삼각함수의 미분법을 사용하면 된다. $$ \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*} $$ 제2종 체비셰프 다항함수는 수치해석 뿐만 아니라 응용수학 전반에서 아주 유용하게 쓰이는 함수로써, 제1종 체비셰프 다항함수와 더불어 흥미로운 성질들을 풍부하게 갖는다.
한편 제2종 체비셰프 다항함수는 거꾸로 $U_{0} (x) = 1$, $U_{1} (x) = 2x$ 그리고 재귀식 [0] 을 이용해서 정의할 수도 있다. 이는 제1종 체비셰프 다항함수 역시 마찬가지고 $T_{0} (x) = U_{0} (x) = 1$ 이므로, 제1종과 제2종을 부르는 이유는 $T_{1} (x) = 1 \cdot x$ 와 $U_{1} (x) = 2 \cdot x$ 때문이라고 보아도 무방하다.
증명
[0]
제1종 체비셰프 다항함수의 재귀식 $T_{n+1} (x) = 2x 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) = ( n+1 ) U_{n} (x) $ 이므로 $$ (n+1) U_{n} (x) = 2 T_{n} (x) + 2x n U_{n-1} (x) - (n-1) U_{n-2} (x) $$ $n$ 으로 묶어내면 $$ 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) $$
- [1]: $$U_{n} (x) - U_{n-2} (x) = 2 T_{n} (X)$$
$$ n \left[ U_{n} (x) - 2x U_{n-1} (x) + U_{n-2} (x) \right] = 0 $$ 양변을 $n$ 으로 나누고 정리하면 $$ U_{n+1} (x) = 2x U_{n} (x) - U_{n-1} (x) $$
■
[1]
$dx = - \sin \theta d \theta = - \sqrt{1 - x^2} d \theta$ 이고 $\sin \theta = \sqrt{1 - x^2}$ 이므로 $$ \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*} $$ 따라서 $\left\{ U_{0} , U_{1}, U_{2}, \cdots \right\}$ 은 직교 집합이다.
■
[2]
정의에 따라 자명하다.
■
[3]
Case 1. $n=0,1$
$$ \begin{align*} U_{0} (-x) =& 1 = U_{0} (x) \\ U_{1} (-x) =& 2(-x) = -2x = - U_{1} (x) \end{align*} $$
Case 2. $n \ge 2$ 이 짝수
$U_{n}(x)$ 에서 계수가 $0$ 이 아닌 모든 항의 차수는 짝수이므로 $U_{n}(-x) = U_{n}(x)$
Case 3. $n \ge 2$ 이 홀수
$U_{n}(x)$ 에서 계수가 $0$ 이 아닌 모든 항의 차수는 홀수이므로 $U_{n}(-x) = - U_{n}(x)$
■
구현
아래는 R로 작성된 체비셰프 다항함수의 코드다.
다항함수 자체를 반환해주므로 바로 계산에 사용할 수도 있다. n은 차수, kind로 종류를 주고 print 옵션을 참으로 주면 계수를 출력해준다.

출력되는 계수는 상수항부터 고차항순으로 출력되며, 제2종 체비셰프 다항함수는 $U_{3} (x) = 8x^{3} - 4x$ 이므로 제대로 구해졌음을 알 수 있다. 함숫값 역시 $U_{3} (3) = 8 \cdot 3^{3} - 4 \cdot 3 = 216-12 = 204$ 로 정확하게 계산되었다.
Chebyshev<-function(n,kind=1,print=F)
{
p<-NA
if((round(n)-n)!=0 | n<0) {stop("Wrong Degree!!")} #degree must be nonnegative integer
if(!kind%in%(1:2)) {stop("Wrong Kind!!")} #kind must be 1 or 2
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)

저희들의 저서 「줄리아 프로그래밍」이 2024 세종도서 학술부문에 선정되었습니다!

