複素数の実行列表現

虚数単位 i は二乗すると -1 となる数である。とはいえ、そんな値は現実世界では見た事も聞いた事も無いという人がほとんどだろう。i 個のリンゴとか、俺今年で i 歳なんだよーとか、ケーキを i 分の1ずつに分けるとか、まずもってあり得ないわけである。現実世界は実数で満たされており、複素数なんてのは紙の上にしか現れないというのが普通の感覚だろう。

そんな複素数だが、実数だけを使って表現することはできないのだろうか? 実は、複素数は実数だけを使って表現することができるのである。とはいえ、普通の数ではなく、行列になる。行列を理解できなければ意味が無いといえば意味が無いのだが、複素数よりイメージしやすいという人もいるかもしれない。

まあ、そんなわけで、複素数を実数の行列で表してみよう。

ちなみに今日の日記は高校生あたりが対象デス。(って、高校生でこの日記見てる人いるのか?)


まず、2×2行列で考える事にする。2×2行列とはこんな感じのものである。


A = \left(\begin{matrix}A_{11} & A_{12} \\ A_{21} & A_{22} \end{matrix}\right)


このように、2×2行列は4つの値を2×2に並べたものである。

2×2行列同士の足し算は、単にそれぞれの値を足し合わせただけのものになる。


A + B = \left(\begin{matrix}A_{11} + B_{11} & A_{12} + B_{12} \\ A_{21} + B_{21} & A_{22} + B_{22} \end{matrix}\right)


これはイメージしやすいと思う。

次に、単なる実数 c と2×2行列の掛け算を考えてみよう。これは、単に行列の各要素全体に c を掛ければ良い。


c A = \left(\begin{matrix}c A_{11} & c A_{12} \\ c A_{21} & c A_{22} \end{matrix}\right)


これもまだイメージしやすいと思う。

では問題。2×2行列同士の掛け算はどうすればいいのだろうか?


AB = \left(\begin{matrix}A_{11} & A_{12} \\ A_{21} & A_{22} \end{matrix}\right) \left(\begin{matrix}B_{11} & B_{12} \\ B_{21} & B_{22} \end{matrix}\right) = ?


ちょっとイメージ湧かないと思う。これは


AB = \left(\begin{matrix}A_{11}B_{11} + A_{12}B_{21} & A_{11}B_{12} + A_{12}B_{22} \\ A_{21}B_{11} + A_{22}B_{21} & A_{21}B_{21} + A_{22}B_{22} \end{matrix}\right)


となる。これは


(AB)_{ij} = A_{i1} B_{1j} + A_{i2} B_{2j}


と書く事も出来る。「何でこんな規則になってんの?」ということを説明するのは難しいので、まあそういうものなんだと思って欲しい。

この形の掛け算を考えると ABBA は必ずしも等しくならないのだが、まあそこは今はあまり重要じゃないので深くはつっこまないことにする。


では、A に何かを掛けてまた A になるような2×2行列はどのようなものになろうだろうか? そのような行列を E と書くとすると、


EA = \left(\begin{matrix}E_{11}A_{11} + E_{12}A_{21} & E_{11}A_{12} + E_{12}A_{22} \\ E_{21}A_{11} + E_{22}A_{21} & E_{21}A_{21} + E_{22}A_{22} \end{matrix}\right) = \left(\begin{matrix}A_{11} & A_{12} \\ A_{21} & A_{22} \end{matrix}\right)


となるわけだが、両辺を見比べれば


E_{11} = 1,
E_{12} = 0,
E_{21} = 0,
E_{22} = 1


となることが分かると思う。これは、実は E を右から掛けても成り立つ。つまり、EA = AE = A となるわけだ。

このような行列は単なる実数の掛け算で言う所の 1 に相当する行列で、単位行列と呼ばれている。

行列同士の掛け算は AB = BA になるとは限らないと言ったが、見て分かる通り、単位行列との掛け算に関しては EA = AE となる。このように掛け算の順番をひっくり返せる性質の事を「交換する」と言う。つまり、単位行列は任意の2×2行列と「交換する」わけだ。

単位行列の実数倍な行列 cEdE を考えると、これら2つの行列ももちろん交換する。そして、その掛け算の結果は


cE \cdot dE = cdE


となる。E を除いて考えると、c \cdot d = cd という普通の実数の掛け算と同じように見える。同じように、足し算も


cE + dE = (c+d)E


となり、他の色んな計算も普通の実数と同じように行うことが出来る。つまり、実数 c と行列 cE とは同じようなものだと考える事ができるわけだ。

これこそが今日の話でやりたい事なのだ。「実数 c と行列 cE とが同じようなものだ」ということと同様に、複素数 z = x+iy と同じような計算法則を満たす行列を見つければいいわけだ。


複素数単位 i は次のように定義される。


i = \sqrt{-1}


そして、i


i^2 = -1


という性質を持っている。なら、M^2 = -E となるような行列 M が見つかれば、それはきっと i と同じように扱える行列なのだろう。というわけで、そのような M を求めてみよう。


まず、


(M^2)_{ij} = M_{i1} M_{1j} + M_{i2} M_{2j} = -E


より、


M_{11}^2 + M_{12} M_{21} = -1,
M_{11} M_{12} + M_{12} M_{22} = 0,
M_{21} M_{11} + M_{22} M_{21} = 0,
M_{21} M_{12} + M_{22}^2 = -1


となり、式を整理すると


M_{11}^2 + M_{12}M_{21} = -1,  (1)
M_{22}^2 + M_{12}M_{21} = -1,  (2)
M_{12} (M_{11} + M_{22}) = 0,  (3)
M_{21} (M_{11} + M_{22}) = 0  (4)


となる。

