Help us understand the problem. What is going on with this article?

cosのn倍角の公式を基本対称式で求める

More than 1 year has passed since last update.

cosのn倍角

$\cos n\theta$ の $n$ 倍角の公式が $\cos\theta$ についての多項式で表せることはわりと知られているようですが,具体的に $\cos^{\square}\theta$ の係数がいくつかを言及していることは少ないように思えます.

概略

結論を先にいうと,次が成り立ちます.

$$\begin{align}
\cos n\theta = \sum_{k=0}^{\lfloor n/2\rfloor}(-1)^k2^{n-2k-1}\frac{n}{n-k}\binom{n-k}{k}\cos^{n-2k}\theta
\end{align}$$

ここで, $\lfloor \square \rfloor$ は $\square$ を超えない最大の整数,すなわち日本でいうガウス記号です.$\cos n\theta$ において $\cos\theta$ を文字 $x$ に置き換えた式をチェビシェフ多項式といい, $T_n(x)$ で表します.すなわち
$$\begin{align}
T_n(x)= \sum_{k=0}^{\lfloor n/2\rfloor}(-1)^k2^{n-2k-1}\frac{n}{n-k}\binom{n-k}{k}x^{n-2k}\tag{☆}
\end{align}$$
です.この式を眺めていれば,チェビシェフ多項式の最高次数の項の係数が $2^{n-1}$ だったり,偶関数または奇関数にしかならないことは一目瞭然……など,これまで三項間漸化式で帰納的に証明していた内容も,直接的に証明できるかもしれません.

$n$ 倍角の一番簡単な証明法は知りませんが,$a, b$ の対称式である $a^n+b^n$ を基本対称式 $a+b, a b$ だけで表せることができれば直ちに証明できます.実際次が成り立ちます.

$$\begin{align}
a^n+b^n = \sum_{k=0}^{\lfloor n/2 \rfloor}(-1)^k\frac{n}{n-k}\binom{n-k}{k}(a+b)^{n-2k}(ab)^{k}\tag{★}
\end{align}$$

これと,かの有名なオイラーの公式
$$e^{\theta i} = \cos\theta + i\sin\theta $$
を用います. $\theta$ を $-\theta$ に置き換えれば
$$e^{-\theta i} = \cos\theta - i\sin\theta $$
ですから,両辺を足せば
$$2\cos\theta = e^{\theta i}+e^{-\theta i}$$
が成り立ちます.ここで $\theta$ を $n\theta$ に置き換えると
$$2\cos n\theta = e^{n\theta i}+e^{-n\theta i}$$
となります.よって,$(★)$ に $a=e^{\theta i}, b=e^{-\theta i}$ を代入すると
$$2\cos n\theta = \sum_{k=0}^{\lfloor n/2 \rfloor}(-1)^k\frac{n}{n-k}\binom{n-k}{k}(2\cos \theta)^{n-2k}(e^0)^{k}$$
となり,両辺を $2$ で割れば $n$ 倍角の公式を得ます.よって $n$ 倍角の公式は $(★)$ の証明が全ての鍵を握っています.

Sympyで確認してみる

$(☆)$ が正しい式なのか心配なのでsympyで確認してみましょう.

from sympy import *

def mychebyshev(n, x):
    n = Integer(n)
    return sum([(-1)**k * 2**(n-2*k-1) * n/(n-k) * binomial(n-k, k) * x**(n-2*k) for k in range(floor(n/2)+1)])

x=Symbol('x')
for k in range(1,10):#自家製
    print(mychebyshev(k, x))
x
2*x**2 - 1
4*x**3 - 3*x
8*x**4 - 8*x**2 + 1
16*x**5 - 20*x**3 + 5*x
32*x**6 - 48*x**4 + 18*x**2 - 1
64*x**7 - 112*x**5 + 56*x**3 - 7*x
128*x**8 - 256*x**6 + 160*x**4 - 32*x**2 + 1
256*x**9 - 576*x**7 + 432*x**5 - 120*x**3 + 9*x

