複素数については実在しないものの様に教わったので、なかなか理解できないままでいたのですが、実際に使ってみると便利に感じることもあるので、数学的には厳密でないかもしれませんが、私なりの理解でまとめてみます。
結論からすると、複素数は複素平面(横軸:実数、縦軸:虚数)におけるベクトルみたいなものです。ベクトルなので、大きさと角度を持ちます。
計算もベクトルと同じ様に、足し算、引き算ができます。
ただ、ベクトルと異なるのが、掛け算、割り算は、指数関数のように計算します。
まず、複素平面については、覚えるしか無さそうなので、複素数Zは実数成分がa、虚数成分がbのとき、虚数iを使って以下のように定義されます。
複素数Z = a + bi
複素数の大きさ(絶対値は)
傾き(偏角)は
となります。
ここまでは、ほとんどベクトルもしくは極座標の計算と同じです。
さらに、オイラーの公式というのがあり、
eiθ = cosθ + i sinθ
となります。
ここで登場するeはネイピア数と呼ばれるのですが、自然対数のeと同じフナ一羽二羽のe=2.718281828..と同じですが、指数のところに虚数のiが付いており、まじめにeの何乗か?と考えない方が良いかと思います。
eiθは、複素平面上での半径1の円として捉えて下さい。
θ=0の時は
ei0 = cos0 + i sin0 = 1 + i 0 = 1
となり、θ=π / 2 のときは
eiπ/2 = cos(π/2) + i sin(π/2)= 0+i 1 = i
となります。
オイラーの公式では大きさが1ですが、最初の複素数の定義のように任意の大きさAとすると、合わせ技で
Aeiθ = A(cosθ + i sinθ) = a + bi
ただし、 a = Acosθ、 b = Asinθ
となります。
ここで大事なのが、複素数の定義ではベクトルのように見えますが、オイラーの公式を用いると指数関数のようにも見えます。
このどちらにも見える特性を都合のいい方で扱えるところが便利なところです。
例えば、2つの複素数Z1とZ2の足し算は
Z1 = a1 + b1 i
Z2 = a2 + b2 i
Z1 + Z2 = a1 + b1i + a2 + b2i
= a1 + a2 + (b1 + b2)i
となります。
この計算は、ベクトル(a1, b1)とベクトル(a2, b2)の足し算と同じです。
同様のことは引き算でも言えます。
それでは、掛け算の場合は、どうなるかというと
Z1 = a1 + b1 i
Z2 = a2 + b2 i
Z1 x Z2 = (a1 + b1i) x (a2 + b2i )
= a1a2 + a1b2 i + a2b1 i + b1b2 i2
= a1a2 + (a1b2 + a2b1 )i ー b1b2
= a1a2 ー b1b2 +(a1b2 + a2b1 )i
としてもいいのですが、オイラーの公式を使って、Z1の絶対値をA1,偏角をθ1、Z2の絶対値をA2,偏角をθ2として
Z1 = a1 + b1 i = A1eiθ1
Z2 = a2 + b2 i = A2eiθ2
Z1 x Z2 = A1A2 ei(θ1+θ2)
のように指数関数として複素数の掛け算(割り算)は計算した方が良い場合がよくあります。
中間まとめ。
●複素数の足し算、引き算はベクトルの足し算、引き算
●複素数の掛け算、割り算は指数関数
と思って解ける場合が多い。
ここまで覚えると、複素数に関する公式は、覚えていなくても導き出せる場合が多いです。
例えば、虚数i は i2 = -1 となる値として教わったのですが、
$${ i }^{ 2 }={ \left( 0+1i \right) }^{ 2 }={ \left( { e }^{ i\frac { \pi }{ 2 } } \right) }^{ 2 }={ e }^{ i\left( \frac { \pi }{ 2 } +\frac { \pi }{ 2 } \right) }={ e }^{ i\pi }=-1$$
と考えると、回りくどいですが、自分の中ではスッキリと整理ができました。
他にも複素数の虚数成分を負にした(θをマイナスにした)ものを複素共役(ふくそきょうやく)といいますが、
$$Z\quad =\quad a\quad +\quad bi\quad =\quad A{ e }^{ i\theta }\quad \\ \bar { Z } \quad =\quad a\quad -\quad bi\quad =\quad A{ e }^{ -i\theta }\quad $$
図示するとこんな感じ↓
この特性から、実部aは複素共役を使うと
となりますが、図を見れば一目瞭然なので、あまり公式としては覚えていません。。
ただ、この複素共役ですが、分かりやすく eπ/3 と e-π/3 のようにペアになってくれてればいいのですが、 eπ/3 と e5π/3 のような場合が多いので、ご注意下さい。
結局、この複素数を使うと何がよいか?というと、
●実数と虚数が同時に計算できる。普通の実数の空間で言うのなら、XとYが同時に計算できる。
●都合の良い方で計算できる。ベクトル演算だったり、指数関数だったり。。
●フーリエ変換的な要素(バンドパスフィルタ)が計算できる。
というのは、個人的な意見なのですが、実際にはプログラムを組む時は、実部と虚部で別々で計算していたりもします。
まぁ、画像処理アルゴリズムを考える時の手助けにはなっています。