物理とか

Index

Pauliのスピン行列の導出


1.スピンとはなんだったか

今回はスピン行列というのを導出していくんだが、その前に少し復習。

電子にはスピンと呼ばれる性質がある。そしてこの性質と実験との辻褄を合わせるためには、この性質を角運動量の一種と考えるしか無いのだった。 (電子のスピン参照)

角運動量であるスピンを表す演算子\(\hat{\b{s}}=(\hat{s}_x,\hat{s}_y,\hat{s}_z)\)は、以下の交換関係を満たす。 \[[\hat{s}_x,\hat{s}_y]=i\hbar\hat{s}_z,~[\hat{s}_z,\hat{s}_x]=i\hbar\hat{s}_y,~[\hat{s}_y,\hat{s}_z]=i\hbar\hat{s}_x\tag{1}\] しかも電子のスピンに関しては、そのスピンの大きさ\(\hat{s}^2\)の固有値が、必ず\(\frac{1}{2}\left(\frac{1}{2}+1\right)\hbar = \frac{3}{4}\hbar\)になるのだった。これはスピン角運動量の量子数が\(s=1/2\)でなければ、実験と辻褄が合わない、というところから来ている。 具体的には、Stern-Gerlachの実験で原子線が2つだけに別れたことを説明するためである。\(s=1/2\)にしておくと、その角運動量のある方向成分を観測したとき、2種類だけ、\(\pm\frac{\hbar}{2}\)の角運動量だけが現れるのだ。

一般的には、この観測方向をz方向にとることが多い。そこで、この2つの状態を\(\ket{\uparrow},\ket{\downarrow}\)と書き、以下のような性質を満たすものとしよう。 \begin{align} \hat{s}^2\ket{\uparrow} &= \frac{3}{4}\hbar\ket{\uparrow}\\ \hat{s}^2\ket{\downarrow} &= \frac{3}{4}\hbar\ket{\downarrow}\\ \hat{s}_z\ket{\uparrow} &= \frac{1}{2}\hbar\ket{\uparrow}\\ \hat{s}_z\ket{\downarrow} &= -\frac{1}{2}\hbar\ket{\downarrow}\\ \braket{\uparrow}{\downarrow} &=0,~\braket{\uparrow}{\uparrow} =\braket{\downarrow}{\downarrow} =1 \end{align} スピン行列を考える前に、この2つの状態\(\ket{\uparrow},\ket{\downarrow}\)を普通のベクトルとして取り扱うことを考える。

僕が言っている普通のベクトルというのは、いつも線形代数ででてくるような \[\left(\begin{array}{c}a\\b\end{array}\right)\] みたいやつのことだ。量子力学における状態が、ベクトルによって表されるというのはこのサイトでの以前の記事 (例えば、ハイゼンベルク方程式とシュレディンガー方程式の対応のページ) で説明してきたことだが、波動関数のベクトルはほとんどの場合無限次元になってしまって、どうやって取り扱ったらいいか少し扱いに困るものだった。しかし、スピンの場合には\(\ket{\uparrow},\ket{\downarrow}\)という2つの状態しか無いので、比較的簡単に考えることができる。

2.スピンを普通のベクトルとして捉える

\(\ket{\uparrow},\ket{\downarrow}\)という2つの状態は直交していて、その内積が\(\braket{\uparrow}{\downarrow}=0\)となる。2つの状態を表すのには二次元あれば問題無いだろうから、例えば直交しているベクトルとして、 \[\left(\begin{array}{c}1\\0\end{array}\right),\left(\begin{array}{c}0\\1\end{array}\right)\] を持ってきて、このそれぞれを\(\ket{\uparrow},\ket{\downarrow}\)に対応させるというのはどうだろうか。 \[\ket{\uparrow}\to\left(\begin{array}{c}1\\0\end{array}\right),~\ket{\downarrow}\to\left(\begin{array}{c}0\\1\end{array}\right)\tag{2}\] この2つなら、普通のベクトルの内積によって直交しているし、大きさも1に規格化されているから特に問題はなさそうである。そこで試しにこのようにおいて、スピン角運動量の演算子がどのように表されるべきか考えると出てくるのが、スピン行列である。

