量子テレポーテーションを利用した量子ビットのbit-flipエラー訂正については、下記に詳しく述べた。
その際は、量子ビット反転エラーの検出(どのビットが反転したのかの)量子回路を説明した。だが、訂正の仕方は説明しただけで、その回路は示していなかった。今回は主にそれを説明する。エラー検出とその訂正の原理については上記URLを参照いただきたく、本記事では省略する。量子回路シミュレータQiskitのComposerを使って検討した。
■AliceからBobへ転送する量子ビットの状態
量子テレポーテーションの場合と同じく、物理的に量子ビットを送信するのではなく、その状態を転送するのである。その途中でエラー(ここではbit-flipに限る)が発生した場合、それを検出し、かつそれを自動的に訂正したい。
まず、図1にAliceから転送したい量子ビット状態を示す。ここでは一例として、(a)のように、|0>にRYとRZゲートを適用した。エラーの検出は、古典ビットの世界で使われるパリティチェックに基づく。そのために元の量子ビットの複製を2つ作りたいのだが、それは量子複製不可定理により、できない。そこで、(b)に示すように、ancillaビットを2つ用意して、entangledな状態を作る。それをBobへ送り出す。もしも、途中でbit-flipエラーが発生しなければ、Bobは、0.75|000> + 0.25|111>という重ね合わせ状態を、そのまま受け取るはずである。
■bit-flipエラーの訂正(ancillaビットの測定による)
エラーの検出方法は、上記の如くすでに述べたので略す。発生したエラーを訂正する回路を図2の赤枠に示す。ここでは、上に述べた2つのancillaビットの測定を行い、その結果に基づいて、該当する量子ビットをパウリXゲートで反転させ、元通りしている。
この例では、2番目のancillaビットq[2]がbit-flipを起こしたとした。それが正しく訂正されていることは、図1に示した元の3量子ビットシステムの状態が、図2の実行結果として、そのまま保たれていることから分かる。他のq[0]とq[1]に発生するエラーも同様に訂正される。
■bit-flipエラーの訂正(Toffoliゲートの利用)
上記のように、明示的にancillaビットを測定せずに、エラー訂正することもできる。図3に示すように、CNOTとCCNOTを組み合わせている。CCNOTはToffoliゲートとも呼ばれる。Toffoliは2つの制御ビットが共に|1>の時だけNOTが働く。どんな時に使うのだろうかと思っていたが、今回がその好例となったので記録しておきたい。
■古典ビットレジスタと量子ビット状態ベクトルを表す円盤
上の図2では、古典ビットレジスタに測定結果を格納したが、初めての人にはその使い方が分かりにくい。そこで、図4に要点をまとめた。
また、右端にある円盤は、測定結果が|1>となる確率(青部面積)とPhase angleを示す。さらに、実線の円はentanglementの有無を意味する。これによれば、送信された3量子ビットはentangledの状態が維持されているが、2つのancillaビットとはもつれ関係がない。それゆえに、このentanglementに影響を与えずに、ancillaビットを測定できるのである。
図5は、エラーが起こってもそれが訂正され、Aliceの送信時の量子状態ベクトルがそのままBobに伝わったことを説明している。
|
bit-flipイメージ(Bing) |
■Qiskit Quantum Labの Noise Modelの利用
ここまでは、[1]に基づき、Bit-Flipエラーを起こしたいqubitの後ろに、Xゲートを置いてエラーを起こし、テストを行った。だが、Qiskit Quantum Labでプログラミングする場合は、NoiseModelクラスを利用して、柔軟に、確率的にエラーを発生させることもできる。もっと複雑な量子回路でのエラー発生の影響を調べるのに有用であろう。その具体的な利用法は、[2]や[3]に掲載されている。また、[2]には、bit-flipの他にphase-flipも説明されていて参考になる。
参考文献
[1] Chris Bernhardt: Quantum Computing for Everyone, The MIT Press, 2020.
https://www.chrisbernhardt.info/
[2] 束野仁政, 量子コンピュータの頭の中、技術評論社、2023年6月
[3] J. L. Weaver & F. J. Harkins, Qiskit Pocket Guide, O'Reilly, 2022-06-15.
-----------
Private Info
Qiskit: Composer files: ErrorCorrec1 & ErrorCorre2, 2023-09-08
Quantum Lab: Chris_Book/Bit_Flipxxxxxx.ipynb