いちから始める量子コンピュータ入門(3)量子ビットとは
シュレディンガー方程式と波動関数
シュレディンガー方程式は
$$i\hbar\frac{\partial}{\partial t}\psi(\boldsymbol{r},t)=H\psi(\boldsymbol{r},t)$$
で、$\varphi(x,t)$は、波動関数、$H$は、ハミルトニアンです。
粒子を見出す確率密度は、$|\psi(x,t)|^2=\psi^*(x,t)\psi(x,t)$ でした。
シュレディンガー方程式は、空間と時間で分離して、空間部分のエネルギー固有関数を求めることによって、解くことができたのでした。
$$H\varphi_n(x)=E_n\varphi_n(x)$$
$E_n$は、$n$ 番目のエネルギー固有関数の固有値で、$\int{|\varphi_n(x)|^2dx}$ が収束する、つまり$\varphi(x)$ が規格化できる場合のみを考えます。$\int{|\varphi_n(x)|^2dx}=a$とすると、規格化すると $\frac{1}{\sqrt{2}}\varphi_n(x)$ となります。
波動関数、エネルギー固有状態には、いろいろある
まず、時間発展(時間に依存する) $\psi(x,t)$
それを、時間と空間で変数分離した空間部分の時間に依存しないシュレジンガー方程式(エネルギー固有関数)の解つまりエネルギー固有状態 $\varphi(x)$、それを規格化した $\varphi(x)$
$\psi$ が$\varPsi$、$\varphi$ が$\psi$ と記述される場合もあります。さらに、$\psi$が規格化されたものであったりします。
これが、初めて量子コンピュータの学習をするために、多くの書籍などに目を通したときに、戸惑う点の一つだと思います。
これ以降、波動関数 $\psi(x,t)$ を、$\Psi(x,t)$、 上の規格化したエネルギー固有状態 $\varphi_n(x)$ を、$\psi_n(x)$ と呼び変えます。
量子状態
エネルギー固有関数 $\psi_n(x)$ の時間発展は、
$$i\hbar\frac{\partial}{\partial t}\psi_n(x,t)=E_n\psi_n(x,t)$$
の解で、
$$\psi_n(x,t)=e^{-\frac{iE_n t}{\hbar}}\psi_n(x)$$
となります。
エネルギー固有関数の重ね合わせが、シュレジンガー方程式の一般解となります。
$$\Psi(x,t)=\sum_{n}c_n\psi_n(x,t)=\sum_{n}c_ne^{-\frac{iE_n t}{\hbar}}\psi_n(x)$$
波動関数は、線形空間で、内積が定義でき、このノルム$||\Psi(x,t)||^2$が収束する関数からなる空間を考えていることになります。このような空間をルベルト空間と呼ばれます。
有限のエネルギー固有状態の場合の量子状態は、以下のようになります。
$$\Psi(x,t)=\sum_{n=1}^{d}c_n\psi_n(x,t)$$
この$\psi_n(x,t)$を、ヒルベルト空間の元として、$|\psi_n\rangle$と書くことにします。やっと、量子コンピュータでみなれたケットがでてきました。これの意味することは、$\psi_n(x,t)$ は、ポテンシャルだけできまりますから、これを無視して、係数だけで量子の状態が表現できるということです。
$|\psi_n\rangle$ は、複素列ベクトル $|\psi_n\rangle = (c_1,…c_n)^T$で、$\langle\psi_n|$ は、複素行ベクトル $\langle\psi_n|=(c_1 ^ *,…,c_n ^ *)$ です。このようなケット $|\cdots\rangle$ や ブラ $\langle\cdots |$ を用いて記述することを、ディラックのブラケット表記といいます。
$A$ を、線形演算子として、$|\psi’\rangle$ を、$A$で写した元 $|\psi’\rangle=A|\psi\rangle$ に対して、$\langle\psi’|=\langle\psi| A^\dagger$ を満たすような演算子$A^\dagger$ を $A$ の随伴演算子と呼びます。有限複素ベクトル空間では、随伴 $^\dagger$ は、転地及び複素共役をとること、つまり、エルミート共役に等しくなります。
ハミルノニアンは、エネルギー固有状態を用いて、
$$H=\sum_{n=1}^{d}E_n|\psi_n\rangle \langle\psi_n |$$
と書け、$H^\dagger=H$ つまり、自己随伴(有限の場合はエルミート)演算子になっています。
基底状態と第一励起状態を考える
基底状態と第一励起状態を考え、
$$H\psi_0(x)=E_0\psi_0(x) $$
$$H\psi_1(x)=E_0\psi_1(x)$$
$E$ と $\psi$ が求まったとすると。
$$\Psi(x)=c_1\psi_1(x)+c_2\psi_2(x)$$
で、波動関数はあらわせ、係数の複素数だけで、量子の状態が表せることになります。
$$
\left(
\begin{array}{c}
c_1 \\
c_2 \\
\end{array}
\right)
$$
この係数を以下のように定義したものが、ケットベクトルです。
$$|\Psi\rangle =
\left( \begin{array}{c}c_1 \\c_2\\\end{array}\right)$$
ここで、2つの基底状態と第一励起状態を、$|0\rangle,|1\rangle$と表すと、
$$
|0\rangle=
\left(
\begin{array}{c}
1 \\
0 \\
\end{array}
\right)$$
$$
|1\rangle=
\left(
\begin{array}{c}
0 \\
1 \\
\end{array}
\right)$$
$$
|\Psi\rangle =
\left(
\begin{array}{c}
c_1 \\
c_2 \\
\end{array}
\right)=c_1|0\rangle+c_2|1\rangle
$$
で量子状態を表すことができます。
ハミルトニアンは、この二次元ベクトルの記述では
$$\begin{pmatrix} E_0 & 0 \\ 0 & E_1 \end{pmatrix}$$
となります。
このパートについては、関数とベクトルも、見てください。
量子コンピュータのプログラミングを扱った書籍・資料では、ここからスタートしていることが多いです。
参考文献
量子コンピュータの基礎と物理との接点 藤井啓祐 物性研究電子版 Vol.6, No.4, 064217(2017年11月号)
高校数学でひも解く量子力学 藤井啓祐 インターフェース 2019年3月号