見出し画像

【量子コンピュータ基礎2】複数量子ビットとエンタングルメント

今回は、複数量子ビットの量子状態の記述方法や、エンタングル状態と呼ばれる不思議な量子状態についても解説したいと思います。

複数量子ビット

複数の量子ビットの量子状態は、それぞれの量子ビットのテンソル積で表現されます。

2量子ビット

まず複数量子ビットの簡単な例として、2個の量子ビットについて考えてみます。テンソル積は$${\otimes}$$という記号で表現されます。今ここで、2個の量子ビット、

量子ビット1

$$
\ket{\psi_1}=\alpha_1\ket{0}+\beta_1\ket{1}
$$

量子ビット2

$$
\ket{\psi_2}=\alpha_2\ket{0}+\beta_2\ket{1}
$$

があるとしましょう。この2個の量子ビットが独立しているとき、これらの2量子ビットの量子状態は、

$$
\ket{\psi_1}\otimes\ket{\psi_2}=(\alpha_1\ket{0}+\beta_1\ket{1})\otimes(\alpha_2\ket{0}+\beta_2\ket{1})
$$

となります。さらにこの式は、積の計算のようにカッコを展開することが可能であり、

$$
\ket{\psi_1}\otimes\ket{\psi_2}=\alpha_1\alpha_2\ket{0}\otimes\ket{0}+\alpha_1\beta_1\ket{0}\otimes\ket{1}+\beta_1\alpha_2\ket{1}\otimes\ket{0}+\beta_1\beta_2\ket{1}\otimes\ket{1}
$$

となります。またテンソル積の記号に関しては、一般的に省略して用いる場合が多いです。つまり上記の式は、

$$
\alpha_1\alpha_2\ket{0}\ket{0}+\alpha_1\beta_1\ket{0}\ket{1}+\beta_1\alpha_2\ket{1}\ket{0}+\beta_1\beta_2\ket{1}\ket{1}
$$

となります。さらに、$${\ket{0}\ket{0}}$$というような表記ではなく、それらをまとめたような表記$${\ket{00}}$$で記述することもあります。

さて、このテンソル積は具体的にどのように計算するのでしょうか。ここでは、上記の2量子ビットを使って具体的に考えてみたいと思います。上記の量子ビットのベクトルの成分を具体的に書き出すと、

$$
\ket{\psi_1}=\alpha_1\ket{0}+\beta_1\ket{1}=\alpha_1
\begin{pmatrix} 1\\
0
\end{pmatrix} +\beta_1\begin{pmatrix} 0\\
1
\end{pmatrix}=
\begin{pmatrix}
\alpha_1\\
\beta_1
\end{pmatrix}
$$

$$
\ket{\psi_2}=\alpha_2\ket{0}+\beta_2\ket{1}=\alpha_2
\begin{pmatrix} 1\\
0
\end{pmatrix}
+\beta_2
\begin{pmatrix} 0\\
1
\end{pmatrix} =
\begin{pmatrix} \alpha_2\\
\beta_2
\end{pmatrix}
$$

となります。ここで、量子ビット1と量子ビット2のテンソル積は、

$$
\ket{\psi_1}\otimes\ket{\psi_2}=
\begin{pmatrix} \alpha_1\\
\beta_1
\end{pmatrix}
\otimes
\begin{pmatrix}
\alpha_2\\
\beta_2
\end{pmatrix}
$$

となり、このテンソル積はこのように計算できます。

$$
\begin{pmatrix}
\alpha_1\\
\beta_1
\end{pmatrix}
\otimes
\begin{pmatrix}
\alpha_2\\
\beta_2
\end{pmatrix}=
\begin{pmatrix}
\alpha_1
\begin{pmatrix}
\alpha_2\\
\beta_2
\end{pmatrix}\\
\beta_1
\begin{pmatrix}
\alpha_2\\
\beta_2
\end{pmatrix}
\end{pmatrix}=
\begin{pmatrix} \alpha_1\alpha_2\\
\alpha_1\beta_2\\
\beta_1\alpha_2\\
\beta_1\beta_2
\end{pmatrix}
$$

さて、この結果は妥当なのでしょうか。ベクトルを使って計算した結果は、

$$
\ket{\psi_1}\otimes\ket{\psi_2}=\alpha_1\alpha_2\ket{00}+\alpha_1\beta_2\ket{01}+\beta_1\alpha_2\ket{10}+\beta_1\beta_2\ket{11}
$$

となりました。ここで、それぞれの基底は、

$$
\ket{00}=
\begin{pmatrix}
1\\
0\\
0\\
0
\end{pmatrix},
\ket{01}=
\begin{pmatrix}
0\\
1\\
0\\
0
\end{pmatrix},
\ket{10}=
\begin{pmatrix}
0\\
0\\
1\\
0
\end{pmatrix},
\ket{11}=
\begin{pmatrix}
0\\
0\\
0\\
1
\end{pmatrix}
$$

となります。よって、

$$
\ket{\psi_1}\otimes\ket{\psi_2}=
\begin{pmatrix}
\alpha_1\alpha_2\\
\alpha_1\beta_2\\
\beta_1\alpha_2\\
\beta_1\beta_2
\end{pmatrix}
$$

であることが確認できます。

n量子ビット

次に、n個の量子ビットがある場合を考えてみましょう。この時の量子状態は、n個の量子ビットのテンソル積で表現されます。ここで、n個の量子ビットを、$${\ket{\psi_1}=\alpha_1\ket{0}+\beta_1\ket{1}, {\ket{\psi_2}=\alpha_2\ket{0}+\beta_2\ket{1}}, \cdots,\ket{\psi_n}=\alpha_n\ket{0}+\beta_n\ket{1}}$$とすると、n個の量子ビットの量子状態は、

