2022年12月1日木曜日

超高密度符号化と量子テレポーテーション(その2)

【要旨】前回の(その1)での準備をもとに、本報では超高密度符号化(Superdense Coding)について述べる。極く簡単に言うならば、量子コンピューティングの世界において、Aliceが古典2ビットの情報(00, 01, 10, 11のどれでも)をBobへ送りたい場合、Aliceの持っている一つの量子ビット(電子など)を送るだけで済むという仕組みである。一見、話は簡単そうに見えるかもしれないが、そこには基本量子ゲートとBell回路と逆ベル回路が美しく簡潔に組み合わされている。だが、その仕組みの要点は、前回(その1)で述べた内容に尽きるのである。

続編の量子テレポーテーション(その3)はこちら

超高密度符号化の問題設定
 この問題設定の例を図1に示す。AliceとBobはそれぞれ1量子ビットを持っている。それら2つは、図に示したような「量子もつれ状態(entangled)」にあるとする。Bobは、この量子もつれ状態を保持したまま、自分の量子を持って遠くへ出掛けてしまった。(現実には遠隔の量子もつれは破壊されやすいのだが、量子の測定を行なわない限り理論的に保持されると仮定する。)ここで、Aliceは、古典2ビットの情報(00, 01, 10, 11のどれでも)をBobへ送りたい。
何が問題なのか?
 AliceがBobへ送ることができるのは、自分の持つ1つの量子ビットだけである。それをBobが受け取った場合、Bobがその情報を得るには測定するしかないが、そうすると量子もつれは無くなり、測定結果は |0⟩か|1⟩のどちらかになる。いずれの場合も、Aliceが送る前の量子状態は壊れてしまうので、Aliceは何を送ったのかをBobは判定できない。さらに問題なのは、この方法では、Aliceは1個の古典ビット(0 or 1)しか送れない。

Bell基底ベクトルと逆ベル回路を利用する発想
 これを解決する素晴らしい発想がある!!!
 Aliceは、初期設定後の自分の量子ビットをそのまま送信せずに、まず、ある量子ゲートを作用させる。その際、測定は行わないので、もつれ状態は保持され、Bobの持つ量子ビットに影響はない。図2の上部に示すその量子ゲート「?」を以下のように決める。
 すなわち、送りたい古典ビット列が "00"ならば「I」ゲート(何もしない)、"10"ならば「+」(Pauli X)ゲート、"01"ならば「Z」ゲート、"11"ならば「Y」ゲートとする。これらのゲートを、初期設定後のもつれ状態に作用させると、それぞれの結果はBell基底の各ベクトルになる!これをBobへ送る。そこがポイントである。Bell基底とは、Bell( |00⟩), Bell( |01⟩), Bell( |10⟩), Bell( |11⟩)の作用結果として得られるentangledな状態ベクトルのセットである。

 ここまでくると、あとは(その1)の記事に書いた通り、Bobは、逆Bell回路を作用させればよい。それによって、Bobは、Aliceが送ったのと同じ古典2ビット情報を得る。図2に示す通りである。ここで注目すべきは、Aliceが送る古典2ビット情報が何であれ、Bobは決まったやり方、すなわち、逆Bell回路を適応するだけでよいのである。なんと美しい解法ではないか!

 今回の記事も、参考文献[1]第7章後半の内容を当方の理解に基づいて纏めたものである。また、量子シミュレータ[2]を利用して量子回路動作を確認できた。

References
[1] Chris Bernhardt, “Quantum Computing for Everyone”, MIT Press, 2020 
https://www.chrisbernhardt.info/

[2] Qni; https://github.com/qniapp/qni

0 件のコメント:

コメントを投稿