複素フーリエ級数

オイラーの公式を使って書き換えただけだよ。

[
前の記事へ]  [物理数学の目次へ]  [次の記事へ]


 複素数を学ぶと次のような「オイラーの公式」が早い段階で出てくる。
\[ \begin{align*} e^{ix} \ =\ \cos x \ +\ i\,\sin x \end{align*} \]
 この公式を利用すれば次のような式を作ることもできる。
\[ \begin{align*} \cos x \ &=\ \frac{1}{2} \left( e^{ix} + e^{-ix} \right) \tag{1} \\ \sin x \ &=\ \frac{1}{2i} \left( e^{ix} - e^{-ix} \right) \tag{2} \end{align*} \]
 フーリエ級数は\( \sin \)関数と\( \cos \)関数ばかりで出来ていたから、この公式を使えば全てを指数関数を使った形に書き換えられそうである。複雑になるのか簡単になるのかはやってみないと分からないが、結果を先に言ってしまうと、怖いくらいに綺麗にまとまってしまうのである。

 まず、書き換える前のフーリエ級数を書いておこう。

\[ \begin{align*} f(x) \ =\ \frac{a\sub{0}}{2} \ +\ \sum_{n=1}^{\infty} \bigg[ a_n \cos \left( \frac{2\pi}{L} n x \right) \ +\ b_n \sin \left( \frac{2\pi}{L} n x \right) \bigg] \tag{3} \end{align*} \]
 ただし、係数\( a_n \)\( b_n \)は次の通りである。
\[ \begin{align*} a_n \ &=\ \frac{2}{L} \int^L_0 f(x) \cos \left( \frac{2\pi}{L}nx \right) \diff x \tag{4} \\ b_n \ &=\ \frac{2}{L} \int^L_0 f(x) \sin \left( \frac{2\pi}{L}nx \right) \diff x \tag{5} \end{align*} \]
 では早速始めよう。(3) 式に (1) 式と (2) 式を当てはめる。
\[ \begin{align*} f(x) \ &=\ \frac{a\sub{0}}{2} \ +\ \sum_{n=1}^{\infty} \bigg[ a_n \cos \left( \frac{2\pi}{L} n x \right) \ +\ b_n \sin \left( \frac{2\pi}{L} n x \right) \bigg] \\ &=\ \frac{a\sub{0}}{2} \ +\ \sum_{n=1}^{\infty} \bigg[ \frac{a_n}{2} \left( e^{i\frac{2\pi}{L} n x} + e^{-i \frac{2\pi}{L} n x} \right) \ -\ i \, \frac{b_n}{2} \left( e^{i \frac{2\pi}{L} n x} - e^{-i \frac{2\pi}{L} n x} \right) \bigg] \\ &=\ \frac{a\sub{0}}{2} \ +\ \sum_{n=1}^{\infty} \bigg[ \frac{a_n - i\,b_n}{2} \, e^{i \frac{2\pi}{L} n x} \ +\ \frac{a_n + i\,b_n}{2} \, e^{-i \frac{2\pi}{L} n x} \bigg] \\ &=\ \frac{a\sub{0}}{2} \ +\ \sum_{n=1}^{\infty} \frac{a_n - i\,b_n}{2} \, e^{i \frac{2\pi}{L} n x} \ +\ \sum_{n=1}^{\infty} \frac{a_n + i\,b_n}{2} \, e^{-i \frac{2\pi}{L} n x} \\ &=\ \frac{a\sub{0}}{2} \ +\ \sum_{n=1}^{\infty} \frac{a_n - i\,b_n}{2} \, e^{i \frac{2\pi}{L} n x} \ +\ \sum_{n=-1}^{-\infty} \frac{a_{-n} + i\,b_{-n}}{2} \, e^{i \frac{2\pi}{L} n x} \end{align*} \]
 まだ途中だが、説明を入れておこう。この最後のところではなかなか無茶なことをやっている。しかし難しくはない。二つの指数関数を同じ形にしてまとめたいがために、和の記号の\( n \)の範囲を変えて\( n=-1 \)から\( -\infty \)への和を取るように変更したのである。そのために\( a_{-n} \)\( b_{-n} \)などという記号が一時的に導入されているが、ここでの\( n \)は負なので実質は\( a_n \)\( b_n \)と変わらない。
 3 行目から 4 行目への変形で、和の記号を二つの項に分解している。  無限級数の和の順序を変えてしまっていることになるので本当に大丈夫なのか気になるかも知れない。  これはフーリエ級数がちゃんと収束するという前提でやっているのである。  収束するような関数は、前に説明したように奇関数と偶関数に分解できるのだった。  つまり、フーリエ正弦級数とフーリエ余弦級数の和で表されることになり、それらはそれぞれに収束することが言える。  和の記号で表したそれぞれの項が収束するなら、それらを一つの和の記号にまとめて表したものとの間に等式が成り立つという定理があった。(参考)  今は指数関数で表されているが、これらもオイラーの公式で三角関数に分けることができるのであり、細かく分けて考えれば問題ないことが分かる。  しかしそういうことを気にして変形していると何をしているのか分かりにくくなるので省略したのである。
 ここで次のような定義をしてやろう。