少しここの議論で補足しておくと、\(\ket{\uparrow},\ket{\downarrow}\)という状態をベクトルに置き換えるとき、その方法は(2)のようなものだけではなく、無数にある。普通のベクトルの内積の元で、直交する1組のベクトルならなんでもいいからだ。例えば、 \[\ket{\uparrow}\to\frac{1}{\sqrt{2}}\left(\begin{array}{c}1\\1\end{array}\right),~\ket{\downarrow}\to\frac{1}{\sqrt{2}}\left(\begin{array}{c}1\\-1\end{array}\right)\tag{3}\] のように対応付けることだってできるのだ。量子力学における状態を、普通のベクトルに対応付けるとき、その対応付けというのは自分で勝手に決めるものだということを知っておかないといけない。(実は波動関数だって量子力学の状態を関数に対応付けたものに過ぎないのだから。)

しかし、(3)のような対応付付けをしようが、(2)のような対応付けをしようが、問題の本質が変わるわけでは無い。そこで(2)のような単純な対応付けが好まれるのだ。そこで今回は(2)のような対応付けを使うことにする。

3.演算子の行列表現

\[\ket{\uparrow}\to\left(\begin{array}{c}1\\0\end{array}\right),~\ket{\downarrow}\to\left(\begin{array}{c}0\\1\end{array}\right)\tag{2}\] という対応付けを使うことにしたのだが、まずは簡単に、\(\hat{s}^2,\hat{s}_z\)という2つの演算子の行列表現を考えてみよう。この2つは簡単だ。それぞれを行列表現したものをハットを外した文字で表すことにして、\(s^2,s_z\)と書くことにすると、最初に書いた\(\ket{\uparrow},\ket{\downarrow}\)が満たすべき関係式は、 \begin{align} \hat{s}^2\ket{\uparrow} &= \frac{3}{4}\hbar\ket{\uparrow}&\to s^2\left(\begin{array}{c}1\\0\end{array}\right) &= \frac{3}{4}\hbar\left(\begin{array}{c}1\\0\end{array}\right)\\ \hat{s}^2\ket{\downarrow} &= \frac{3}{4}\hbar\ket{\downarrow}&\to s^2\left(\begin{array}{c}0\\1\end{array}\right) &= \frac{3}{4}\hbar\left(\begin{array}{c}0\\1\end{array}\right)\\ \hat{s}_z\ket{\uparrow} &= \frac{1}{2}\hbar\ket{\uparrow}&\to s_z\left(\begin{array}{c}1\\0\end{array}\right) &= \frac{1}{2}\hbar\left(\begin{array}{c}1\\0\end{array}\right)\\ \hat{s}_z\ket{\downarrow} &= -\frac{1}{2}\hbar\ket{\downarrow}&\to s_z\left(\begin{array}{c}0\\1\end{array}\right) &= -\frac{1}{2}\hbar\left(\begin{array}{c}0\\1\end{array}\right)\\ \end{align} のように書き直される。こんなふうにできる行列はすぐに分かるだろう。下のような対角行列を考えてやればいい。 \begin{align} s^2 &= \frac{3}{4}\hbar\left(\begin{array}{cc}1&0\\0&1\end{array}\right)\\ s_z &= \frac{1}{2}\hbar\left(\begin{array}{cc}1&0\\0&-1\end{array}\right) \end{align} こんなふうにして、\(s^2,s_z\)はすぐに分かるのだが、\(s_x,s_y\)を求めるとなると、少し考えないといけない。
うまい方法としては、 \[\hat{s}_\pm=\hat{s}_x\pm i\hat{s}_y\] のように\(\hat{s}_x,\hat{s}_y\)を組み合わせた演算子を使うことが考えられる。スピンの場合、この2つの演算子には、 \begin{align} \hat{s}_+\ket{\downarrow}&=\hbar\ket{\uparrow}\\ \hat{s}_-\ket{\uparrow}&=\hbar\ket{\downarrow}\\ \hat{s}_+\ket{\uparrow}&=\hat{s}_-\ket{\downarrow}=0 \end{align} のような性質がある。つまり、+は下向きスピンを上向きに、-は上向きスピンを下向きにする働きをするのだ。最後の式は、スピン上向きをさらに上げる、もしくはスピン下向きをさらに下げるということが不可能であることを表している。 (角運動量の交換関係から解くのページ参照)

