読者です 読者をやめる 読者になる 読者になる

bitterharvest’s diary

A Bitter Harvestは小説の題名。作者は豪州のPeter Yeldham。苦闘の末に勝ちえた偏見からの解放は命との引換になったという悲しい物語

身近な存在としての量子力学(11):ブラ

9.ブラ

量子力学の世界にはこれまでに紹介してきたケットの他に、ブラという記法を用いる。そして、ブラとケットをあわせてブラケット記法(bra-ket notation)と呼ばれる。勿論、ブラもケットも量子力学における量子状態を表すための記法である。名前の付け方がしゃれているというのかふざけているというのか、面白い。カッコは英語では、ブラケット(bracket)と呼ぶ。カッコの左側の片割れを用いての記述をブラと呼び、右側のそれをケットという。

おさらいをしよう。ケットでは真空状態を、
\( | ...00 \dot{0} 000...>\)
また、1番目の区間に1粒子がある場合には、
\( | ...00 \dot{0} 100...>\)
1番目の区間と3番目の区間にそれぞれ1粒子ある場合には、
\( | ...00 \dot{0} 10100...>\)
また、3番目の区間に2個の粒子がある場合には、
\( | ...00 \dot{0} 00200...>\)
と表した。

ブラでも、真空状態は次のように表す。
\( < ...00 \dot{0} 000...|\)

ブラとケットは裏返しの世界になっている。何事も反対の世界だ。
1番目の区間に1粒子がある場合は、次のように表す。
\( | ...00 \dot{0} 100...>\)
これは
\(\hat{a}^\dagger_1|...00 \dot{0} 00100...>\)
と同じである。ここで、\(\hat{a}^\dagger_1\)は生成演算子であった。

ブラの世界では消滅演算子\(\hat{a}_1\)が同じ役割をする。即ち、
\(<...00 \dot{0} 000...| \hat{a}_1\)は\(< ...00 \dot{0} 100...|\)と同じである。
となる(ブラの世界では、演算子は右側に置く。すべてを反対にするのだが、粒子の状態を表す場所だけは、ケットと同じように右に昇順である)。ケットが表の世界とするとブラは裏の世界なので、\(<...00 \dot{0} 100...| \)を表の世界の言葉で説明しにくいのだが、1番目の区間で1個の粒子を欲しがっているとでもいうことにしよう。

ブラとケットは結合することができる。真空状態のブラとケットを結合したものを次のように書く。
\( < ...00 \dot{0} 000...|...00 \dot{0} 000...>\)
このとき、真空状態のブラとケットが結合したときの値(内積と専門用語では呼ばれる)を1と定める。

ブラとケットが、全ての区間において、同じ区間で同じ数を有しているとき、ブラとケットの内積を1とする。例えば、ブラの方が1番目の区間だけが1粒子欲しがっていて、ケットの方は同区間だけが1粒子持っているとき、その内積は1である。それは次式の展開のように真空状態の結合に持っていけるためである。
\begin{align*}
&< ...00 \dot{0} 100...|...00 \dot{0} 100...> \\
=&< ...00 \dot{0} 000...|\hat{a}_1 \hat{a}^\dagger_1|...00 \dot{0} 000...> \\
=&< ...00 \dot{0} 000...|...00 \dot{0} 000...>
=&1
\end{align*}

そうでない場合は0とする。例えば、ブラの方が2番目の区間で欲しがっていて、ケットの方には1番目にしかない場合は次のように、真空状態の結合に持っていけない。このため内積は0となる。
\begin{align*}
&< ...00 \dot{0} 010...|...00 \dot{0} 100...> \\
=&< ...00 \dot{0} 000...|\hat{a}_2 \hat{a}^\dagger_1|...00 \dot{0} 000...> \\
=&0
\end{align*}

さて、ブラとケットが共役であると説明した。これと同様に、生成演算子と消滅演算子も共役である。式で表すと次のようになる。なお、共役は\(^\dagger\)で表す。
\begin{align*}
( < ...00 \dot{0} 00... | )^\dagger &= | ...00 \dot{0} 00... > \\
(\hat{a}_i)^\dagger &= \hat{a}^\dagger_i \\
( < ...00 \dot{0} 00... | \hat{a}_i)^\dagger &= \hat{a}^\dagger_i| ...00 \dot{0} 00... > \\
( | ...00 \dot{0} 00... > )^\dagger &= < ...00 \dot{0} 00... | \\
(\hat{a}^\dagger_i)^\dagger &= \hat{a}_i \\
(\hat{a}^\dagger_i | ...00 \dot{0} 00... > )^\dagger &= < ...00 \dot{0} 00... | \hat{a}_i \\
(\hat{a}_i \hat{a}^\dagger_j)^\dagger &= (\hat{a}^\dagger_j)^\dagger (\hat{a}_i)^\dagger \\
&= \hat{a}_j \hat{a}^\dagger_i \\
(\hat{a}^\dagger_i \hat{a}_j)^\dagger &= (\hat{a}_j)^\dagger (\hat{a}^\dagger_i)^\dagger \\
&= \hat{a}^\dagger_j \hat{a}_i
\end{align*}


なお、
\begin{align*}
\hat{a}^\dagger_i \hat{a}^\dagger_j &= \hat{a}^\dagger_j \hat{a}^\dagger_i \\
\hat{a}_i \hat{a}_j &= \hat{a}_j \hat{a}_i
\end{align*}

これより、次のことが分かる。
\( < ...00 \dot{0} 1100...|...00 \dot{0} 1100...> \)は\( < ...00 \dot{0} 00...|\hat{a}_1 \hat{a}_2 \hat{a}^\dagger_2 \hat{a}^\dagger_1|...00 \dot{0} 00...> \)とも、\( < ...00 \dot{0} 00...|\hat{a}_2 \hat{a}_1 \hat{a}^\dagger_2 \hat{a}^\dagger_1|...00 \dot{0} 00...> \)とも表すことができる。
前者の場合は、すぐに、\( < ...00 \dot{0} 1100...|...00 \dot{0} 1100...> \)となることが分かるが、後者の場合には、\(\hat{a}_1\)と\(\hat{a}_2\)が入れ替えられることを利用して、次のように式を展開できることでわかる。
\begin{align*}
& < ...00 \dot{0} 00...|\hat{a}_2 \hat{a}_1 \hat{a}^\dagger_2 \hat{a}^\dagger_1|...00 \dot{0} 00...> \\
=& < ...00 \dot{0} 00...|\hat{a}_1 \hat{a}_2 \hat{a}^\dagger_2 \hat{a}^\dagger_1|...00 \dot{0} 00...> \\
=& < ...00 \dot{0} 00...|\hat{a}_1 \hat{a}^\dagger_1|...00 \dot{0} 00...> \\
=& < ...00 \dot{0} 00...|...00 \dot{0} 00...> \\
=& 1
\end{align*}


それでは、これらの概念をHaskellで表現することを次に考えよう。