ラベル 9-qubit Shor Code の投稿を表示しています。 すべての投稿を表示
ラベル 9-qubit Shor Code の投稿を表示しています。 すべての投稿を表示

2026年10月24日土曜日

量子誤り訂正(9-qubit Shor Code)を自作シミュレータで動かす

【要旨】量子誤り訂正の基本技術である9-qubit Shor Codeを、自作のスマホ版量子回路シミュレータで稼働させ、理解を深めた。その美しい仕組みを噛みしめることができた。さらに進んだ誤り訂正としてStabilizer Codeがあるが、それはアーベル群の構造に支えられている。そして、この9-qubit Shor Codeは、Stabilizer Codeの一種と見なせることも知った。

🟢9-qubit Shor Code
 Prof. Peter Shorは、RSA暗号を破る可能性を秘めた、素因数分解の量子アルゴリズムを発表したことで有名である。彼はこれとは別に、量子コンピュータ最大の課題の一つである誤り訂正に、世界で初めて道を拓いたとも言われる。それが、9-qubit Shor Codeである。これに関する解説は非常に多いので、ここでは、これで何ができるかだけを示す。

 Fig.1に示すように、一つの量子ビット(q0)を適当な量子状態①に設定する。続けて、準備として他の8個の量子ビットを使って、ある状態にエンコードする。その状態になって以降、これら9個のどの量子ビット(ただし、いずれか1個に限る)にエラー②(ビット反転、位相反転、その両方)が発生しても、その後に置かれた誤り訂正・デコード回路③によって、量子ビット(q0)は元の量子状態になる。①の量子状態を明示的に調べることもなく、これが自動的にできてしまうのであるから、誰もが驚く。

🟢自作のスマホ版シミュレータで9-qubit Shor Codeを動かす
 本記事の主な目的は、このShorコードを自作シミュレータで動かせることの確認にある。これまでは、最大で6量子ビットを扱ったが、今回、9量子ビットではうまく稼働するか心配したが、Fig.2に示すとおり難なく完全に動かすことができた。

 発生したエラーが完全に訂正できたかどうかを確かめる方法はいくつかある。
(1)元の量子状態と処理結果の量子状態のfidelityが1となることを確認。
(2)今回の例のように、|0>に2つの回転ゲートで量子状態を設定した場合は、処理結果に逆向きの回転ゲートを連続して作用させ、|0>の状態に戻ることを確認。
(3)元の量子状態と処理結果の量子状態において、それぞれ測定を行い(あるいは理論計算から)、確率振幅の一致を直接調べる。

 今回は(3)の方法をとった。Fig.2に説明しているとおり、両者の確率振幅が一致することを確認した。一見すると、両者は異なるように見えるが、"-i"というグローバル位相が掛かっているか否かの違いである、これはよく知られているように同一の量子状態である。

 なお、エラー発生後に誤り訂正を行わなかった場合は、Fig.3に示すとおり、エラーの影響により、初期に設定した量子状態と全く異なるデタラメな状態となった。



 以上のテスト結果に基づき、このモバイル量子回路シミュレータに、「9-qubit Shor Code」を追加して提供することにした。

🟢感 想
 
現在は、この「9-qubit Shor Code」は、さらに洗練されたStabilizer Codeというものの一種であることが分かっている。Stabilizer Codeはアーベル群の構造に基づいて構築される。Shor Codeの美しさは、アーベル群に起因するのであろう。Stabilizer Codeには、実用的観点が強化されたSurface Codeと呼ばれるものもある。現在、それらにも取り組んでいる。

 私がかって、アーベル群やガロア群を多少なりとも学んでいたことは大きいと思う。それがなければ、Stabilizerをさらに追求して行こうという気が起こらないと思う。それらに、少しでも馴染んでいたことが、今になって効いているように思う。高等教育とは、直接の知識を与える以外に、そのような意味があると思う。高等教育を受けられたことに感謝する気持ちになる。