この\(\hat{s}_+,\hat{s}_-\)の行列表現が分かってしまえば、そこからすぐに\(\hat{s}_x,\hat{s}_y\)の行列表現を求めることができるから、こいつらについて考えていく。まず普通のベクトル的に上の関係を書くと、 \begin{align} s_+\left(\begin{array}{c}0\\1\end{array}\right) &= \hbar\left(\begin{array}{c}1\\0\end{array}\right)\\ s_+\left(\begin{array}{c}1\\0\end{array}\right) &= \hbar\left(\begin{array}{c}0\\0\end{array}\right)\\ s_-\left(\begin{array}{c}1\\0\end{array}\right) &= \hbar\left(\begin{array}{c}0\\1\end{array}\right)\\ s_-\left(\begin{array}{c}0\\1\end{array}\right) &= \hbar\left(\begin{array}{c}0\\0\end{array}\right)\\ \end{align} さて、上2つの式を考えて、これをひとつの式にまとめて書いてしまうと、 \[ s_+\left(\begin{array}{cc}1&0\\0&1\end{array}\right) = \hbar\left(\begin{array}{cc}0&1\\0&0\end{array}\right) \] こうなる。\(s_+\)にかかっている行列はただの単位行列だから、これはつまり、 \[ s_+= \hbar\left(\begin{array}{cc}0&1\\0&0\end{array}\right) \] であるということだ。同じように考えて、 \[ s_-= \hbar\left(\begin{array}{cc}0&0\\1&0\end{array}\right) \] もわかる。後は簡単だ。 \[\hat{s}_\pm=\hat{s}_x\pm i\hat{s}_y\] だったから、逆に言うと \begin{align} s_x&=\frac{s_+ + s_-}{2}\\ s_y&=\frac{s_+ - s_-}{2i} \end{align} なのだ。これに代入すればすぐに求まって、 \[ s_x= \frac{\hbar}{2}\left(\begin{array}{cc}0&1\\1&0\end{array}\right) \] \[ s_y= \frac{\hbar}{2}\left(\begin{array}{cc}0&-i\\i&0\end{array}\right) \] が\(\hat{s}_x,\hat{s}_y\)の行列表現である。

4.Pauliスピン行列

結局まとめると、 \begin{align} s_x&= \frac{\hbar}{2}\left(\begin{array}{cc}0&1\\1&0\end{array}\right),& s_y&= \frac{\hbar}{2}\left(\begin{array}{cc}0&-i\\i&0\end{array}\right),& s_z&= \frac{\hbar}{2}\left(\begin{array}{cc}1&0\\0&-1\end{array}\right) \end{align} となったわけだが、このスピン演算子の行列表現の中心となっている行列 \begin{align} \sigma_x&= \left(\begin{array}{cc}0&1\\1&0\end{array}\right),& \sigma_y&= \left(\begin{array}{cc}0&-i\\i&0\end{array}\right),& \sigma_z&= \left(\begin{array}{cc}1&0\\0&-1\end{array}\right) \end{align} が

Pauliスピン行列

と呼ばれている。

こんなことをして何が嬉しいのかといえば、それは比較的直感的に演算子を考えることができるところにある。詳細な説明は飛ばすけど、例えば\(\hat{s}_x\)を\(\ket{\uparrow},\ket{\downarrow}\)で表すとするなら、 \[\hat{s}_x = \frac{\hbar}{2}\left(\ket{\uparrow}\bra{\downarrow}+\ket{\downarrow}\bra{\uparrow}\right)\tag{*}\] という感じになってしまって、ぱっと見ただけではどういうことをする演算子なのかわからない。でも、上に示したそれと等価な行列表現を考えれば、(*)の式よりはいくらかわかりやすいだろう。例えば対角化という作業についても、(*)を対角化するといってもわけが分からなくなってしまうが、行列表現を対角化するといえばどういうことをすればいいか簡単にわかる。

Pauliスピン行列の性質はまた別のページで説明することにしよう。