第一種チェビシェフ多項式
定義 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] 関数の内積: 重み$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種チェビシェフ多項式も同様であり、第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]
ケース 1. $n=0,1$
$$ T_{0} (-x) = 1 = T_{0} (x) $$
$$ T_{1} (-x) = (-x) = -x = - T_{1} (x) $$
ケース 2. $n \ge 2$ が偶数
$T_{n}(x)$ の、係数 $0$ 以外の全ての項が偶数次であるから、$T_{n}(-x) = T_{n}(x)$
ケース 3. $n \ge 2$ が奇数
$T_{n}(x)$ の、係数 $0$ 以外の全ての項が奇数次であるから、$T_{n}(-x) = - T_{n}(x)$
■
実装
以下は、Rで書かれたチェビシェフ多項式のコードだ。
多項式自体が返されるので、直接計算に使うことができる。n
は次数、kind
で種類を指定し、print
オプションをtrueにすると、係数が出力される。
出力される係数は、定数項から高次項順に出力され、第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)
Atkinson. (1989). 数値解析入門(第2版): p211. ↩︎