home / junkbox / tri-func 三角関数の周期はなぜ2π?

 突然ですが、以下の無限級数で示される関数には周期があるでしょうか? あるとすれば、周期はどれくらいになるでしょう?

\begin{align*} f(x) = x - \frac{x^3}{6} + \frac{x^5}{120} - \dots + \frac{x^{4n+1}}{(4n+1)!} - \frac{x^{4n+3}}{(4n+3)!} + \dots \end{align*}

「そんなもん分かるか!」という声が聞こえてきそうです。 でも、この級数は実は \(\sin x\) を級数展開しただけなので、やはり周期が \(2\pi\) なのです。 三角関数を「直角三角形の辺と辺の比」や「単位円のX座標とY座標」として定義していれば周期が \(2\pi\) になるのは納得できます。 高校の数学では \(\sin x / x\) の \(x = 0\) における極限が1であることを示し、それを用いて三角関数の導関数を求め、その結果を用いると上の級数を求めることができ、元の関数の周期が \(2\pi\) なのだから、この級数の周期も \(2\pi\) になる、というのは分かります。

 しかし、三角関数を「先に」級数で定義したとしたら、単位円との関係や周期はどうしてくれるのでしょうか?

tri-func 三角関数の定義(1)

 よく見慣れた定義です。

 XY平面に単位円を書き、単位円上の点 \((x,\ y)\) について、単位円の中心(つまり原点)と \((x,\ y)\) を結んだ半直線を動径と呼ぶ。 X軸の正の方向と動径のなす角を弧度法で \(\theta\) とする。 ただし、動径がX軸の正の方向からY軸の正の方向に回る場合に、θが増加するように定義する。 このとき、 \(x = \cos\theta\) 、 \(y = \sin\theta\) である。

 周期は当然 \(2\pi\) です。 方法は忘れましたが、これと

\begin{align*} \lim_{x \to 0} \frac{\sin x}{x} = 1 \end{align*}

や三角関数の和積公式を組み合わせて、

\begin{align*} \frac{d}{dx}\sin x &= \cos x \eol \frac{d}{dx}\cos x &= - \sin x \end{align*}

を求めることができ、これで

\begin{align*} \frac{d}{dx}\sin x &= \cos x \eol \frac{d^2}{dx^2}\sin x &= -\sin x \eol \frac{d^3}{dx^3}\sin x &= -\cos x \eol \frac{d^4}{dx^4}\sin x &= \sin x \end{align*}

と延々と微分することが可能で、 \(\cos 0 = 1\) 、 \(\sin 0 = 0\) と分かっているので \(x = 0\) のまわりでテーラー展開(つまりマクローリン展開)が可能で、

\begin{align*} \sin x &= x - \frac{x^3}{6} + \frac{x^5}{120} - \dots + \frac{x^{4n+1}}{(4n+1)!} - \frac{x^{4n+3}}{(4n+3)!} + \dots \eol \cos x &= 1 - \frac{x^2}{2} + \frac{x^4}{24} - \dots + \frac{x^{4n}}{(4n)!} - \frac{x^{4n+2}}{(4n+2)!} + \dots \end{align*}

となります。 元の関数の周期が \(2\pi\) だったので、この関数の周期も \(2\pi\) です。 ついでに、級数展開したことで定義域を複素数に拡大することもできます。

tri-func 三角関数の定義(2)

 今までの話の流れは、

1. 単位円の中心角に対する動径の位置を表す関数を求める。

2. その導関数を求める。

3. 級数に展開する。

でした。 最後の級数にする部分は高校の範囲ではないかもしれませんが、残りは高校で勉強するはずです(理系ならね)。 ではこの逆、つまり、

1. 級数で三角関数を定義する。

2. 級数の導関数を求める。

3. この関数で表した点が単位円上に乗る。

という説明は可能でしょうか?

 まず、定義域を(無限遠点を除いた)複素数全体とする関数 \(\cos z\) と \(\sin z\) を以下のように定義してしまいます。