\[ \begin{align*} c_n \ &\equiv\ \begin{cases} \frac{1}{2}(a_n - i\,b_n) & (n>0) \\[4pt] \frac{1}{2}(a_{-n} + i\,b_{-n}) & (n\lt 0) \end{cases} \\[3pt] c\sub{0} \ &\equiv\ \frac{a\sub{0}}{2} \end{align*} \]
 すると先ほどの計算の続きは次のようになる。
\[ \begin{align*} f(x) \ &=\ c\sub{0} \ +\ \sum_{n=1}^{\infty} c_n \, e^{i \frac{2\pi}{L} n x} \ +\ \sum_{n=-1}^{-\infty} c_n \, e^{i \frac{2\pi}{L} n x} \\ &=\ \sum_{n=-\infty}^{\infty} c_n \, e^{i \frac{2\pi}{L} n x} \end{align*} \]
 とても単純な形にまとまってしまった・・・!しかも一番最初の定数項まで同じ形の中に取り込むことに成功している。とは言ってもそうなるように無理やり係数\( c_n \)を定義しただけなので、この段階ではまだ美しさが実感できないだろう。\( n \)が正であるか負であるかによってどちらの定義を使うかを区別しないといけないのである。

 \( c_n \)の定義は今のところ\( a_n \)\( b_n \)の組み合わせでできていることになっているので、こちらも指数関数を使って書き換えられそうである。まずは\( n>0 \)の場合についてやってみよう。

\[ \begin{align*} c_n \ &=\ \frac{a_n - i\,b_n}{2} \\ &=\ \frac{1}{2} \frac{2}{L} \int^L_0 f(x) \, \bigg[ \cos \left( \frac{2\pi}{L} n x \right) \ -\ i\,\sin \left( \frac{2\pi}{L} n x \right) \bigg] \diff x \\ &=\ \frac{1}{L} \int^L_0 f(x) \, e^{-i \frac{2\pi}{L} n x} \diff x \end{align*} \]
 意外にも、とても簡単な形になってしまった。次に\( n\lt 0 \)の場合をやってみよう。\( a_{-n} \)\( b_{-n} \)\( n \)にはどうせ負の整数が入るのだから、(4) 式や (5) 式の中の\( n \)を一時的に\( -n \)としたものを使ってやっても問題は起こらない。
\[ \begin{align*} c_n \ &=\ \frac{a_{-n} + i\,b_{-n}}{2} \\ &=\ \frac{1}{2} \frac{2}{L} \int^L_0 f(x) \, \bigg[ \cos \left( -\frac{2\pi}{L} n x \right) +\ i\,\sin \left( -\frac{2\pi}{L} n x \right) \bigg] \diff x \\ &=\ \frac{1}{L} \int^L_0 f(x) \, \bigg[ \cos \left( \frac{2\pi}{L} n x \right) -\ i\,\sin \left( \frac{2\pi}{L} n x \right) \bigg] \diff x \\ &=\ \frac{1}{L} \int^L_0 f(x) \, e^{-i \frac{2\pi}{L} n x} \diff x \end{align*} \]
 こちらも同じ形になった。これは好都合だ。場合分けなど必要なかったのだ。では最後に\( n=0 \)の場合を。
\[ \begin{align*} c\sub{0} \ =\ \frac{a\sub{0}}{2} \ =\ \frac{1}{2} \frac{2}{L} \int^L_0 f(x) \diff x \ =\ \frac{1}{L} \int^L_0 f(x) \diff x \end{align*} \]
 なんと、これも上の二つの計算結果の\( c_n \)\( n=0 \)を代入した場合と同じ結果である。つまり、\( c_n \)は場合分けなど必要なくて、次のように表現するだけで済んでしまうということである。
