演算子は行列だ

エルミート演算子とは何か。

[
前の記事へ]  [量子力学の目次へ]  [次の記事へ]


線形変換

 波動関数からエネルギーや運動量の値を取り出すには微分することが必要だった。波動関数が指数関数の形をしていれば関数の形は変わらないが、それ以外の形をしていた場合には波動関数の形はひどく変化を受けることになる。この状況をベクトル表現で解釈し直すとどのようになるだろうか。

 波動関数は状態ベクトルとして表せるのだった。波動関数に微分を施して変化した関数もやはり関数であって、同じ方法でベクトルとして表せるはずである。ならば、元のベクトルと変化後のベクトルとの関係をベクトル変換のようなものであると考えてはどうだろうか?ベクトルの変換は行列を使って表すことが出来る。この考えで行けそうだ。

 しかしどんな複雑な変換でも行列で表せると思ったら大間違い。行列なんていうのは所詮、線形変換を表すことしか出来ないのだ。線形変換とは、

\[ \begin{align*} f( ax + by ) \ =\ a f (x) \ +\ b f (y) \end{align*} \]
という性質を持った変換\( f \)のことである。つまり、元のベクトル\( x \)が定数倍されれば変換後のベクトルも同じだけ定数倍されるし、別のベクトルとの和を取ったベクトルを変換すれば、それぞれを別々に変換したものの和を取ったものと等しくなるという、実に厳しい制限付きの変換である。しかしこのような制限があるからこそ線形代数という扱いやすい学問が出来ているのであって、さもなければ手に負えないものになっていただろう。

 さあ、安心して構わない。関数の微分には同じ性質があるではないか。それでこういう性質を持った演算子を「線形演算子」と呼ぶこともある。つまりベクトル表現を使えば、線形演算子の働きは無限行、無限列の行列として表すことができるということだ。

 たった一つの物理量が無限の成分を持つ量に化けてしまうなんて!なぜこんなに情報量が増えてしまったのかと不思議に思う必要はない。ある状態にはある運動量が対応し、別の状態には別の運動量が対応している。この無限次元の行列はそれら全ての状態についての対応関係を書き並べたものなのである。

 それにしても無限×無限個の成分はあまりに多すぎるのではないかと思うかも知れないが、この行列にはある規則があって、実際には無限個の情報しか入っていないので安心してもらいたい。これについてはしばらく後で分かるだろう。


固有ベクトル

 行列には「固有ベクトル」というものが存在する。その行列で変換しても方向が全く変化しないような特別なベクトルのことだ。大抵の行列はそういう不思議な方向を複数持っている。ベクトルの方向は変化しないがベクトルの長さだけは変化する。その長さの変化の定数を「固有値」と呼ぶ。このような特別な方向が存在することはそれほど不思議でもない。図を書いてやれば一目瞭然と分かることだ。

 しかしここで線形代数の講義を差し挟むと本筋から離れる可能性が高いので、補習コーナーにでもまとめておくことにしよう。


ユニタリ変換の効用

 物理量が行列で表されると言われても抽象的過ぎてピンと来ない。どんな物理量をどんな行列で表したらいいのだろうか。その条件を探ってみよう。

 指数関数を座標で微分した時に、中から運動量の値が飛び出してくることを除けば、関数の形は変わらないのだった。すなわち、状態が変わらないまま定数分だけ変化するわけだ。これは先ほど話した固有ベクトルと固有値の話と非常に似ている。行列で変換してもベクトルの方向が変わらないということは状態が変わらないことを意味するからだ。そしてベクトルの長さが定数分だけ変化するのは中から物理量を取り出してきた事に相当する。つまり、行列の固有値を物理量に対応させて理論を構築してやればいいわけだ。

 引き続き、運動量を例に取って考えてみよう。以前に運動量表示について詳しく説明しておいたのはこのための伏線である。

 運動量ベクトルはお互いに直交して無限に存在するのだった。理解しやすいように、それらのベクトルを