\begin{align*} \sin z &= z - \frac{z^3}{6} + \frac{z^5}{120} - \dots + \frac{z^{4n+1}}{(4n+1)!} - \frac{z^{4n+3}}{(4n+3)!} + \dots \eol \cos z &= 1 - \frac{z^2}{2} + \frac{z^4}{24} - \dots + \frac{z^{4n}}{(4n)!} - \frac{z^{4n+2}}{(4n+2)!} + \dots \end{align*}

半分どうでもいいことですが、ここから

\begin{align*} \lim_{z \to 0}\frac{\sin z}{z} &= \lim_{z \to 0} \left\{ \frac{z}{z} - \frac{z^3}{6z} + \frac{z^5}{120z} - \dots + \frac{z^{4n+1}}{(4n+1)!z} - \frac{z^{4n+3}}{(4n+3)!z} + \dots \right\} \eol &= \lim_{z \to 0} \left\{ 1 - \frac{z^2}{6} + \frac{z^4}{120} - \dots + \frac{z^{4n}}{(4n+1)!} - \frac{z^{4n+2}}{(4n+3)!} + \dots \right\} \eol &= 1 \end{align*}

がすぐに分かります。 一部の分野では \(\sin x / x\) をサンプリング関数とか sinc 関数とか呼びますが、 \(x\) が0に近いときはこの級数展開式で求めることができます。

 また、 \(\sin z\) を微分すると、

\begin{align*} \frac{d}{dz}\sin z &= \frac{d}{dz}\left\{z - \frac{z^3}{6} + \frac{z^5}{120} - \dots + \frac{z^{4n+1}}{(4n+1)!} - \frac{z^{4n+3}}{(4n+3)!} + \dots \right\} \eol &= 1 - \frac{3z^2}{6} + \frac{5z^4}{120} - \dots + \frac{(4n+1)z^{4n}}{(4n+1)!} - \frac{(4n+3)z^{4n+2}}{(4n+3)!} + \dots \eol &= 1 - \frac{z^2}{2} + \frac{z^4}{24} - \dots + \frac{z^{4n}}{(4n)!} - \frac{z^{4n+2}}{(4n+2)!} + \dots \end{align*}

なので、これはよく見ると \(\cos z\) です。 同様に、

\begin{align*} \frac{d}{dz}\cos z &= \frac{d}{dz}\left\{1 - \frac{z^2}{2} + \frac{z^4}{24} - \dots + \frac{z^{4n}}{(4n)!} - \frac{z^{4n+2}}{(4n+2)!} + \dots \right\} \eol &= - \frac{2z}{2} + \frac{4z^3}{24} - \dots + \frac{4nz^{4n-1}}{(4n)!} - \frac{(4n+2)z^{4n+1}}{(4n+2)!} + \frac{(4n+4)z^{4n+3}}{(4n+4)!} - \dots \eol &= - z + \frac{z^3}{6} - \dots + \frac{z^{4n-1}}{(4n-1)!} - \frac{z^{4n+1}}{(4n+1)!} + \frac{z^{4n+3}}{(4n+3)!} - \dots \eol &= - \left\{ z - \frac{z^3}{6} + \dots - \frac{z^{4n-1}}{(4n-1)!} + \frac{z^{4n+1}}{(4n+1)!} - \frac{z^{4n+3}}{(4n+3)!} + \dots \right\} \eol &= - \sin z \end{align*}

です。 これで難なく微分はできました。 問題はこの関数が単位円を描いてくれるかどうか、です。

tri-func 三角関数の定義(3)

 今度はこんな関数を考えて見ます。

\(f(z)\)・ \(g(z)\) は(無限遠点を除く)複素平面全体で微分可能(正則)。

\(f(0) = 1\)

\(g(0) = 0\)

