フーリエ変換や図形の回転を語る上で複素数を欠かすことはできません
画像がうpできないので自分で複素数平面を書きましょう
実数の世界においては負の数の平方根というのはありません。
そこで-1の平方根(&mimetex(\sqrt{-1});)をi(電気系の人はj)とし、これを虚数単位と呼びます。
複素数は実数と虚数単位iの実数倍の和で表されます。特に実数部が0のものを純虚数と呼びます。
また複素数を一般的に&mimetex(a+bi);と書きます。この場合
&mimetex(\left( a+b\mathit{i} \right) + \left( c+d\mathit{i} \right) = \left( a+c \right) + \left( b+d \right)\mathit{i});
&mimetex(\left( a+b\mathit{i} \right) - \left( c+d\mathit{i} \right) = \left( a-c \right) + \left( b-d \right)\mathit{i});
&mimetex(\left( a+b\mathit{i} \right)\left( c+d\mathit{i} \right) = \left( ac-bd \right) + \left( ad+bc \right)\mathit{i});
&mimetex(\frac{ a+b\mathit{i} }{ c+d\mathit{i} } = \frac{ \left( ac+bd \right) + \left( -ad+bc \right)\mathit{i} }{c^2 + d^2});
加算減算は実数同士虚数同士で行います。
掛算は普通に展開しましょう。iの2乗は-1ということを忘れないように。
除算は分母にc-diを掛けることで有理化(分母に虚数が入らない)ができます。
乗除算が複雑に見えるかもしれませんが、要はiの2乗は-1というルールの下普通に計算すれば良いのです。
唐突ですが複素数は大小が語れません!
-1より0が大きく、0よりπが大きい、πより22/7が大きく・・・・・・と、こんな具合に大小が決められるのが実数です
ところが虚数は実数軸上には存在しません
ですから、1+2i と 3+4i を比べてどちらが大きいか?なんて語ることはできないのです
では実数を実数軸上に載せるように複素数を表現したいとしたらどのように表現すれば良いのでしょうか?
答えは簡単、軸をもう1つ用意してやればいいのです
横軸を実数軸、縦軸を虚数軸と呼びます。Re, Imと表記することが多いです。この平面の座標として複素数を表します
実はこの複素数平面こそが複素数の最も強い部分であり、複素数の理解を深めるポイントなのです!
むしろ複素数平面のために複素数が生まれたんじゃないだろかとすら思う
複素数の絶対値は実数部の自乗と虚数部の自乗の和の平方根と定義されています
何故このように定義されているかは複素数平面を見れば非常に分かり易いです
つまり原点からの距離が絶対値な訳です
1のn乗根と複素数平面、何の関係があるか分かりますか?とりあえず1の3乗根を求めてみましょう
&mimetex(\begin{eqnarray*}x^3-1 & = & 0 \\ (x-1)(x^2+x+1) & = & 0 \\ x & = & 1,\frac{-1\pm\sqrt{3}\mathit{i}}{2}\end{eqnarray*});
この複素数を複素数平面上に載せてみましょう
何か気がつきませんか?そう、ちょうど単位円(半径1の円)を3分割しているのです!
余裕があるひとは他のnに関しても試してみましょう。ちゃんとn分割されるはずです。何故かは次の項にて明らかに
複素数z=a+biとw=c+diを掛けるとzw=(ac-bd)+(ad+bc)iになりますね?
仮にこのzとwが単位円上に乗ってるとしましょう。
&mimetex(\begin{eqnarray*}z&=\cos \theta + i \sin \theta \\ w&=\cos \phi + i \sin \phi \end{eqnarray*});
aはcosΘ, bはsinΘ, cはcosΦ, dはsinΦとなっていることにお気付きでしょうか?これを用いてzwを表すと
&mimetex(\begin{eqnarray*} zw&=&(\cos \theta \cos \phi - sin \theta \sin \phi) + (\cos \theta \sin \phi + \sin \theta \cos \phi)i \\ &=& \cos(\theta + \phi) + \sin(\theta + \phi)i \end{eqnarray*});
となります。つまり掛算は回転を意味する!
ちなみに単位円上に無い場合はさらに両者の絶対値をかけてやる必要があります
オイラーの定理というものがあります。
&mimetex( e^{i\theta} = cos \theta + i sin \theta);
証明や説明はするとテイラー展開とか出てきてかえって複雑なので省略。
これを使うと何が良いか?なんとΘを変えることで単位円上の任意の点を表すことができるのです!掛算も簡単でしょう?単位円上からずらしたい場合は絶対値の分をかけてやればOK。
&mimetex(re^{i\theta});
プログラミングにおいて複素数が一番役立つのは回転、試しに複素数を使わないでxy平面での回転を計算してみよう。いかに複素数が素晴らしいか分かるはず。