sympyにはもともとチェビシェフ多項式を求める関数 chebyshevt_poly が用意されています.

for k in range(1,10):#sympy製
    print(chebyshevt_poly(k, x))
x
2*x**2 - 1
4*x**3 - 3*x
8*x**4 - 8*x**2 + 1
16*x**5 - 20*x**3 + 5*x
32*x**6 - 48*x**4 + 18*x**2 - 1
64*x**7 - 112*x**5 + 56*x**3 - 7*x
128*x**8 - 256*x**6 + 160*x**4 - 32*x**2 + 1
256*x**9 - 576*x**7 + 432*x**5 - 120*x**3 + 9*x

一致していました.

★証明のための準備

形式的冪級数のある性質

ここで形式的冪級数のある性質に触れておきます.一般の形式的冪級数
$$f(x) = a_0 + a_1 x + a_2 x^2 + \cdots$$
の $x$ に数または式を代入するのはご法度なのですが,定数項が $0$ である形式的冪級数
$$g(x) = b_1 x + b_2x^2 + \cdots$$
を代入するのは認められます.つまり
$$f(g(x))= a_0 + a_1g(x) + a_2g(x)^2 + \cdots$$
のような式を考えてもよいのです.ここらの話を厳密にすると,代入というよりは代入のようなことができるというだけで,意外と話は複雑なのですが,詳しくは触れません.ようは,$x^n$ の係数がちゃんと計算できるような芸当は許されるのです.$g(x)$ の形からして,$g(x)^{n+1} + g(x)^{n+2} + \cdots$ においては $x^{n}$ より次数の大きい項しか現れません.よって,$f(g(x))$ の $x^n$ の係数は,形式的冪級数の有限和である
$$a_0 + a_1 g(x) + \cdots + a_n g(x)^n$$
の $x^n$ の係数になるわけです.ちなみに $g(x)$ の定数項が $0$ 以外の数だと,$f(g(x))$ の定数項が数の無限和になるので,定まらないことは直感的に明らかだと思います.

さて,この代入に関して次の定理が成り立ちます:$f_1(x) f_2(x) = f_3(x)$ ならば
$$f_1(g(x))f_2(g(x))=f_3(g(x)).$$
証明はややこしいので割愛します.これを認めると
$$
(1-x)(1+x+x^2+\cdots)=1
$$
の両辺に $g(x)$ を代入して
$$
(1-g(x))(1+g(x)+g(x)^2+\cdots) = 1
$$
すなわち
$$
\frac{1}{1-g(x)} = 1 + g(x) + g(x)^2 + \cdots
$$
が成り立ちます.

二項係数について

$\displaystyle\binom{n}{k}$ は二項係数 ${}_nC_k$ を表す記号です.パスカルの三角形から分かる
$$ {}_nC_k + {}_nC_{k+1} = {}_{n+1}C_{k+1}$$
という有名公式は
$$
\binom{n}{k} + \binom{n}{k+1} = \binom{n+1}{k+1}
$$
と表せます.移項した
$$
\binom{n+1}{k+1} - \binom{n}{k+1} = \binom{n}{k}
$$
を今回使用します.また,若干マイナーですが重要な公式
$$
k{}_{n}C_{k} = n{}_{n-1}C_{k-1}
$$

$$k \binom{n}{k}=n\binom{n-1}{k-1}$$
と表せます.両辺を $k$ で割ると
$$\binom{n}{k}=\frac{n}{k}\binom{n-1}{k-1}$$
を得ますが,あたかも $\displaystyle\binom{n}{k}$ から $n$ と $k$ をくくり出しているようなイメージをもたせます.噂によると,二項係数をこの記号で表しているのはこの公式を想起させるためだとか.

★の証明

