ユニタリ行列の性質

ユニタリ行列とエルミート行列の奇妙な関係。

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


エルミート行列で表せる

 ユニタリ行列\( U \)というのは次の条件を満たす行列であった。
\[ \begin{align*} U^{\dagger} U = 1 \end{align*} \]
 右辺の 1 は単位行列を意味している。数学では行列\( U \)のエルミート共役を表すのに\( U^{\dagger} \)ではなく\( U^{\ast} \)を使うことが多いが、物理では\( U^{\ast} \)は複素共役を意味するのに使うから数学の流儀には従わないことにする。ちなみに数学では複素共役を\( \overline{U} \)と表すのである。数学書に慣れた人はこの後の書き方に混乱しないようにしてほしいし、これから数学寄りの本を読もうという人もこういう違いを知っていた方がいいだろう。さて、この条件は次のように書いても同じことだ。
\[ \begin{align*} U^{\dagger} = U^{-1} \end{align*} \]
 この式だけを見てユニタリ行列というものが何を意味しているかを想像するのは難しい。直交行列というものを複素数の範囲にまで拡張したような行列である。直交行列がどんなものだったかというのは線形代数を復習してもらいたいが、ざっと言えば、もとの世界でのベクトルどうしの角度を変化させないような変換だった。回転とか、鏡に映した世界への変換だとか、そんなイメージだ。

 さて、直交行列を使った変換、すなわち直交変換というものにも興味はあるのだが、単純すぎるという弱点がある。最初にそれの説明から入ろうとすると、何だか当たり前のことをこね回しているようで面白味に欠けるのだ。しかし一旦難しいことをやって視野を広げてから直交変換に戻ってくると見方が変わってくる。こね回したくなる気持ちが分かるというものだ。

 というわけで、ここではまずユニタリ行列を使った変換、すなわちユニタリ変換の構造について調べてみたい。ユニタリ行列\( U \)というのは対角化できるのであった。次のような操作で、ユニタリ行列\( U \)から対角行列\( U' \)を作れるような行列\( V \)が必ずあるということである。

\[ \begin{align*} U' \ =\ V^{-1} \, U \, V \tag{1} \end{align*} \]
 この\( V \)もまたユニタリ行列である。ちょっと復習しておくと、正規行列というやつはみんな、ユニタリ行列\( V \)を使って対角化できるのである。ユニタリ行列自身も正規行列の一種だから、ユニタリ行列で対角化できるのである。そして対角行列に変換された\( U' \)もまたユニタリ行列としての性質を持ち続けている。それを確かめておこうか。
\[ \begin{align*} U'^{\dagger} \, U' \ &=\ \big(V^{-1} \, U \, V \big)^{\dagger} \, \big( V^{-1} \, U \, V \big) \\ &=\ \big( V^{\dagger} \, U^{\dagger} \, (V^{-1})^{\dagger} \big) \, \big( V^{-1} \, U \, V \big) \\ &=\ \big( V^{-1} \, U^{\dagger} \, (V^{\dagger})^{\dagger} \big) \, \big( V^{-1} \, U \, V \big) \\ &=\ \big( V^{-1} \, U^{\dagger} \, V \big) \, \big( V^{-1} \, U \, V \big) \\ &=\ V^{-1} \, U^{\dagger} \, V V^{-1} \, U \, V \\ &=\ V^{-1} \, U^{\dagger} U \, V \\ &=\ V^{-1} V \\ &=\ 1 \end{align*} \]
 ほらね。この\( U' \)は今や対角行列なのだから、次のような形になっているはずである。
\[ \begin{align*} U' \ =\ \left( \begin{array}{cccc} a\sub{11} & & & \\[4pt] & a\sub{22} & & \\[4pt] & & \ddots & \\[4pt] & & & a\sub{nn} \end{array} \right) \end{align*} \]
 そしてこれはユニタリ行列であるのだから、次の式が成り立つはずである。
\[ \begin{align*} U'^{\dagger} \, U' \ &=\ \left( \begin{array}{cccc} {a\sub{11}}^{\ast} & & & \\[4pt] & {a\sub{22}}^{\ast} & & \\[4pt] & & \ddots & \\[4pt] & & & {a\sub{nn}}^{\ast} \end{array} \right) \left( \begin{array}{cccc} a\sub{11} & & & \\[4pt] & a\sub{22} & & \\[4pt] & & \ddots & \\[4pt] & & & a\sub{nn} \end{array} \right) \\ &=\ \left( \begin{array}{cccc} {a\sub{11}}^{\ast} a\sub{11} & & & \\[4pt] & {a\sub{22}}^{\ast} a\sub{22} & & \\[4pt] & & \ddots & \\[4pt] & & & {a\sub{nn}}^{\ast} a\sub{nn} \end{array} \right) \\ &=\ \left( \begin{array}{cccc} |a\sub{11}|^2 & & & \\[4pt] & |a\sub{22}|^2 & & \\[4pt] & & \ddots & \\[4pt] & & & |a\sub{nn}|^2 \end{array} \right) \\ &=\ \left( \begin{array}{cccc} 1 & & & \\[4pt] & 1 & & \\[4pt] & & \ddots & \\[4pt] & & & 1 \end{array} \right) \end{align*} \]
 つまり、\( U' \)の対角成分の絶対値はどれも 1。絶対値が 1 の複素数は実数\( \theta \)を使って\( e^{i\theta} \)と書けるのだったから、
\[ \begin{align*} U' \ =\ \left( \begin{array}{cccc} e^{i\theta_1} & & & \\[4pt] & e^{i\theta_2} & & \\[4pt] & & \ddots & \\[4pt] & & & e^{i\theta_n} \end{array} \right) \tag{2} \end{align*} \]
と書いても良いだろう。この行列の中の指数関数はそれぞれにテイラー展開できて、
\[ \begin{align*} U' \ &=\ \left( \begin{array}{cccc} 1 + i\theta_1 + \frac{1}{2!}(i\theta_1)^2 + \cdots & & & \\[4pt] & 1 + i\theta_2 + \frac{1}{2!}(i\theta_2)^2 + \cdots & & \\[4pt] & & \ddots & \\[4pt] & & & 1 + i\theta_n + \frac{1}{2!}(i\theta_n)^2 + \cdots \end{array} \right) \\[3pt] &=\ \left( \begin{array}{cccc} 1 & & & \\[4pt] & 1 & & \\[4pt] & & \ddots & \\[4pt] & & & 1 \end{array} \right) \ +\ i \left( \begin{array}{cccc} \theta_1 & & & \\[4pt] & \theta_2 & & \\[4pt] & & \ddots & \\[4pt] & & & \theta_n \end{array} \right) \ +\ \frac{1}{2!} i^2 \left( \begin{array}{cccc} (\theta_1)^2 & & & \\[4pt] & (\theta_2)^2 & & \\[4pt] & & \ddots & \\[4pt] & & & (\theta_n)^2 \end{array} \right) \ +\ \cdots \\[3pt] &=\ 1\ +\ i \left( \begin{array}{cccc} \theta_1 & & & \\[4pt] & \theta_2 & & \\[4pt] & & \ddots & \\[4pt] & & & \theta_n \end{array} \right) \ +\ \frac{1}{2!} i^2 \left( \begin{array}{cccc} \theta_1 & & & \\[4pt] & \theta_2 & & \\[4pt] & & \ddots & \\[4pt] & & & \theta_n \end{array} \right)^2 \ +\ \cdots \\[3pt] &=\ 1 + iH' + \frac{i^2}{2!} {H'}^2 + \cdots \\[1pt] &=\ e^{iH'} \end{align*} \]
のように綺麗にまとまる。ここで次のように定義した行列\( H' \)を導入した。
\[ \begin{align*} H' \ \equiv\ \left( \begin{array}{cccc} \theta_1 & & & \\[4pt] & \theta_2 & & \\[4pt] & & \ddots & \\[4pt] & & & \theta_n \end{array} \right) \tag{3} \end{align*} \]
 なぜただの\( H \)という記号ではなく\( H' \)にしたかについては後で分かってもらえると思うので今は気にしないようにして欲しい。とにかく結論としては、
\[ \begin{align*} U' \ =\ e^{iH'} \tag{4} \end{align*} \]
という具合に、指数関数の肩に行列を載せるという不思議な形に書けるということだ。先ほどの変形過程から分かると思うが、この右辺は指数関数のテイラー展開の形に当てはめることで具体的な計算内容が理解できるようになっている。

 さて、次にこの対角化された\( U' \)を元の形に戻してやろう。それは次のようにすれば可能だ。

\[ \begin{align*} U \ =\ V \, U' \, V^{-1} \tag{5} \end{align*} \]
 (1) 式の両辺に左から\( V \)を掛けて、右から\( V^{-1} \)を掛ければこの式になるだろう。そして今から、この式の\( U' \)に (4) 式を代入してやるわけだ。さあさあ、お立ち会い!何が起こるか、ご覧あれ!
\[ \begin{align*} U \ &=\ V \, e^{iH'} \, V^{-1} \\ &=\ V \, \Big(1 \ +\ iH' \ +\ \frac{i^2}{2!} {H'}^2 \ +\ \frac{i^3}{3!}{H'}^3 \ +\ \cdots \Big) \, V^{-1} \\ &=\ VV^{-1} \ +\ iV\,H'\,V^{-1} \ +\ \frac{i^2}{2!} V {H'}^2 V^{-1} \ +\ \frac{i^3}{3!} V {H'}^3 V^{-1} \ +\ \cdots \\ &=\ 1 \ +\ i V\,H'\,V^{-1} \ +\ \frac{i^2}{2!} V H'V^{-1}V H' V^{-1} \ +\ \frac{i^3}{3!} V H'V^{-1}V H' V^{-1}V H' V^{-1} \ +\ \cdots \\ &=\ 1 \ +\ i V\,H'\,V^{-1} \ +\ \frac{i^2}{2!} (V H'V^{-1})^2 \ +\ \frac{i^3}{3!} (V H'V^{-1})^3 \ +\ \cdots \\ &=\ e^{i(V\,H'\,V^{-1})} \end{align*} \]
 この結果をもっと簡単そうに見せるために、
\[ \begin{align*} H \ \equiv\ V \, H' \, V^{-1} \tag{6} \end{align*} \]
という行列\( H \)を新たに導入すれば、次のような結論になる。
\[ \begin{align*} U \ =\ e^{iH} \tag{7} \end{align*} \]

 この行列\( H \)について、それがどんなものだと言えるだろうか。性質を探ってみよう。例えば、\( H \)のエルミート共役\( H^{\dagger} \)を作ってみる。

\[ \begin{align*} H^{\dagger} \ &=\ (V \, H' \, V^{-1})^{\dagger} \\ &=\ (V^{-1})^{\dagger} \, {H'}^{\dagger} \, V^{\dagger} \\ &=\ (V^{\dagger})^{\dagger} \, {H'}^{\dagger} \, V^{\dagger} \\ &=\ V \, {H'}^{\dagger} \, V^{-1} \\ &=\ V \, H' \, V^{-1} \\ &=\ H \end{align*} \]
 この変形で使った性質は細かいことを言えば色々とあるわけだが、主なものといえば、\( V \)がユニタリ行列であるために\( V^{\dagger} = V^{-1} \)が成り立つということと、\( H' \)が実数成分のみの対角行列であるために、転置しても複素共役を取っても何も変化しない、すなわち\( {H'}^{\dagger} = H' \)が成り立つということだ。(6) 式も使っているな。さて、これにより、
\[ \begin{align*} H^{\dagger} \ =\ H \end{align*} \]
が成り立っていることが言えた。これはつまり、\( H \)がエルミート行列であるということである。

 ここまで長々と話してきたことをまとめよう。ユニタリ行列\( U \)はエルミート行列\( H \)を使って (7) 式のように表すことが出来る。これこそが重要な結論であり、それだけのためにこんな話を続けてきたのだ。

 (5) 式と (6) 式とで、\( U \)\( H \)を同じ規則で変換しているところにも気を付けて見ておいて欲しい。対角化するかどうかにかかわらず、\( U \)\( H \)を同じ規則で変換している限り、(7) 式と同じ形が成り立っているのである。それについては上でやったのと全く同じ計算で確かめることができるのだが、気になる読者は自分でもやってみるといいだろう。


特殊なユニタリ変換

 次に、ユニタリ行列に特別な制限をかけた場合の話をする。ユニタリ行列\( U \)の行列式が 1 である場合を考えるのだ。
\[ \begin{align*} \text{det} \, U \ =\ 1 \end{align*} \]
 ただでさえどんな意味があるのかイメージしづらいユニタリ変換なのに、その行列式が 1 であることにどんなイメージを描いたら良いのだろう?成分が実数の行列の場合には、行列式が 1 というのはベクトルが作る平行四辺形や平行 6 面体の面積や体積が、変換後も変化しないというものだった。それに似た何かだだろう。

 (5) 式のような変換では行列式は変わらない。なぜなら、行列の積の行列式は、各行列の行列式の積であり、逆行列の行列式ともとの行列の行列式は逆数の関係にあるからだ。言葉で言うとややこしいが、こういうことだ。

\[ \begin{align*} \text{det} \, U \ &=\ \text{det} \, \big( V \, U' \, V^{-1} \big) \\ &=\ (\text{det} \, V)(\text{det} \, U')(\text{det} \, V^{-1}) \\ &=\ \text{det} \, U' \end{align*} \]
 つまり、今の場合には\( U' \)の行列式も 1 だということになる。\( U' \)は (2) 式のような対角行列になっており、行列式の計算も楽である。次のような関係が成り立っていることになる。
\[ \begin{align*} \text{det} \, U' \ &=\ e^{\theta_1} \, e^{\theta_2} \, \cdots \, e^{\theta_n} \ =\ 1 \\ \end{align*} \]
 つまり、
\[ \begin{align*} &\exp ( \theta_1 + \theta_2 + \cdots + \theta_n ) \ =\ 1 \\ \therefore\ &\theta_1 + \theta_2 + \cdots + \theta_n \ =\ 0 \end{align*} \]
 これは (3) 式のような\( H' \)の対角成分の和を取ったものが 0 になることを意味している。対角成分だけの全ての和を取ったものを「トレース」と呼ぶ。つまり、今の場合、\( H' \)のトレースは 0 だということになる。
\[ \begin{align*} \text{tr}(H') \ =\ 0 \end{align*} \]
 ところで、行列の積のトレースは、積の順序を入れ替えても変わらないという性質がある。
\[ \begin{align*} \text{tr}(AB) \ =\ \text{tr}(BA) \end{align*} \]
 ただし 3 つ以上の行列の積のトレースを考える時には、自由に並びを入れ替えていいわけではない。行列の積を二つの部分に分けて入れ替えることができるだけだ。
\[ \begin{align*} \text{tr}(ABCDEFG) \ =\ \text{tr}(GABCDEF) \ =\ \text{tr}(FGABCDE) \end{align*} \]
 トレースの計算では、行列の並びを変えずに先頭と後端を繋いでリング状にしたものをスライドさせても良いということだ。この性質を利用すれば、
\[ \begin{align*} \text{tr}(H') \ &=\ \text{tr}(V^{-1} \, H \, V ) \\ &=\ \text{tr}(V \, V^{-1} \, H ) \\ &=\ \text{tr}(H) \\ \end{align*} \]
となるから、結局\( H \)のトレースも 0 だということが言えるだろう。
\[ \begin{align*} \text{tr}(H) \ =\ 0 \end{align*} \]


一旦まとめ

 長々と話してきたが、ユニタリ行列はエルミート行列を使って\( e^{iH} \)という形で表せるというだけのことである。そして、ユニタリ行列の行列式が 1 の時にはエルミート行列の対角和(トレース)が 0 だというだけ。それだけを言いたかったのである。


ユニタリ変換の自由度

 \( n \)次の正方行列には\( n^2 \)個の成分がある。そしてその成分が全て複素数だとすると、\( 2n^2 \)個の実数の組み合わせで行列が作られていることになる。つまり、実数にして\( 2n^2 \)個分の自由度があるということだ。しかしそれはあらゆる種類の行列を作るときの話であって、ユニタリ行列となるのはその一部だけである。ユニタリ行列になるためにはもっと制限がかかるはずだ。

 ユニタリ行列を列ごとに分けると、\( n \)組の複素ベクトルができる。これらの複素ベクトルはそれぞれノルム(ベクトルの長さ)が 1 であり、互いに直交しているという性質がある。\( n \)個のベクトルから 2 つを選ぶ組み合わせは\( _nC_2 = n(n-1)/2 \)通りあり、その選ばれた二つのベクトルの内積が 0 になるためには、その内積の実数部分と虚数部分がともに 0 でなければならないから、2 つの式で制限されることになる。つまり、\( n(n-1) \)個の式で制限が掛かる。ノルムが 1 になる条件はそれぞれのベクトルごとに一つずつの式でいい。合計すると\( n^2 \)個の式によって制限されていることになる。\( 2 n^2 \)個分の自由度から\( n^2 \)個の束縛条件を引けば、残る自由度は\( n^2 \)だと言えるだろう。さらに行列式が 1 だという条件が課されていれば\( n^2 - 1 \)となるはずだ。

 別の考え方もしてみよう。上の話によれば、ユニタリ行列はエルミート行列を使って表せるというのだから、ユニタリ行列にはエルミート行列と同じ程度のパターンがあることになる。そこで、エルミート行列の自由度を数えてやることにしよう。

 \( n \)次のエルミート行列の対角成分は\( n \)個あるが、これらはエルミート行列の性質により実数でなくてはならない。そして、対角成分以外の成分は\( n^2 - n \)個あり、これらは複素数でもいいので\( 2(n^2-n) \)個の実数で表されるが、エルミート行列というのは 1 つの成分が決まるとその対称な位置にある成分の値も決まってしまうので、実際はその半分の自由度である。つまりそれは実数\( n^2 - n \)個分である。これと、対角成分の実数\( n \)個分を足し合わせれば、全部で\( n^2 \)個の実数の組み合わせで出来ていることが分かる。

 さて、ユニタリ行列の行列式が 1 である場合には、エルミート行列の対角和(トレース)が制限されるので、対角成分の内の一つは他の対角成分を使って表されることになる。つまり、自由度が一つ減る。その場合には実数\( n^2 - 1 \)個分の自由度となるだろう。やはりユニタリ行列を使って考えたのと同じ結果が出た。

 例えば、行列式が制限されている 2 次のユニタリ行列の場合には自由度が 3 になるし、3 次の場合の自由度は 8 である。

 このような話を使って、これから個別の具体例を考えていこう。次回ではとりあえず 2 次のユニタリ行列についてもっと詳しく調べてみる予定である。自由度が 3 つしかないらしいので、多分簡単だろう。