(3) から M_{12} = 0M_{11} + M_{22} = 0 となるが、M_{12} = 0 とすると (1) や (2) が成り立たないので、M_{12} \neq 0 であり、M_{11} + M_{22} = 0 ということになる。同様に、(4) より M_{21} \neq 0 となる。これをまとめると、


M_{11}^2 + M_{12}M_{21} = -1,
M_{11} = -M_{22},
M_{12} \neq 0,
M_{21} \neq 0


となる。

ところが、この条件を満たす行列は無限にある。例えば、M_{11} = 1, M_{12}= 1, M_{21} = -2, M_{22} = -1 なんかもそうだし、M_{11} = 3, M_{12}= 2, M_{21} = -5, M_{22} = -3 なんかもそうだ。

では、この条件を満たすならどんな行列でも i の代わりとして使えるのだろうか? 結論から言うと、その通りなのである。とは言え、なるべく見た目が綺麗なものを選びたいものである。というわけで、M_{11} = 0, M_{12} = 1 とした時の


M = \left(\begin{matrix}0 & 1 \\ -1 & 0 \end{matrix}\right)


を採用したいと思う。

つまり、実数のみで構成される2×2行列


Z = xE + yM = \left(\begin{matrix}x & y \\ -y & x \end{matrix}\right)


は、複素数 z = x+iy と同じ性質を持つというわけである。


普通の数であれば二乗して -1 になるなんて想像し難いと思うが、行列ならば二乗して  - E になっても別に普通の事のように思えるのではないかと思う。虚数単位 i は、行列でなければ自然な形で表せないようなものを無理矢理普通の数で表そうとしたものなのだ、と解釈すれば、ちょっとは身近に感じられるようになるのではないだろうか。


さて、この行列が複素数と同じ性質を持っているというのであれば、割り算も行えるはずである。次に、この行列による割り算を考えてみよう。

割り算というのは、掛け算の逆を行う演算である。つまり、


ab = c


なら、


a = c/b


となる。

これと同様に考えると、


AB = C


なら、


A = C/B


となるわけだ。

でも、これだけでは行列による割り算をどうやって行えば良いのかはいまいち分からない。そこで、C = E の場合を考えてみよう。


AB = E
A = E/B


E1 のような性質を持っている事を考えると、AB の逆数であるように見える。このような行列を B逆行列と呼ぶ。普通の数なら逆数と呼ぶ所を、行列なので逆行列と呼ぶわけである。B逆行列B^{-1} と言う風に表す。

AB = E なので、逆行列


B^{-1}B = E


の性質を持っていることになる。この式を使って B^{-1} を求めると、2×2行列の場合、以下のようになる。


B^{-1} = \frac{1}{B_{11}B_{22} - B_{12}B_{21}} \left(\begin{matrix}B_{22} & -B_{12} \\ B_{21} & B_{11} \end{matrix}\right)


あとは、割り算を行う際に、代わりにこの逆行列を掛けてやればいいのである。


C/B = C B^{-1}


これが行列の割り算に相当する。


普通の行列は ABBA が同じとは限らないと話した。つまり、AB を右から掛けるか左から掛けるかで結果が変わる事があるということだ。

これを考えると、割り算も同様の性質を持っている事が推測できる。つまり、AB で右から割るか左から割るかで結果が変わる事があるということだ。あまり「左から割る」ということはイメージし辛いかもしれないが、行列による割り算が逆行列の掛け算で表せることを考えれば、B^{-1}A というのが「左から割る」ということである。

ただ、複素数と同じように考える事の出来る行列は必ず交換するので(でなければ複素数と同じように扱えているとは言えない)、右から割ろうが左から割ろうが結果は変わらない。だから、今はまあそんなこともあるんだなあと思っておくだけで構わないと思う。


で、その複素数に対応する行列の逆行列とやらは、以下のようになる。


Z^{-1} = \frac{1}{x^2 + y^2} Z^{\rm T}


この Z^{\rm T} というのは転置行列というもので、単に行列の右上と左下をそっくりひっくり返しただけのものである。


\left(\begin{matrix}A_{11} & A_{12} \\ A_{21} & A_{22} \end{matrix}\right)^{\rm T} = \left(\begin{matrix}A_{11} & A_{21} \\ A_{12} & A_{22} \end{matrix}\right)


複素数に対応する行列の転置行列は、実は複素共役に相当する行列になる。というのも、


\left(\begin{matrix}x & y \\ -y & x \end{matrix}\right)^{\rm T} = \left(\begin{matrix}x & -y \\ y & x \end{matrix}\right)


となり、虚部の符号が逆になるからだ。

ということは、複素数で考えると


\frac{1}{z} = \frac{z^*}{x^2 + y^2}


となるはずである。事実、


z z^* = (x+iy) (x-iy) = x^2 - (iy)^2 = x^2 + y^2
\frac{1}{z} = \frac{z^*}{x^2 + y^2}


となる。


以上をまとめると、

  • Z = xE + yM, M = \left(\begin{matrix} 0 & 1 \\ -1 & 0 \end{matrix}\right)複素数と同じように扱える。
  • ただし、Z による割り算は Z^{-1} による掛け算に置き換えて考える。
  • Z の転置は複素共役に相当する。


となる。最後の結果だけはいささか人為的であるが(そうならないように M を決めることもできたから)、まあこんな感じで、上記のように定義された Z複素数と同じように扱えるというわけである。これで少しでも複素数が身近に感じられれば幸いである。


ちなみに、もっとサイズの大きい行列を使っても同様に複素数と同じような性質を持つ行列を作る事ができる。2×2行列はあくまでそのような行列の中でも最小のものだというだけに過ぎないのだ。まあ、小さい方が扱いやすいので無理に大きくする必要は無いが、興味があれば例えば4×4行列でどうなるかとか考えてみるのもいいだろう。