非常に面倒です.証明には形式的冪級数を用います.
$$
\varphi(x) = \sum_{n=0}^{\infty}(a^n+b^n)x^n
$$
とします.(形式的)無限等比級数の公式より
$$\begin{align}
\sum_{n=0}^{\infty} a^nx^n &= 1 + a x + a^2x^2 + \cdots = \frac{1}{1-a x}\\
\sum_{n=0}^{\infty} b^nx^n &= 1 + b x + b^2x^2 + \cdots = \frac{1}{1-b x}
\end{align}$$
ですので,
$$\begin{align}
\varphi(x)
&= \sum_{n=0}^{\infty}(a^n+b^n)x^n\\
&= \sum_{n=0}^\infty a^n x^n + \sum_{n=0}^{\infty} b^n x^n\\
&= \frac{1}{1-a x} + \frac{1}{1-b x}\\
&=\frac{1-b x + 1-a x}{(1-a x)(1-b x)}\\
&=\frac{2-(a+b)x}{1-(a+b)x + ab x^2}
\end{align}$$
となります.ここで
$$\sigma_1=a + b, \quad \sigma_2 = ab$$
と置くと
$$
\varphi(x) = \frac{2-\sigma_1 x}{1-(\sigma_1 x - \sigma_2 x^2)}
$$
と表せます.ここで
$$
\frac{1}{1-(\sigma_1 x -\sigma_2 x^2)} = \sum_{n=0}^\infty c_n x^n
$$
と置くとき,$x=0$ で $c_0=1$ をえるので
$$\begin{align}
\varphi(x)&=\frac{2-\sigma_1 x}{1-(\sigma_1 x - \sigma_2 x^2)}\\
&=(2-\sigma_1 x)\sum_{n=0}^\infty c_n x^n\\
&=2\sum_{n=0}^\infty c_n x^n - \sum_{n=0}^\infty \sigma_1c_n x^{n+1}\\
&=2c_0+\sum_{n=1}^\infty 2c_n x^n - \sum_{n=1}^\infty \sigma_1c_{n-1} x^{n}\\
&=2 + \sum_{n=1}^{\infty}(2c_n-\sigma_1c_{n-1})x^n
\end{align}$$
となります.よって $c_n$ を求めて $2c_n - \sigma_1 c_{n-1}$ を整理したものが $a^n+b^n$ の基本対称式表示です.

$$ f(x) =\sigma_1 x - \sigma_2 x^2$$
と置くと
$$\begin{align}
\frac{1}{1-(\sigma_1 x -\sigma_2 x^2)}
&=\frac{1}{1-f(x)}\\
&= 1 + f(x) + f(x)^2 + f(x)^3+ \cdots\\
&= 1+(\sigma_1 x - \sigma_2 x^2)+(\sigma_1 x - \sigma_2 x^2)^2 + (\sigma_1 x - \sigma_2 x^2)^3 + \cdots
\end{align}$$
となるので,ここから $x^n$ の項だけを抽出して,係数の和を求めます.$n$ が偶数のときは,$f(x)^{n/2}$ のときにはじめて $x^n$ の係数が現れ,$f(x)^{n+1}$ 以降は $x^n$ は出てきません.したがって
$$
f(x)^{n/2} + f(x)^{n/2+1} + \cdots + f(x)^n
$$
の中から $x^n$ の項を探せば過不足ありません.また,故あって,この式は逆順にした
$$
f(x)^n + f(x)^{n-1} + \cdots + f(x)^{n-n/2} = \sum_{k=0}^{n/2} f(x)^{n-k} \tag{1}
$$
とした方がのちの公式化がスムーズにいきます.また, $n$ が奇数のときはややこしいのですが,
$$
f(x)^{(n+1)/2} + f(x)^{(n+1)/2+1} + \cdots + f(x)^n
$$
にしか $x^n$ の項は出てきません.例によって逆順にした
$$
f(x)^n + f(x)^{n-1} + \cdots + f(x)^{n-(n-1)/2} = \sum_{k=0}^{(n-1)/2} f(x)^{n-k}\tag{2}
$$
で考えます.さらに突き詰めると,$n$ が奇数のときは
$$
(n-1)/2 = \lfloor n/2 \rfloor
$$
が成り立ちます.$n$が偶数のときは当然 $n/2 = \lfloor n/2 \rfloor$ だから $(1)$ と $(2)$ を統合できます.すなわち,$x^n$ が出てくる項の総和は,$n$ の偶奇によらず
$$
\sum_{k=0}^{\lfloor n/2 \rfloor} f(x)^{n-k}
$$
ということになります.この中から $x^n$ だけの項を抽出します.二項定理より
$$\begin{align}
f(x)^{n-k}
&=(\sigma_1 x - \sigma_2 x^2)^{n-k}\\
&=x^{n-k}(\sigma_1 - \sigma_2 x)^{n-k}\\
&=x^{n-k}\sum_{i=0}^{n-k} \binom{n-k}{i}\sigma_1^{n-k-i} (-\sigma_2)^{i} x^{i}\\
&=\sum_{i=0}^{n-k} \binom{n-k}{i}\sigma_1^{n-k-i} (-\sigma_2)^{i} x^{n-k+i}.\tag{3}
\end{align}$$