$$
\ket{\psi}=\ket{\psi_1}\otimes\ket{\psi_2}\otimes\cdots\otimes\ket{\psi_n}
$$

と記述されます。

複数量子ビットの測定

複数量子ビットの測定について考えてみます。ここで、n量子ビットの状態を以下のように表します。

$$
\ket{\psi}=\sum C_{l_1l_2\cdots l_n}\ket{l_1}\otimes\ket{l_2}\otimes\cdots\otimes\ket{l_n}=\sum C_{l_1l_2\cdots l_n}\ket{l_1l_2\cdots l_n}
$$

ただし、

$$
l_k= \begin{cases} 0\\ 1 \end{cases} (1\leq k\leq n)
$$

となります。当然確率振幅は、規格化条件

$$
\sum|C_{l_1l_2\cdots l_n}|^2=1
$$

を満たします。この時、全ての量子ビットを測定した時を考えてみます。すると、

  • $${\ket{00\cdots 0}}$$を得られる確率が$${|C_{00\cdots 0}|^2}$$

  • $${\ket{10\cdots 0}}$$を得られる確率が$${|C_{10\cdots 0}|^2}$$

  • $${\ket{11\cdots 1}}$$を得られる確率が$${|C_{11\cdots 1}|^2}$$

となります。

部分的に量子ビットを測定する場合もあります。例えば、1番目の量子ビットのみを測定することを考えましょう。測定の結果、1番目の量子ビットが0である確率は、

$$
p_0=|C_{00\cdots 0}|^{2}+|C_{01\cdots 0}|^{2}+\cdots+|C_{01\cdots 1}|^{2}=\sum |C_{0l_2\cdots l_n}|^{2}
$$

となり、1を得られる確率は、

$$
p_1=|C_{10\cdots 0}|^{2}+|C_{11\cdots 0}|^{2}+\cdots+|C_{11\cdots 1}|^{2}=\sum |C_{1l_2\cdots l_n}|^{2}
$$

となります。0の場合ですと、1番目の量子ビットが0である状態の確率振幅の二乗の和がp0となります。そして測定後には、0が測定されると

$$
\ket{\psi^{\prime}}=\frac{1}{\sqrt{p_0}}(C_{00\cdots 0}\ket{00\cdots 0}+C_{01\cdots 0}\ket{01\cdots 0}+\cdots+C_{01\cdots 1}\ket{01\cdots 1})
$$

$$
=\frac{1}{\sqrt{p_0}}\sum C_{0l_2\cdots l_n}\ket{0l_2\cdots l_n}
$$

となり、1が測定されると

$$
\ket{\psi^{\prime}}=\frac{1}{\sqrt{p_1}}(C_{10\cdots 0}\ket{10\cdots 0}+C_{11\cdots 0}\ket{11\cdots 0}+\cdots+C_{11\cdots 1}\ket{11\cdots 1})
$$

$$
=\frac{1}{\sqrt{p_1}}\sum C_{1l_2\cdots l_n}\ket{1l_2\cdots l_n}
$$

となります。

エンタングルメント

量子計算において非常に重要な役割を果たす概念として、エンタングルメンとがあります。エンタングルメントは、量子もつれとも呼ばれ、古典の世界では起こりえない非常に特殊な量子状態です。エンタングルメントは、その量子状態を個別の量子ビットのテンソル積で表現できない状態です。具体例を出して考えてみましょう。

$$
\ket{\psi}=\frac{1}{\sqrt{2}}(\ket{00}+\ket{11})
$$

こちらは、2つの量子ビットのエンタングル状態です。さて、何が特別な量子状態なのでしょう。結論から申し上げると、2つの量子ビットが相関を持った状態となります。

このエンタングル状態を測定してみることを考えてみます。この時、1つ目の量子ビットを測定した場合、確率1/2で$${\ket{0}}$$が観測されます。さらに、2番目の量子ビットは自動的に$${\ket{0}}$$に決まります。逆に、1つ目の量子ビットを測定した場合、$${\ket{1}}$$が観測されると、自ずと、1番目の量子ビットは$${\ket{1}}$$に決まります。また、2番目の量子ビットから測定した場合にも、同じような結果となります。片方の量子ビットを測定すると、他の量子ビットの測定結果に影響を与えます。このように量子ビット間に非常に強い相関がある状態をエンタングル状態と呼びます。

例えば、エンタングル状態では無い状態ではどうなるでしょうか。例として次のような状態を考えます。

$$
\ket{\psi}=\frac{1}{\sqrt{2}}(\ket{10}+\ket{11})=\frac{1}{\sqrt{2}}\ket{1}\otimes(\ket{0}+\ket{1})
$$

エンタングル状態の定義は、その量子状態が個別の量子ビットのテンソル積で表現できないということでした。この量子状態の場合には、上記のように、2個の量子ビットのテンソル積として表現できます。なので、エンタングル状態ではありません。

ここで、先ほどのように量子ビットの測定を考えてみます。例えば、1番目の量子ビットを測定した場合、必ず$${\ket{1}}$$が得られます。しかし、1番目の量子ビットは、2番目の量子ビットの観測結果に関わらず、確率1/2で$${\ket{0}}$$または$${\ket{1}}$$が得られます。エンタングル状態では、片方の量子ビットの観測結果によって、もう一方の量子ビットの観測結果が影響を受けます。しかし、単純なテンソル積の量子状態では、量子ビットの測定結果間の相関が無いことがわかります。

(こちらの記事は、以前Qiitaに投稿した内容の書き直しです。)