GHZ状態を使って「隠れた変数」理論を否定してみる

# 「隠れた変数」理論

量子力学には、確率的な解釈を伴う部分がある。このことは、大昔は議論を呼んでいた(現在では、ほとんどの物理学者に受け入れられている)。確率的な解釈に反対する人たちの中で人気が高かったものの一つが「隠れた変数」理論だ。

これは、量子力学に確率的な解釈が出て来ざるを得ないのは量子力学が不完全な理論であり、本当は「隠れた変数」によって世界は決定論的に動いているけれど、単に我々がその「隠れた変数」を知ることができないからだ、とする説だ。

ところが、この説は現在は否定されている。「もしも隠れた変数があったとすれば、Aという実験を行えば、Xという結果が得られるはずだが、量子力学によるとX'という結果が得られる」という形の実験が提案され、実際にそのようになっているからだ。そのうち最も有名なものが、[ベルの不等式の破れ](https://ja.wikipedia.org/wiki/%E3%83%99%E3%83%AB%E3%81%AE%E4%B8%8D%E7%AD%89%E5%BC%8F)だろう。

今回は、それとはまた別のバージョンの、GHZ状態を使った「隠れた変数」理論の否定を説明してみる。GHZ状態を使えば、不等式によってではなく、等式によって「隠れた変数」を否定することができる。

# GHZ状態
GHZ状態とは、3つの量子ビットの、以下のようなもつれ状態を指す。

$$|GHZ\rangle = \frac{1}{\sqrt 2}(|000\rangle + |111\rangle)$$

なお、量子回路としては、以下のようになる。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/88256/79d757b6-855a-4920-84b3-703e84c4c178.png)

GHZ状態は、なかなか面白い性質を持っている。量子ビットのうち1つをX基底で、残りをY基底で測定すると、(X基底で測定するのがどの量子ビットであっても)、最初の量子ビットと、その次の量子ビットの測定結果が一致している場合は、最後の量子ビットの測定結果が0に、一致していない場合は1になる。

量子回路では、X基底での測定は「Hゲートを入れてから通常の測定」を行い、Y基底での測定は「S†ゲート、Hゲートを入れてから通常の測定」を行う。実際に回路を書いて、シミュレータによって確かめてみよう。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/88256/7f0942b0-c980-890e-8b18-aa064d283918.png)

```py:シミュレータによる実行結果
{'111': 270, '100': 237, '001': 224, '010': 269}
```

確かに、最初とその次が一致している('00'または'11'から始まっている)場合は最後は'0'で、一致していない('01'または'10'から始まっている)場合は最後は'1'が測定されている。

X基底で測定する量子ビットを変えてみよう。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/88256/c7a71ae0-b408-013b-f651-1d8c2278c3d0.png)


```py:シミュレータによる実行結果
{'010': 262, '001': 256, '111': 249, '100': 233}
```

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/88256/2d2522fb-0fce-e760-07cd-9822f880806d.png)

```py:シミュレータによる実行結果
{'111': 278, '001': 256, '010': 234, '100': 232}
```

やはり、そのようになっているようだ。

また、この結果は、3つのうちのどの回路の、1000ショットのうちのどの測定でも、測定された3つのビットを足し合わせれば、「奇数」となっていることも分かる。

# 「隠れた変数」の考え方
「隠れた変数」理論では、測定結果がランダムになるのは、単に量子力学では測定結果を正確に知ることができないためで、各ショットについて、どの量子ビットをどの基底で測定したら、どんな結果が出るかは予め決められている、と考える。すなわち、GHZ状態の各量子ビットをX基底あるいはY基底で測定した場合の値は、GHZ状態を作った時点で決まっていると考える。

$q_i$ をX基底で(Y基底で)測定したときの結果を$q_i^X$ ($q_i^Y$)と書くことにしよう。このとき、GHZ状態を作った時点で$q_0^X, q_0^Y, q_1^X, q_1^Y, q_2^X, q_2^Y$の値は0か1かが決まっている。

# 4つ目の回路と、「隠れた変数」での解釈

では、全部の量子ビットをX基底で測定したらどうなるだろうか?

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/88256/6d69d649-a5bb-6e4f-81c6-fada91876093.png)

