logo

제1종 체비셰프 다항함수 📂수치해석

제1종 체비셰프 다항함수

정의 1

$T_{n} (x) = \cos \left( n \cos^{-1} x \right)$ 을 제1종 체비셰프 다항함수라 한다.

기초 성질

재귀 공식

  • [0]: $$T_{n+1} (x) = 2x T_{n} (x) - T_{n-1} (X)$$

직교 집합

  • [1] 함수의 내적: $\displaystyle \left<f, g\right>:=\int_a^b f(x) g(x) w(x) dx$ 에 대해 웨이트weight $w$ 를 $\displaystyle w(x) := {{1} \over { \sqrt{1 - x^2} }}$ 와 같이 주면 $\left\{ T_{0} , T_{1}, T_{2}, \cdots \right\}$ 은 직교 집합이 된다.

체비셰프 노드

  • [2]: $T_{n} (x)$ 의 근은 $k=1, \cdots , n$ 에 대해 다음과 같은 체비셰프 노드다. $$x_{k} = \cos \left( {{2k-1} \over {2n}} \pi \right)$$

기함수와 우함수

  • [3]:

$$T_{n} (-x) = (-1)^{n} T_{n} (x)$$


  • 보통 $0 \le \theta \le \pi$ 에 대해 $\theta := \cos^{-1} x $ 라고 둔다.

같이보기

설명

$n = 0, \cdots , 3$ 에 대한 제1종 체비셰프 다항함수는 다음과 같이 나타난다.

$$ \begin{align*} T_{0} (x) =& 1 \\ T_{1} (x) =& x \\ T_{2} (x) =& 2x^{2} - 1 \\ T_{3} (x) =& 4x^{3} - 3x \end{align*} $$

제1종 체피셰프 다항함수는 수치해석 뿐만 아니라 응용수학 전반에서 아주 유용하게 쓰이는 함수로써, 제2종 체비셰프 다항함수와 더불어 흥미로운 성질들을 풍부하게 갖는다.

한편 제1종 체비셰프 다항함수는 거꾸로 $T_{0} (x) = 1$, $T_{1} (x) = x$ 그리고 재귀식 [0] 을 이용해서 정의할 수도 있다. 이는 제2종 체비셰프 다항함수 역시 마찬가지고 $T_{0} (x) = U_{0} (x) = 1$ 이므로, 제1종과 제2종을 부르는 이유는 $T_{1} (x) = 1 \cdot x$ 와 $U_{1} (x) = 2 \cdot x$ 때문이라고 보아도 무방하다.

증명

[0]

$T_{n} (x) = \cos \left( n \theta \right)$ 이므로 삼각함수의 덧셈정리에 의해 $$ 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) + T_{n-1} (x) = 2 \cos (n \theta ) \cos \theta = 2 T_{n} (x) x $$ $T_{n-1} (x)$ 를 이항해서 정리하면 정리하면 $$ T_{n+1} (x) = 2x T_{n} (x) - T_{n-1} (x) $$

[1]

$dx = - \sin \theta d \theta = - \sqrt{1 - x^2} d \theta$ 이므로 $$ \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*} $$ 따라서 $\left\{ T_{0} , T_{1}, T_{2}, \cdots \right\}$ 은 직교 집합이다.

[2]

정의에 따라 자명하다.

[3]

Case 1. $n=0,1$

$$ T_{0} (-x) = 1 = T_{0} (x) $$

$$ T_{1} (-x) = (-x) = -x = - T_{1} (x) $$


Case 2. $n \ge 2$ 이 짝수

$T_{n}(x)$ 에서 계수가 $0$ 이 아닌 모든 항의 차수는 짝수이므로 $T_{n}(-x) = T_{n}(x)$


Case 3. $n \ge 2$ 이 홀수

$T_{n}(x)$ 에서 계수가 $0$ 이 아닌 모든 항의 차수는 홀수이므로 $T_{n}(-x) = - T_{n}(x)$

구현

아래는 R로 작성된 체비셰프 다항함수의 코드다.

다항함수 자체를 반환해주므로 바로 계산에 사용할 수도 있다. n은 차수, kind로 종류를 주고 print 옵션을 참으로 주면 계수를 출력해준다.

20181120\_125712.png

출력되는 계수는 상수항부터 고차항순으로 출력되며, 제1종 체비셰프 다항함수는 $T_{3} (x) = 4x^{3} - 3x$ 이므로 제대로 구해졌음을 알 수 있다. 함숫값 역시 $T_{3} (3) = 4 \cdot 3^{3} - 3 \cdot 3 = 108-9 = 99$ 로 정확하게 계산되었다.

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,1); p(2)
p<-Chebyshev(3,1,T); p(3)

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