\[ \begin{align*} |p\sub{0}\rangle = \left( \begin{array}{c} 1 \\ 0 \\ 0 \\ \vdots \\ 0 \\ \vdots \end{array} \right)\ ,\ |p\sub{1}\rangle = \left( \begin{array}{c} 0 \\ 1 \\ 0 \\ \vdots \\ 0 \\ \vdots \end{array} \right)\ ,\ |p\sub{2}\rangle = \left( \begin{array}{c} 0 \\ 0 \\ 1 \\ \vdots \\ 0 \\ \vdots \end{array} \right)\ ,\ \cdots \end{align*} \]
のように基本ベクトルで表すことにしよう。これらはそれぞれ、運動量\( p\sub{0},\ p\sub{1},\ p\sub{2},\ \cdots \)を持つことが確定した状態であるとする。さて、これら全てのベクトルの方向を変えないで、それぞれの長さを\( p\sub{0},\ p\sub{1}, p\sub{2}, \cdots \)倍するような行列は一体どのようなものだろうか?まぁ、あまり考えなくても答えは次のようになることが分かる。
\[ \begin{align*} \left( \begin{array}{ccccc} p\sub{0} & 0 & 0 & \cdots \\[8pt] 0 & p\sub{1} & 0 & \cdots \\[8pt] 0 & 0 & p\sub{2} & \cdots \\[8pt] \vdots & \vdots & \vdots & \ddots \\[8pt] \end{array} \right) \end{align*} \]
 例えば、\( |p\sub{0} \rangle \)の場合には
\[ \begin{align*} \left( \begin{array}{ccccc} p\sub{0} & 0 & 0 & \cdots \\[8pt] 0 & p\sub{1} & 0 & \cdots \\[8pt] 0 & 0 & p\sub{2} & \cdots \\[8pt] \vdots & \vdots & \vdots & \ddots \\[8pt] \end{array} \right) \left( \begin{array}{c} 1 \\ 0 \\ 0 \\ \vdots \\ 0 \\ \vdots \end{array} \right) = p\sub{0} \left( \begin{array}{c} 1 \\ 0 \\ 0 \\ \vdots \\ 0 \\ \vdots \end{array} \right) \end{align*} \]
のようになるだろう?そういうことだ。運動量は実数でなければならないから、運動量を表す行列は実数の対角行列だということになる。

 ところで、状態ベクトルの空間内では特定の方向に意味があるわけではない。ここで運動量ベクトルを基本ベクトルで表したのは、分かりやすいためにそうしただけであって、ユニタリ変換してやっても本質は変わらないのだった。ユニタリ変換とは複素ベクトル空間内で全てのベクトルの位置関係を保ったまま同じように回転させるようなイメージのものだからだ。

 実数の対角行列を例えば\( \Vec{A} \)と表してやろう。先ほどの式は、