$(3)$ において, $k=i$ となる項が $x^n$ の項です.よって,$x^n$ の係数 $c_n$ は
$$
c_n = \sum_{k=0}^{\lfloor n/2 \rfloor}\binom{n-k}{k} \sigma_1^{n-2k}(-\sigma_2)^{k}
$$
です.したがって
$$\begin{align}
2c_n-\sigma_1 c_{n-1}
&=2\sum_{k=0}^{\lfloor n/2 \rfloor}\binom{n-k}{k} \sigma_1^{n-2k}(-\sigma_2)^{k}-\sigma_1\sum_{k=0}^{\lfloor n/2 \rfloor}\binom{n-1-k}{k} \sigma_1^{n-1-2k}(-\sigma_2)^{k}\\
&=\sum_{k=0}^{\lfloor n/2 \rfloor}2\binom{n-k}{k} \sigma_1^{n-2k}(-\sigma_2)^{k}-\sum_{k=0}^{\lfloor n/2 \rfloor}\binom{n-k-1}{k} \sigma_1^{n-2k}(-\sigma_2)^{k}\\
&=\sum_{k=0}^{\lfloor n/2 \rfloor}\left(2\binom{n-k}{k}-\binom{n-k-1}{k}\right)\sigma_1^{n-2k}(-\sigma_2)^{k}
\end{align}$$
ここで
$$\begin{align}
2\binom{n-k}{k}-\binom{n-k-1}{k}
&=
\binom{n-k}{k}+\binom{n-k}{k}-\binom{n-k-1}{k}\\
&=\binom{n-k}{k} + \binom{n-k-1}{k-1}\\
&=\binom{n-k}{k} + \frac{k}{n-k}\frac{n-k}{k}\binom{n-k-1}{k-1}\\
&=\frac{n-k}{n-k}\binom{n-k}{k} + \frac{k}{n-k}\binom{n-k}{k}\\
&=\frac{n-k+k}{n-k}\binom{n-k}{k}\\
&=\frac{n}{n-k}\binom{n-k}{k}
\end{align}$$
ですから
$$\begin{align}
2c_n-\sigma_1c_{n-1} = \sum_{k=0}^{\lfloor n/2 \rfloor}\frac{n}{n-k}\binom{n-k}{k}\sigma_1^{n-2k}(-\sigma_2)^{k}
\end{align}$$
が成り立ちます.$\sigma_1=a+b, \sigma_2 = a b$より
$$
a^n+b^n = \sum_{k=0}^{\lfloor n/2 \rfloor}(-1)^k\frac{n}{n-k}\binom{n-k}{k}(a+b)^{n-2k}(ab)^{k}
$$
です.

参考文献

石狩 茂『エレガントな入試問題解法集 下』(現代数学社)
$a^n+b^n$ を対称式で表す方法についての説明があります.

余談

Markdownの編集にはKobitoとAtom両方を使ってみました.数式を扱う場合,Kobitoが編集する度に毎回全体をレンダリングするのに対し,Atomは変更された部分だけがレンダリングし直される感じだったので,かなりスムーズに編集できました.あと,Atomの正規表現による検索や置換がいい感じでした.

Why do not you register as a user and use Qiita more conveniently?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away