Path: blob/main/translations/ja/ch-gates/multiple-qubits-entangled-states.ipynb
3855 views
複数量子ビットともつれ状態
単一の量子ビットは興味深いものではありますが、これらは個別では計算的に優位性をもたらすものではありません。ここでは複数の量子ビットに関する表現方法と、これらの量子ビットがどのように相互作用することができるかについて見ていきます。これまでに、2次元ベクトルを使用して1つの量子ビットに関する状態を表現することができることを学びました。今回は複数量子ビットの状態についてどのように表現することができるかについて見ていくことにします。
目次
複数量子ビット状態の表現 1.1 練習問題
複数量子ビットゲート 3.1 CNOTゲート 3.2 もつれ状態 3.3 もつれ状態の可視化 3.4 練習問題
1. 複数量子ビット状態の表現
単一の量子ビットは2つの状態を持つことができ、その状態は2つの複素振幅を持つことを見てきました。同様に、2量子ビットは4つの状態を持ちます。
00 01 10 11
さらに、2量子ビットの状態を説明するには4つの複素振幅が必要です。これらの振幅を以下のように4次元ベクトルで表します。
観測に関するルールについても単一量子ビットの時と同様に機能します。
また、規格化条件などについても同様です。
2つの分離した量子ビットがある場合、クロネッカー積を使用してそれらの集合状態を表現できます。
また、同じルールに従って、クロネッカー積を使用して、任意の数の量子ビットの集合状態を記述することができます。以下は3量子ビットの例です。
個の量子ビットがある場合、個の複素振幅について記録する必要があります。これらのベクトルは量子ビットの数と共に指数関数的に大きくなります。これが多数の量子ビットを用いた量子コンピューターの演算をシミュレートすることが大変困難である理由です。現代のラップトップは約20量子ビットのシミュレートは簡単にできますが、100量子ビットになると最も大きいスーパーコンピューターでも手に負えません。
回路の例を見てみましょう。
各量子ビットはの状態をとっており、ベクトルは以下のとおりとなります。
期待した結果が得られたことが確認できます。
1.1 練習問題:
量子ビットのクロネッカー積を書き下してください。
a)
b)
c)
d)状態を2つの別々の量子ビットとして記述せよ。
2. 複数量子ビット状態ベクトル上の単一量子ビットゲート
Xゲートは以下の行列で表現されます。
さらに、Xゲートはの状態に以下のように作用します。
ただし、Xゲートが複数量子ビットベクトルの量子ビットにどのように作用するかは明確ではない場合があります。幸い、ルールは非常に単純です。クロネッカー積を使用して複数量子ビット状態ベクトルを計算したのと同じように、テンソル積を使用してこれらの状態ベクトルに作用する行列を計算します。たとえば、次の回路では次のようになります。
クロネッカー積を使用して、同時操作(HとX)を表すことができます。
演算は以下の通りとなり、
4次元状態ベクトルに適用することができます。表記がかなり煩雑になるため、以下のとおり簡略化した表記法がよく用いられます。
手計算の代わりに、Qiskitのaer_simulatorを使用して計算することができます。 Aerシミュレーターは、回路内のすべてのゲートを乗算して、量子回路全体を実行する単一のユニタリー行列をコンパイルします。
結果を見てみます:
一度に1つの量子ビットのみにゲートを適用する場合(以下の回路など)、単位行列を使用したクロネッカー積を使用してこれを表現します。例えば、
3. 複数量子ビットゲート
複数量子ビットの状態について表現方法を知ることができたため、複数量子ビットがそれぞれどのように相互作用するかについて学ぶ準備ができました。重要な2量子ビットゲートはCNOTゲートです。
3.1 CNOTゲート
このゲートは計算の原子の章に出てきました。このゲートは条件付きゲートであり、1つ目の量子ビット(制御)がの場合に2つ目の量子ビット(ターゲット)にXゲートを適用する、というものです。このゲートはq0を制御、q1をターゲットとして以下のような回路として描画できます。
量子ビットがとの重ね合わせでない場合、このゲートはとても単純で直感的にわかりやすいです。古典の真理値表を使用できます。
| Input (t,c) | Output (t,c) |
|---|---|
| 00 | 00 |
| 01 | 11 |
| 10 | 10 |
| 11 | 01 |
4次元状態ベクトルに従うと、どちらの量子ビットがコントロールでどちらがターゲットかにより、以下の2つの行列のいずれかになります。
どの量子ビットが制御ビットで、どれがターゲットビットかによります。書籍やシミュレーター、論文ごとに量子ビットの順序も異なります。今回の場合、左側の行列は上記の回路のCNOTに対応します。この行列は、状態ベクトルの と の振幅を交換します。
これまで古典的な状態に対する作用について見てきましたが、今度は重ね合わせ状態の量子ビットに対しての作用を見ていきましょう。1量子ビットをの状態にします。
これは期待通りにの状態を作ります。
CNOTゲートを適用するとどうなるか見てみましょう。
以下の状態が得られます。
これはもつれ状態になっており、大変興味深いです。もつれ状態については次節に進みましょう。
この結合された状態は、2つの別々の量子ビット状態として記述することはできません。このことには興味深い示唆があります。量子ビットが重ね合わせ状態にあるにも関わらず、1つの量子ビットを観測するともう1つの量子ビットの状態が得られると同時に重ね合わせ状態がなくなります。例として、一番上の量子ビットを観測しての状態が得られたとすると、2つの量子ビットの状態は以下のように変化します。
2つの量子ビットを数光年の距離に離したとしても、1つの量子ビットに関する観測はもう1つの量子ビットに対して影響を及ぼしているようにみえます。この不気味な遠隔作用 は20世紀初期に非常に多くの物理学者を悩ませました。
測定結果はランダムであり、一方の量子ビットの観測結果は、もう一方の量子ビットの操作の影響を受けないことに注意することが重要です。 このため、共量子もつれ状態を使用して通信をする方法はありません。 これは、通信不可能定理[1]として知られています。
前の章でブロッホ球をどのように定義したかを考えると、Qiskitがこのようなもつれた量子ビットを持つブロッホベクトルをどのように計算するかが明確でない場合があります。単一量子ビットの場合、軸に沿ったブロッホベクトルの位置は、その基底での測定の期待値にうまく対応します。これをブロッホベクトルのプロットのルールとすると、上記の結論に到達します。これは、特定の測定が保証されている単一量子ビットの測定基底がないことを示しています。これは、常に単一量子ビット基底を選択できる単一量子ビット状態とは対照的です。このように個々の量子ビットを見ると、量子ビット間の相関の重要な効果を見逃しています。異なるもつれた状態を区別することはできません。たとえば、次の2つの状態があります。
は、測定結果が異なる全く異なる状態であるにもかかわらず、この別々のブロッホ球の上ではどちらも同じに見えます。
この状態ベクトルを他にどのように可視化すればよいのでしょうか?この状態ベクトルは単純に4つの振幅(複素数)の集まりであり、これを画像にうつす方法は無限にあります。そのような可視化の1つが「Q-sphere」で、ここでは各振幅を球の表面上のブロブで表現しています。ブロブの大きさは振幅の大きさに比例し、色は振幅の位相に比例します。との振幅は等しく、他の振幅はすべて0です。
ここでは、量子ビットの間の相関を明確に見ることができます。Q-sphereの形は重要ではなく、単にブロブを並べるのにいい方法であるにすぎません。状態の0の個数はZ軸上の状態の位置に比例するので、ここではの振幅は球の上の極にあり、の振幅は球の下の極にあることが分かります。
4. 参考文献
[1] Asher Peres, Daniel R. Terno, Quantum Information and Relativity Theory, 2004, https://arxiv.org/abs/quant-ph/0212023