Tn(x) = cos(n・arccosx)
n は整数です。負の値でも構いませんが定義から
T−n(x) = Tn(x)
が成り立ちます。 arccosx は逆三角関数です。逆三角関数に馴染みのない人のために簡単に説明しておくと、
y = arccos(x) ⇔ x = cos(y)
という関係があります。高校数学で「 cosθ = a となるようなθ」のような書き方をすることがあると思いますが、それを逆三角関数を使って
θ = arccos(a)
のように表すわけです。 a には cosθ のとりうる範囲しか指定できないはずですから、逆三角関数の定義域は [−1,1] と極めて限定された範囲となります。また、
cos(arccos(a)) = a
です。第1種チェビシェフ多項式は cosx の倍角公式そのものです。たとえば n = 2 のとき、
T2(x) = cos(2arccosx) = 2cos2(arccosx) − 1
のように展開することができます。cos(arccosx) = x ですから、
T2(x) = 2x2−1
というように2次関数となります。チェビシェフ多項式は
Tn + 1(x) = 2xTn(x) − Tn−1(x)
という漸化式を満たすので、T0(x), T1(x) から順番に次の関数を得ていくほうが簡単です。
T0(x) から T3(x)グラフに描いてみます:
T0(x), T1(x), T2(x), T3(x) はそれぞれ直線、1次関数、2次関数、3次関数となっていますね。ただし、定義域が [−1, 1] の非常に狭い範囲に限定されていることに注意してください。
実はチェビシェフ多項式の集合 {Tn(x)} はそれ自身が直交系をなすわけではありませんが、 Tn(x) を 1 − x2 の 4 乗根で割った関数が互いに直交し、さらに pi / 2 で割ると正規直交系を作り出します。つまり次のような式が成り立っています。
第1種チェビシェフ多項式の応用
Tn(x) を用いて合成関数を作るときは、x の中に入れる関数 f(x) の値域(すなわち Tn(x) の定義域)に [−1, 1] という制限がかかります。たとえば f(x) = exp(x) のような形で T1(x) の中に放り込んでしまうと、exp(1) = 2.718 などの値が生じて T1(2.718) はたちまちエラーを返します(arccos2.718 が計算不能なことに起因します)。そうした場合は exp(x) の値域が [−1, 1] の中に入るように改めて x の定義域を決め直さなければなりません。もちろん面白いグラフを探そうと思うなら、そういう手間を惜しんではなりません。ちょっと試みてみましょう。 f(x) = exp(x) は f > 0 の単調増加関数ですから、新しい定義域は exp(x) → 0 となる x → −∞ から、exp(x) = 1 となる x = 0 まで、すなわち (−∞, 1] となります(左側は開区間)。
T3(expx), T5(expx), T7(expx) をまとめて描いてみます:
すべて x → −∞ で 0 に、 x → 0 で 1 に収束します。番号 n が増えるほど波の数が多くなりますが、波は原点付近で圧縮されていきます。
第1種チェビシェフ多項式の拡大定義
チェビシェフ多項式は n が整数で定義されていますが、 n を実数 ν(ニューと読みます) に拡大することは簡単です:Tν(x) = cos(ν・arccosx)
ただし、この場合はもはや多項式の形に書くことはできなくなります。漸化式もありません。グラフを解析するには上の式を使うしかないので手計算は大変ですが、 Excel を使えば別にどうということもありません。ν = 1 から 2.2 まで少しずつ変化させたグラフを載せてみます:
直線が少しずつたわむようにして2次関数へと変化し、そこからまた左上の先端が曲げられて3次関数へと変化していく様子が見てとれます。このような性質は n を実数へ拡大してみて初めてわかります。
チェビシェフ多項式は変数 x を xk ( k は正整数)という形に変えても、定義域 [−1, 1] をそのまま使えます。拡大定義された関数で ν = 2.5, 3.5, 4.5, 5.5 のグラフを描くとこうなります:
グラフは大きく2つのタイプに分けられますね。
ν = 2m + 1 / 2 のときは Tν(0) = −pi / 2
ν = 2m + 3 / 2 のときは Tν(0) = pi / 2
というように、原点でとりうる値が2種類あります。
第 2 種チェビシェフ多項式
第 2 種チェビシェフ多項式は次のように定義されます。x = cosθ とおけば、
という形で表されます。Un(x) は 漸化式
Un + 1(x) = 2xUn(x) − Un − 1(x)
を満たすので、 U0, U1 がわかれば n = 3 以降は簡単に表式を求めることができます:
U0(x) = 1
U1(x) = 2x
U2(x) = 4x2 − 1
U3(x) = 8x3 − 4x
・・・・・・・・・
それでは Excel のグラフで描いてみます:
第 1 種チェビシェフ多項式とよく似た関数系ですね。しかし、第 1 種チェビシェフ多項式が −1 ≦ x, Tn(x) ≦ 1 を満たしていたのに対して、第 2 種チェビシェフ多項式の場合は x に関しては −1 ≦ x ≦ 1 ですが、Un(x) の値に関しては制限がありません。 n が大きくなると狭い定義域の中で非常に大きな値域をとるようになります。たとえば n = 11 としてみると・・・・・・
両端で U11(±) = 12 という値をとります。両端の値と番号 n の間には、
Un(±1) = n + 1
という関係があります。ちなみに端点は最初の三角関数を用いた定義式では分母が 0 になるので、 x → ±1 の極限値で定義されることに注意してください。多項式の形では普通に ±1 の値を代入すれば簡単です。
Un(x) は Tn(x) と次のような形で関連づけられています。
Tn′(x) = n・Un−1(x)
つまり、 Tn(x) の任意の点における傾きが n・Un−1(x) で与えられるわけです。 Tn(x) が3次関数であれば、その導関数は2次関数ですから、n は1つずれる形になっています。
第 2 種チェビシェフ多項式の応用
第 1 種のときと同じように、n を実数に拡大定義してみます:そして n = 0 から 冢 = 0.2 刻みで n = 1 まで変化させてみます:
変遷過程のグラフ( n = 0.2, 0.4, 0.6, 0.8 )は直線 y = U1(x) を左端で大きく折り曲げたような形になっています。全て x → −1 で −∞ に発散する関数です。
第 1 種チェビシェフ多項式
関数名:CHEBT
Function CHEBT(n As Double, x As Double) As Double
CHEBT = Cos(n * WorksheetFunction.Acos(x))
End Function
CHEBT = Cos(n * WorksheetFunction.Acos(x))
End Function
CHEBT 関数は、"=CHEBT(n, x)" の形式で入力します。n, x ともに倍精度実数型(double)で指定します。一般に n は整数を指定しますが、CHEBT 関数は n が実数をとれるように拡大定義されています。 x は −1 〜 1 の範囲で指定してください。それ以外の数を指定するとエラーが返されます。