\[ \begin{align*} \Vec{A} |p\sub{0} \rangle\ =\ p\sub{0} |p\sub{0}\rangle \end{align*} \]
と書けるが、この関係式を保ったままユニタリ変換してやるためにはどうしたらいいだろう。右辺の\( |p\sub{0}\rangle \)をユニタリ変換して\( \Vec{U}|p\sub{0}\rangle \)とするためには、左辺にも左からユニタリ行列をかけて
\[ \begin{align*} \Vec{U} \Vec{A} |p\sub{0}\rangle\ =\ p\sub{0} \Vec{U} |p\sub{0}\rangle \end{align*} \]
としなくてはならない。これでは左辺の\( |p\sub{0}\rangle \)が変換されないままになってしまうので、ちょっと工夫して
\[ \begin{align*} \Vec{U} \Vec{A} \Vec{U}^{-1} \Vec{U} |p\sub{0}\rangle\ =\ p\sub{0} \Vec{U} |p\sub{0}\rangle \end{align*} \]
としてやろう。こうすれば\( |p\sub{0}\rangle \)をユニタリ変換して作った\( \Vec{U} |p\sub{0}\rangle \)というベクトルが固有ベクトルとなるような新しい行列\( \Vec{H} \)を作ることができる。つまり、
\[ \begin{align*} \Vec{H}\ &=\ \Vec{U} \Vec{A} \Vec{U}^{-1} \\ |p'\sub{0}\rangle\ &=\ \Vec{U} |p\sub{0}\rangle \end{align*} \]
のように置き替えてやれば、
\[ \begin{align*} \Vec{H}\ |p'\sub{0}\rangle\ =\ p\sub{0}\ |p'\sub{0}\rangle \end{align*} \]
と書けるということだ。このようにして実数の対角行列をユニタリ変換して作った新しい行列\( \Vec{H} \)の固有値は、変換する前の対角行列のそれと変わらないままだということが分かる。よって、この行列\( \Vec{H} \)も物理量を表していると言える。これからこの行列\( \Vec{H} \)の性質を詳しく調べてやることにしよう。


エルミート行列の性質

 まずこの行列\( \Vec{H} \)のエルミート共役を取ってやるとどうなるかを見よう。エルミート共役は以前にブラベクトルとケットベクトルの関係を話したところで出てきた。行と列を入れ替えた上で複素共役を取ってやる操作である。ところで、行列の積のエルミート共役を取る場合には次の関係が成り立っている。
\[ \begin{align*} ( \Vec{A}\ \Vec{B} )^{\dagger} = \Vec{B}^\dagger\ \Vec{A}^\dagger \end{align*} \]
 これとユニタリ行列の性質\( \Vec{U}^{-1} = \Vec{U}^{\dagger} \)を使って変形していくことにする。もうひとつ、「実数の対角行列\( \Vec{A} \)のエルミート共役を取っても元となんら変わらない」というごく当たり前の性質も使う。すると、
\[ \begin{align*} \Vec{H}^{\dagger} \ &=\ (\Vec{U} \Vec{A} \Vec{U}^{-1})^\dagger \\ &=\ (\Vec{U} \Vec{A}\ \cdot\ \Vec{U}^{-1})^\dagger \\ &=\ ( \Vec{U}^{-1} )^\dagger\ (\Vec{U} \Vec{A})^\dagger \\ &=\ ( \Vec{U}^{\dagger} )^\dagger\ \Vec{A}^\dagger\ \Vec{U}^\dagger \\ &=\ \Vec{U}\ \Vec{A}\ \Vec{U}^{-1} \\ &=\ \Vec{H} \end{align*} \]
という具合になる。つまりこの行列\( \Vec{H} \)はエルミート共役を取っても、取る前と変わらないことが分かる。
\[ \begin{align*} \Vec{H}^{\dagger} \ =\ \Vec{H} \end{align*} \]
 このような性質を持つ行列を「エルミート行列」と呼ぶことにしよう。あるいは自分自身が自身の随伴行列になっていることから「自己随伴行列」と呼ぶこともある。

 この関係からすぐに分かると思うが、対称成分は複素共役になっている。1 行 2 列目が\( a + bi \)だとしたら、2 行 1 列目の成分は\( a - bi \)になっているわけだ。だとしたら対角成分は必ず実数でなければならない。理屈は分かるかな?逆にそういう行列があればエルミート行列だと思っていい。ただし、この対角成分の実数はユニタリ変換する前の対角行列の実数と同じになっているわけではない。やってみればすぐに分かることだが、頭の中だけで理解しようとするとそういう勘違いも有り得るので注意しておく。

 普通の教科書では「エルミート行列はユニタリ変換をすることで実数の対角行列に変形できる」などと、さも不思議な難しい定理であるかのように説明しているが、もともと実数の対角行列をユニタリ変換したものがエルミート行列なのだから当然のことだ。


エルミート演算子

 物理量を表す演算子が行列に相当するということで、物理量を表すにふさわしい行列がどのような性質を持つかを調べてきた。つまりエルミート行列でなければならないのだった。ならば演算子の方にも何かこれに相当する条件があるはずである。それを「エルミート性」と呼ぼう。

 行列表現と波動関数表現の間には次のような関係がある。

\[ \begin{align*} \langle\phi|\Vec{H}|\psi\rangle = \int\phi^\ast(x)\Vec{H}\psi(x) \diff x \end{align*} \]
 左辺のブラベクトルとケットベクトルの間に行列\( \Vec{H} \)がはさまっているが、これは行列\( \Vec{H} \)がケットベクトルを変換したものとブラベクトルとの内積を取るという意味だ。また右辺の積分内の 2 つの関数の間に同じく\( \Vec{H} \)がはさまっているが、これは行列ではなく演算子の意味で書いてある。演算子\( \Vec{H} \)が関数\( \psi(x) \)に作用した結果の関数と\( \phi(x) \)との内積を取るという意味であって、どちらの表現も同じ内容を表していることが分かるだろう。この関係を使えば、演算子\( \Vec{H} \)がエルミート性を持つ条件が導けそうだ。

 結論から先に書けば、行列\( \Vec{H} \)のエルミート性だけから次のような関係が導かれる。

\[ \begin{align*} \langle\phi|\Vec{H}|\psi\rangle^\ast = \langle\psi|\Vec{H}|\phi\rangle \end{align*} \]
 何も難しいことを言っているわけではない。ブラベクトルは単なる横一列のベクトル、ケットベクトルは縦一列のベクトルであると考えればいい。単に行列の掛け算をしているだけだ。ケットベクトルの成分が、
\[ \begin{align*} |\phi\rangle = \left( \begin{array}{c} \phi\sub{0} \\ \phi\sub{1} \\ \phi\sub{2} \\ \vdots \end{array} \right) \end{align*} \]
と表されるとしたら、ブラベクトルの成分は、
\[ \begin{align*} \langle\phi| = \left( \begin{array}{cccc} \phi\sub{0}^{\ast} & \phi\sub{1}^{\ast} & \phi\sub{2}^{\ast} & \ldots \end{array} \right) \end{align*} \]
であるというだけのことで、成分に分けて書けば結局、左辺は次のような計算をしていることになる。
\[ \begin{align*} \left( \sum_{i,j} \phi_i^\ast\ H_{ij}\ \psi_j \right)^\ast \end{align*} \]
 括弧の右上に複素共役を取る記号がついているので、括弧を外してやろう。それぞれの複素共役を取ってやればいい。
\[ \begin{align*} =\ \sum_{i,j} \phi_i\ H_{ij}^\ast\ \psi_j^\ast \end{align*} \]
 ここでエルミート行列の性質を使う。\( \Vec{H} \)の各成分は、行と列を入れ替えて複素共役を取ってやっても変わらないのだった。
\[ \begin{align*} =\ \sum_{i,j} \phi_i\ H_{ji}\ \psi_j^\ast \end{align*} \]
 分かりやすいように配置換えをしてやる。
\[ \begin{align*} =\ \sum_{i,j} \psi_j^\ast\ H_{ji}\ \phi_i \end{align*} \]
 記号\( i \)\( j \)は単なる添え字であって、本来どんな記号を使っても構わない。分かりやすいように入れ替えて使ってやろう。
\[ \begin{align*} =\ \sum_{i,j} \psi_i^\ast\ H_{ij}\ \phi_j \end{align*} \]
 これは先ほどの式の右辺である。これで先ほどの関係式が証明された。もう一度書いておこう。
\[ \begin{align*} \langle\phi|\Vec{H}|\psi\rangle^\ast = \langle\psi|\Vec{H}|\phi\rangle \end{align*} \]
 途中で使ったのは行列\( \Vec{H} \)がエルミート行列であるという条件だけだ。式変形を眺めてやれば、逆にこの関係式から\( \Vec{H} \)がエルミート行列であると言うことも出来ることが分かるだろう。つまり必要十分条件になっている。

 この関係式を波動関数の表現に書き換えてやれば、

\[ \begin{align*} \left( \int \phi^\ast\ \Vec{H}\ \psi \diff x \right)^\ast\ =\ \int\psi^\ast\ \Vec{H}\ \phi \diff x \end{align*} \]
となる。つまりこの条件を満たす演算子\( \Vec{H} \)はエルミート性を持つと言えるのである。そのような演算子を「エルミート演算子」と呼んでいる。ある演算子が物理量を表すためにはエルミート演算子の条件を満たしていなければならないのである。


普通の教科書との違い

 世の中に出回っている教科書の多くは、ここで最後に出てきた式をいきなり示して、「このような条件を満たす演算子をエルミート演算子と呼ぶ」などと説明を始めており、本来結論とすべき話が一番初めの前提として出て来てしまっている。こんな説明をされたのでは、読者は「なぜこの条件が必要なの?」「この式はどこから出てきたの?」と混乱してしまうだろう。

 そのような教科書であっても読み進めていけば最終的には、「エルミート演算子を使えば物理量が実数として導かれる」ことが証明されているわけだが、それでも疑問が残ってしまう。「エルミート演算子以外でもうまく行く条件が何かあるんじゃないのか?」

 何らかの具体的な疑問を持てればまだ救われる可能性もあろうが、漠然とした疑問は自分自身で解決のしようがない。漠然とした疑問は「分からない」という気持ちと直結している。

 疑問を持てさえすればいいというものでもない。「そもそも始めの条件はどこから来たもので、その物理的意味は?」なんてことを考え始めてしまった場合、方向を誤っている。おそらくいくらかの時間を費やさなければならなくなるだろう。今回の説明はそのような人のための道標になっている。私もこの辺りを彷徨った。

 ここでは行列の固有値が実数であるべき事から始めて、エルミート性とは何かを説明したが、もちろん逆にエルミート性から始めて固有値が実数になることを示すことも簡単に出来る。まぁ、普通の教科書はそういう説明をしており、こちらも知っておいた方がいい。なぜなら行列や波動関数の概念を行き来しなくても証明できるからだ。それ以外の理由として、授業の単位を取るためにはこの証明を書き下せることが必要だということも挙げられる。どちらにしろ、論理は自由自在に操れた方がいいに決まっている。

 しかしこの後に似たような話をだらだらと続けると話の焦点がぼけるので、この証明は補習コーナーで説明することにしよう。