\(f'(z) = -g(z)\)

\(g'(z) = f(z)\)

 先ほど級数で定義した \(\cos z\) と \(\sin z\) はこの条件を満たしています。 また、これだけ規則があれば、

\begin{align*} f'' &= \frac{d}{dz}f'(z) = \frac{d}{dz}\{-g(z)\} = -\frac{d}{dz}g(z) = -f(z) \eol f''' &= \frac{d}{dz}f''(z) = \frac{d}{dz}\{-f(z)\} = -\frac{d}{dz}f(z) = -\{-g(z)\} = g(z) \eol f'''' &= \frac{d}{dz}f'''(z) = \frac{d}{dz}g(z) = f(z) \end{align*}

と延々と微分でき、 \(f'(0) = -g(0) = 0\) 、 \(f''(0) = -f(0) = -1\) 、 \(f'''(0) = g(0) = 0 \dots\) のように \(z = 0\) における微係数もすべて分かりますから、テーラー展開が可能で、結果は先の \(\cos z\) と \(\sin z\) に等しくなります。

 一方、確かめたい命題は、

\(t\) を任意の実数として \(x = f (t)\) 、 \(y = g (t)\) としたとき、XY平面上の点 \((x,\ y)\) が単位円上にある。

\(t\) が増加すると動径は反時計方向に回り、中心角は \(t\) に比例する。

\(t\) が \(2\pi\) 増加すると動径は元の位置に戻る。

です。

 とりあえず単位円の上に乗っていないと困るので、 \(x^2 + y^2\) を計算してみます。 といっても、使える道具が微分しかないので t で微分してみます。 これは合成関数の微分が使えて、

\begin{align*} \frac{d}{dt}(x^2+y^2) = 2xx'+2yy' \end{align*}

さらに先の定義から \(x' = f'(t) = -g(t) = -y\) 、 \(y' = g'(t) = f(t) = x\) なので、

\begin{align*} 上式 &= 2x(-y) + 2yx \eol &= -2xy + 2xy \eol &= 0 \end{align*}

になります。 これは \(x^2 + y^2\) が定数になることを意味していますが、 \(t = 0\) の時に \(x = f(0) = 1\) 、 \(y = g(0) = 0\) なので、 \(x^2 + y^2 = 1\) になります。 つまり、 \(x\) ・ \(y\) が実数ならば、 \((x,\ y)\) は単位円の上に乗ります。

 この \(x\) ・ \(y\) が実数というのがちょっとやっかいで、テーラー展開すれば係数がすべて実数になり、 \(t\) が実数なら \(x\) ・ \(y\) も実数というのはすぐ分かるのですが、どうもそれ以外の方法で証明するのはちょっと面倒くさそう。 というのも、微係数が分かっているのは \(t = 0\) の時だけで、そこから \(t\) が任意の実数のときの \(x\) ・ \(y\) を求めなければならず、テーラー展開の力を借りないとダメっぽいからです。

 ついでに \((x')^2 + (y')^2\) も同様に微分してみると、

\begin{align*} \frac{d}{dt}\left\{(x')^2 + (y')^2\right\} = 2x'x'' + 2y'y'' \end{align*}

\(x''\) \(= f''(t)\) \(= d/dt\{f'(t)\}\) \(= d/dt \{-g(t)\}\) \(= -f(t) = -x\) で、 \(y''\) は同様に \(-g(t) = -y\) です。 したがって、

\begin{align*} 上式 &= 2(-y)(-x) + 2x(-y) \eol &= 2xy - 2xy \eol &= 0 \end{align*}

となり、 \((x')^2 + (y')^2\) も定数になることが分かります。 そして、 \(t = 0\) のとき、 \(f'(t) = -g(t) = 0\) 、 \(g'(t) = f(t) = 1\) なので、 \((x')^2 + (y')^2\) はやはり 1 になります。 これは何を意味しているのでしょう?

  \(x'\) というのは \(t\) が微少量 \(\Delta t\) だけ増加したときに、 \(x\) が \(x'\Delta t\) だけ増加することを意味しています。 同様に、 \(y'\) は \(t\) が \(\Delta t\) だけ増加したときに、 \(y\) が \(y'\Delta t\) だけ増加することを意味しています。 これを2乗して足すと距離(の2乗)のようなものになります。 つまり、 \(t\) が \(\Delta t\) だけ増加したときに動径が単位円上で移動する距離が \((x'\Delta t)^2 + (y'\Delta t)^2\) の平方根だということです。

\begin{align*} (x'\Delta t)^2 + (y'\Delta t)^2 &= (x')^2 \Delta t^2 + (y')^2 \Delta t^2 \eol &= \Delta t^2 \{(x')^2 + (y')^2 \} \end{align*}

となりますが、 \((x')^2 + (y')^2 = 1\) なので、これは \(\Delta t^2\) になります。 つまり、 \(t\) が \(\Delta t\) だけ増えると、 \((x,\ y)\) は単位円上を \(\Delta t^2\) の平方根、要するに \(\Delta t\) だけ動く、ということです。

 平方根には正負がありますから、正確には \(\pm\Delta t\) ですが、この符号は単位円上をどちらに回るかに対応しています。 この結果だけではあるときは左回り、あるときは右回りということも考えられます。 左回りと右回りの微係数は正負が反対になります。 ということは、途中で左回りと右回りが切り替わると、左回りと右回りの境目で \(t\) を正負から近づけた極限が一致しなくなります。 これは「複素平面全体で微分可能」という条件に反しますから、結局、一度左回りを始めたらずっと左回りです。 この関数は \(t = 0\) のとき \((x,\ y)\) が \((1,\ 0)\) で、 \(y' \gt 0\) ですので、常に左回り(反時計方向)に回ります。

 ということで、 \(t\) が 1 増えれば \((x,\ y)\) は単位円上を反時計方向に 1 だけ動き、2 増えれば 2 だけ動く、ということです。 \((x,\ y)\) が単位円を一周すると、 \(t\) も \((x,\ y)\) が動いた長さだけ増えています。 単位円の円周の長さは \(2\pi\) ですから、この、微分だけで定義された関数 \(f(t)\) と \(g(t)\) は周期関数で、 周期は \({\bf 2\pi}\) ということが分かりました。

 結局、「ぐるぐる微分できる」⇒「周期が \(2\pi\) 」というのは「 \(x\) と \(y\) の微係数の2乗の和が 1 」⇒「 \(t\) が 1 ラジアン増えると単位円上を 1 だけ動く」というところから来ていて、不思議なことでもなんでもなく、むしろ「当然」だということが分かります。 先に挙げた微分のルールだけでテーラー展開もでき、できあがった級数の周期も当然 \(2\pi\)になります。 \(\sin t / t\) というのは、 \(t = 0\) における単位円の \(y\) 座標の増分で、 \(t = 0\) では単位円は (0, 1) の位置にあって垂直に立ち上がりますから、 \(t\) が \(\Delta t\) だけ増えれば \(y\) も \(\Delta t\) だけ増えるのは当然で、この式が 1 になるのもこのためだったんですね。

tri-func 三角関数の微分ふたたび

 この結果を使うと、三角関数の微分を \(\sin x / x\) を使わずに示すことができます。 最初の三角関数の定義はこうでした。

 XY平面に単位円を書き、単位円上の点 \((x,\ y)\) について、単位円の中心(つまり原点)と \((x,\ y)\) を結んだ半直線を動径と呼ぶ。 X軸の正の方向と動径のなす角を弧度法で \(\theta\) とする。 ただし、動径がX軸の正の方向からY軸の正の方向に回る場合に、 \(\theta\) が増加するように定義する。 このとき、 \(x = \cos\theta\) 、 \(y = \sin\theta\) である。

 これは数式にするとこうなります。

\(f(t) = x = \cos t\) 、 \(g(t) = y = \sin t\) とするとき、 \(x^2 + y^2 = 1\) (単位円上にあるから)

\((x')^2 + (y')^2 = 1\) ( \(t\) が \(\Delta t \makeunit{rad}\) だけ増えると、 \((x,\ y)\) が単位円上を \(\Delta t\) だけ動くから)

\(f(0) = 1\) 、 \(g(0) = 0\) ( \(t\) が 0 のとき、 \((x,\ y)\) は (1, 0) にあるから)

\(g'(0) \gt 0\) ( \(t\) が増加すると \((x,\ y)\) は反時計回りに動くから)

あと、当然ですが、 \(f(t)\) 、 \(g(t)\) およびその導関数はすべて連続です。 なめらかな単位円の上を滑らかに動いてきますので。

 まず、 \(x^2 + y^2 = 1\) を \(t\) で微分してみます。 合成関数の微分が使えて、 \(2xx' + 2yy' = 0\) です。 したがって、 \(xx' = - yy'\) であり、 \(x' \ne 0\) 、 \(y' \ne 0\) ならば \(x'y'\) で両辺を割ることができ、

\begin{align*} \frac{x}{y'} = -\frac{y}{x'} \end{align*}

となるので、これを適当に・・・例えば \(q(t)\) とでも置きましょう。 すると、

\begin{align*} x &= q(t) y' \eol y &= -q(t) x' \end{align*}

と書けます。 これを「単位円上にある」という条件の式にもう一度代入します。

\begin{align*} x^2 + y^2 &= \{q(t)y'\}^2 + \{q(t)x'\}^2 \eol &= \{q(t)\}^2(y')^2 + \{q(t)\}^2(x')^2 \eol &= \{q(t)\}^2\{(y')^2 + (x')^2\} \end{align*}

です。 左辺は 1 になります。 右辺は「 \(t\) が \(\Delta t \makeunit{rad}\) だけ増えると、 \((x,\ y)\) が単位円上を \(\Delta t\) だけ動く」という条件から、 \((y')^2 + (x')^2\) は 1 になるので、 \(\{q(t)\}^2\) になります。 つまり、 \(\{q(t)\}^2 = 1\) です。 よって \(q(t) = \pm 1\) です。

 これだけだと、あるときは \(q(t)\) は +1、またあるときは -1、ということが許されますが、そうすると \(q\) のプラスマイナスが入れ替わる点で \(x\) か \(x'\) のどちらかが連続ではなくなってしまいますから、そういうことは許されません。

 また、 \(x'\) が 0 のときには条件から \(y'\) は \(\pm 1\) で、 \(xx' = -yy'\) から \(y = 0\) が分かり、 \((x,\ y)\) は単位円の上にあるので \(x = \pm 1\) です。 この前後で \(x\) も \(y'\) も連続なので \(x / y'\) の符号は変わりません。 さらに、この前後で \(x / y' = y / x'\) が成り立っている必要がありますから、結局、 \(x'\) と \(y\) の符号が変わるとすれば、両方同時に変わらなければなりません。 結局、ここでも \(q\) のプラスマイナスが入れ替わることは許されません。 同様に \(y'\) が 0 の時にも \(q\) のプラスマイナスが入れ替わることは許されません。

 結局、 \(q\) は常に +1 か常に -1 かのどちらかです。 どちらになるかは「 \(t\) が増加すると \((x,\ y)\) は反時計回りに動く」という条件から、 \(g'(0) \gt 0\) なので、 \(t = 0\) のときに \(x = 1\) 、 \(y' = g'(0) \gt 0\) より、 \(q(t)\) は常に +1 であることが分かります。 また、先ほど \(x'\) が 0 のときには \(y\) が 0 だと分かったので、このときも \(y = -q(t)x'\) は成り立っています。 同様に \(y'\) が 0 のときも \(x = q(t)y'\) が成り立っています。

 結局、常に

\begin{align*} x &= y' \eol y &= -x' \end{align*}

であることが分かったので、

\begin{align*} y' &= \frac{d}{dt}\sin t = x = \cos t \eol x' &= \frac{d}{dt}\cos t = -y = -\sin t \end{align*}

が求まりました。 見返してみると、三角関数の循環微分の性質は \(x^2 + y^2 = 1\) を微分した \(2 x x' + 2 y y' = 0\) に由来していることが分かりますね。

tri-func まとめ

 まとめると図のようになります。

 高校の学習では左から右へ向かって組み立てていきます。 ただし、最初の段階・・・三角関数の微分では \(\sin x / x\) の極限と和積公式を使います。 このふたつは幾何学的に証明をしているはずです。 もし \(x\) が複素数になってしまうと、何をしているのか分からなくなってしまいます。 まぁ、 \(\sin x / x\) の極限は \(\sin x\) の \(x = 0\) における微係数が 1 と言っているのと同じなので、「 \(x\) が複素数であっても微係数が 1 になる」関数を探すことにすればいいのですが、和積公式は「仮定」ではなくて計算の途中経過で使うものなので、複素数でも成り立つことが分かっていなければなりません。

 一方、私の持っている複素関数の本では、右から左に向かって組み立てています。 これなら複素数でも問題ありませんが、無限級数で定義した三角関数の周期が \(2\pi\) になることは、実数のときからの延長で済ませてしまっています。 一致の定理まで進めば、複素数の三角関数で定義した三角関数は、実数で定義した三角関数と実数の範囲で同じになることが分かるのですが、ごまかされたような気もします。 つまり、最後の矢印の部分で納得のいく説明ができません。

 その部分を補ったのが「三角関数の定義(3)」です。 循環微分と初期値が分かれば延々と微分ができますから、当然級数に展開できます。 また、この条件だけで単位円の上に乗って、単位円上で動く距離が \(x\)に等しいことも分かりました。 これで最後の矢印までつながったことになります。

 これを逆に追えば、 \(\sin x / x\) の極限が分からなくても、そして和積公式がなくても三角関数の微分ができます。 この方法も幾何学的な考えが出発点ですが、計算の内容は微分しか使っていません。 つまり、単位円に乗っている ⇒ \(x^2 + y^2 = 1\) が出発点ですが、 \(x^2 + y^2 = 1\) は複素数の範囲でも意味がはっきりしていますし、しかも微分もできます。 したがって、複素数でもそのまま通用します(多分)。 結果は同じですが、和積公式を使う場合と比べて含んでいる意味がかなり違います。

 この方法では、式の意味をきっちり考える必要がありますが、技巧的な式は出てきません。 使っている定理も高校の範囲で収まっているはずですが、「曲線の長さ」を求める式、つまり、 \((y')^2 + (x')^2\) を積分するというのが、(基礎解析ではなく)「微分積分」の「積分の応用」まで出てこないので、相当後にならないと説明できないのが欠点でしょうか。 媒介変数表示でなければ基礎解析で出てくるんですが。

  \(\sin x / x\) の極限は、さっき言ったように \(\sin x\) の \(x = 0\) における微係数ですから、この結果から簡単に分かります。 さらに、級数展開できると比較的容易に加法定理が導けます(ヒマがあればそのうち書きます)。 もちろん実数に限らず成り立つことも分かります。 オイラーの公式を使うとアホみたいに簡単に求まりますが。 加法定理が導ければ、残りの三角関数の公式はほとんど全部出てきます。 当然、和積公式もこれに含まれます。

 全体を見渡して分かるように、三角関数は直角三角形よりも実は単位円と密接な関係にあります。 歴史的に「三角関数」と呼ばれていますが、その内実は「円関数」と呼んだ方がふさわしいかもしれません。 さらに、三角関数の性質が循環微分から直接導けることを考えると、三角関数の本質は「単位円」よりも「循環微分」なのかもしれません。


Copyright (C) 2011-2022 akamoz.jp

$Id: tri-func.htm,v 1.2 2022/02/27 12:49:53 you Exp $