はじめに見た3つの量子回路では、GHZ状態をそれぞれ、XYY基底、YXY基底、YYX基底で測定し、その結果、3つのビットの和は常に奇数であった。すなわち、

$$\begin{align}
q_0^X + q_1^Y + q_2^Y &= 1 \pmod 2\\\\
q_0^Y + q_1^X + q_2^Y &= 1 \pmod 2\\\\
q_0^Y + q_1^Y + q_2^X &= 1 \pmod 2
\end{align}$$

が成り立っていた。ここで$\pmod 2$は2で割った余りを表している。また、同じ数字同士を足したものは偶数なので $q_i^Y + q_i^Y = 0 \pmod 2$ である。そのことに注意しながら、上の3つの式を足し合わせると、次のようになるはずだ。

$$
q_0^X + q_1^X + q_2^X = 1 \pmod 2
$$

さて、実際にはどうなるだろうか。実際の量子コンピュータ"ibmq_manila"により実験した結果を示す。

```py:ibmq_manilaでの実行結果
{'000': 235,
 '001': 17,
 '010': 25,
 '011': 217,
 '100': 20,
 '101': 233,
 '110': 232,
 '111': 21}
```

**お分かりいただけただろうか?**

現在の量子コンピュータは、計算機というよりは実験機器に近いので、シミュレータのように完璧な結果は出ない。だが、和が奇数である100, 010, 001, 111は1000回中83回しか出ず、偶数になる000, 011, 101, 110は1000回中917回出た。つまり、若干の誤差を除けば、この実験では偶数が出る、と考えるのが自然で、「隠れた変数」理論が予測するような、この実験では必ず奇数が出る、という解釈は到底不可能である。

この結果は、量子力学では(式展開はすごくしんどいが)とても簡単に解釈できる。GHZ状態の各量子ビットにアダマールゲート$H_i$を作用させている。

$$\begin{align}
H |0\rangle &= |+\rangle = \frac{1}{\sqrt 2}(|0\rangle + |1\rangle)\\\\
H |1\rangle &= |-\rangle = \frac{1}{\sqrt 2}(|0\rangle - |1\rangle)\\\\
\end{align}$$

を考慮すると、

$$\begin{align}
H_0 H_1 H_2 |GHZ\rangle =& H_0 H_1 H_2 \frac{1}{\sqrt 2}(|000\rangle + |111\rangle) \\\\
=& \frac{1}{\sqrt 2}(|+++\rangle + |---\rangle) \\\\
=& \frac{1}{4}((|0\rangle + |1\rangle)(|0\rangle + |1\rangle)(|0\rangle + |1\rangle)\\\\
& + (|0\rangle - |1\rangle)(|0\rangle - |1\rangle)(|0\rangle - |1\rangle)) \\\\
=& \frac{1}{4}(|000\rangle + |001\rangle + |010\rangle + |011\rangle\\\\
& + |100\rangle + |101\rangle + |110\rangle + |111\rangle\\\\
& + |000\rangle - |001\rangle - |010\rangle + |011\rangle \\\\
& - |100\rangle + |101\rangle + |110\rangle - |111\rangle)\\\\
=& \frac{1}{2}(|000\rangle + |011\rangle + |101\rangle + |110\rangle)
\end{align}$$

となり、偶数しか出ないことが分かる。これは、実験結果と見事に一致している！

# 参考文献
- ハンス・クリスチャン・フォン・バイヤー. *QBism 量子情報時代の新解釈*.  松浦俊輔 訳.  木村元 解説. 森北出版, 2018.
- 堀田昌寛. *入門　現代の量子力学　量子情報・量子測定を中心として*. 講談社, 2021.
- Wikipedia [グリーンバーガー＝ホーン＝ツァイリンガー状態](https://ja.wikipedia.org/wiki/%E3%82%B0%E3%83%AA%E3%83%BC%E3%83%B3%E3%83%90%E3%83%BC%E3%82%AC%E3%83%BC%EF%BC%9D%E3%83%9B%E3%83%BC%E3%83%B3%EF%BC%9D%E3%83%84%E3%82%A1%E3%82%A4%E3%83%AA%E3%83%B3%E3%82%AC%E3%83%BC%E7%8A%B6%E6%85%8B)
- Wikipedia [GHZ experiment](https://en.wikipedia.org/wiki/GHZ_experiment)