\[ \begin{align*} c_n \ =\ \frac{1}{L} \int^L_0 f(x) \, e^{-i \frac{2\pi}{L} n x} \diff x \tag{6} \end{align*} \]
 そしてフーリエ級数はこの係数\( c_n \)を使って、次のようなシンプルな形で表せてしまうのである。
\[ \begin{align*} f(x) \ =\ \sum_{n=-\infty}^{\infty} c_n \, e^{i \frac{2\pi}{L} n x} \tag{7} \end{align*} \]
 これらを導く過程には少しだけ面倒なところがあったかも知れないが、もう忘れてしまっても構わない。この (6) 式と (7) 式が全てである。この形で表されたフーリエ級数を「複素フーリエ級数」と呼ぶ。フーリエ級数はまるで複素数を使って表されるのを待っていたかのようではないか。

 複素フーリエ級数と元のフーリエ級数を区別するために、\( \sin \)\( \cos \)を使って表した元のフーリエ級数の方を「実フーリエ級数」と呼ぶことがある。


フーリエ級数を微分する

 複素フーリエ級数の利点は見た目がシンプルというだけではない。この形で表しておいた方がはるかに計算が楽だという場合が多いのである。例えば微分することを考えてみると、三角関数は微分するたびに\( \sin \)\( \cos \)がクルクル変わって整理がややこしいが、指数関数は形が変わらないので気にせず一気に目的を果たせたりする。

 (7) 式を微分してみよう。

\[ \begin{align*} f'(x) \ =\ \sum_{n=-\infty}^{\infty} c_n \, i \frac{2\pi}{L} n \, e^{i \frac{2\pi}{L} n x} \end{align*} \]
 この式は無限級数を項別に微分しても良いかどうかという問題がからむのでいつも成り立つわけではないが、関数\( f(x) \)が連続で、区分的に滑らかならば問題ないということが証明されている。

 このように、各係数\( c_n \)\( i (2\pi/L) n \)を掛ければ\( f(x) \)の微分をフーリエ級数で表せるというルールも(肝心の証明は略したが)簡単に導けるわけだ。

 その代わりとして (6) 式のような複素積分を考える必要が出てくるのだが、便利さを享受するために知識が必要になるのは良くあることだ。目的に合わせて使い分ければ良いだけのことである。


係数についてのメモ

 ところで、(6) 式を使って求められる係数\( c_n \)は複素数である。にもかかわらず、それを使って (7) 式のように表されている\( f(x) \)はちゃんと実数になるというのがちょっと不思議な気もする。この複素フーリエ級数はオイラーの公式を使って書き換えただけのものなのだから、実質はこれまでのフーリエ級数と何も変わらないのである。そうは言われても、複素数を学んだばかりでまだオイラーの公式に信頼を持てていない場合にはすぐには受け入れにくいかも知れない。そのあたりの仕組みがどうなっているのかじっくり確かめておくのも悪くない。

 (6) 式は次のように実数と虚数に分けて書くことができる。

\[ \begin{align*} c_n \ &=\ \frac{1}{L} \int^L_0 f(x) \, e^{-i \frac{2\pi}{L} n x} \diff x \\ &=\ \frac{1}{L} \int^L_0 f(x) \, \left[ \cos \left(-\frac{2\pi}{L} n x\right) \ +\ i\,\sin\left(-\frac{2\pi}{L} n x\right) \right] \diff x \\ &=\ \frac{1}{L} \int^L_0 f(x) \cos \left(\frac{2\pi}{L} n x\right) \diff x \ -\ \frac{i}{L} \int^L_0 f(x) \sin\left(\frac{2\pi}{L} n x\right) \diff x \end{align*} \]
 もし\( n \)が負なら虚部の符号だけが変わることが分かるだろう。\( c_n \)\( c_{-n} \)は複素共役の関係にある。
\[ \begin{align*} c_{-n} \ =\ c_n^{\ast} \end{align*} \]
 \( c_n \)さえ求めてやれば、\( c_{-n} \)は計算しなくても知ることができるというわけだ。

 このことを頭に置いた上で、(7) 式を

\[ \begin{align*} f(x) \ =\ \sum_{n=-\infty}^{\infty} c_n \, \left[ \cos\left(\frac{2\pi}{L} n x\right) \ +\ i\,\sin\left(\frac{2\pi}{L} n x\right) \right] \end{align*} \]
のように表して、\( c_n \)\( A_n \pm i\,B_n \)とでも置いて考えれば・・・。うーん、それは結局は元のフーリエ級数に書き戻してるのと変わらないな・・・。(7) 式で虚数部分がうまく打ち消し合っていることが納得できるかと思ったが、この説明にはあまり意味がなさそうだ。やめておこう。これについてはもう少しイメージしやすい別の説明がある。


参考までに・・・

 私が実フーリエ級数に色々な形の関数を当てはめて遊んでいた時にふと思い付いて試してみたことがある。

 関数\( f(x) \)の形の中に\( \sin \)関数や\( \cos \)関数に似た形が含まれる場合、それに対応する係数が大きめに出ることはすでに話した。では少し意地悪して、\( \sin \)関数を少し横にスライドさせたものをフーリエ級数に展開してやると、一体どのように表現されるのであろうか?

 気付いている人は一瞬で分かるのだろうが、私は試してみるまで分からなかった。それを再現するにはさぞかし長い項が要るのだろうと楽しみにしていた。

 結果はあっけなかった。一瞬で再現されてしまったのだ。同じ波長の\( \sin \)\( \cos \)を足し合わせるだけで位相がスライドした波を表せることをすっかり忘れていた。高校でも習う「三角関数の合成公式」が表しているもの、そのものだ。

\[ \begin{align*} a \sin x \ &+\ b \cos x \ =\ \sqrt{a^2+b^2}\,\cos(x-\delta) \\ &(ただし \, \delta \,は\ \sin \delta = \frac{a}{\sqrt{a^2+b^2}} \ \ ,\ \ \cos \delta = \frac{b}{\sqrt{a^2+b^2}} \ を満たす。) \end{align*} \]
 高校では\( \sin \)関数で表すように合成することが多いが、もちろん位相をずらすだけでどちらにでも表せる。

 ということは、実フーリエ級数では\( \sin \)\( \cos \)の両方を使っているけれども、位相を自由にずらして重ね合わせてもいいということなので、次のように表してもいいはずだ。

\[ \begin{align*} f(x) \ =\ \frac{\alpha\sub{0}}{2} \ +\ \sum_{n=1}^\infty \alpha_n \, \cos\left( \frac{2\pi}{L}nx + \delta_n \right) \tag{8} \end{align*} \]
 この場合、係数\( \alpha_n \)を導く公式はややこしくなるし、\( \delta_n \)もすっきりとは導けない。使いにくい形ではあるが、フーリエ級数の内容をイメージする助けにはなるだろう。

 ところで、位相をずらした波の表現なら、三角関数よりも複素指数関数の方が得意である。なぜなら、次のように変形して、係数の中に位相の情報を含ませてしまえるからだ。

\[ \begin{align*} a\, e^{i(x + \delta)} \ =\ a \, e^{ix} \, e^{i\delta} \ =\ c \, e^{ix} \end{align*} \]
 この場合の係数\( c \)は複素数になるけれども、この方が見た目にはすっきりするだろう。しかしそのままでは\( \cos \)関数の代わりに使うわけにはいかない。この形は実数部分だけを見ている限りは\( a \cos(x + \delta) \)に等しいけれども、虚数もおまけに付いてきてしまうからだ。

 複素数\( z \)から実数部分のみを取り出すにはどうしたら良かっただろうか?\( z \)とその複素共役\( z^{\ast} \)を足し合わせて 2 で割ってやればいい。つまり (8) 式は次のように置き換えてやることができる。

\[ \begin{align*} f(x) \ =\ \frac{\alpha\sub{0}}{2} \ +\ \sum_{n=1}^{\infty} \frac{1}{2}\left(c_n \, e^{i\frac{2\pi}{L}nx} \ +\ c_n^\ast \, e^{-i\frac{2\pi}{L}nx} \right) \end{align*} \]
 こうしておけば必ず実数になる。ところでこれって、複素フーリエ級数と同じ形ではないだろうか?

 複素フーリエ級数のイメージはこんなものである。複素数を使っていることで抽象的に見えたとしても、その意味は波の重ね合わせそのものだということだ。