3
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

マウスで量子誤り訂正(③Shorの符号)

Last updated at Posted at 2021-02-16

この記事について

下記①②にて、ビットフリップとフェーズフリップの訂正回路を確認しました。
本稿では、これらを組み合わせて、Shorの誤り訂正符号を確認していきましょう。

今回も、量子回路シミュレータのQuirkと数式の両方を使って進めます。

  • Shor's 9-bit Quantum Error Collection Code1

また、他の量子コンピュータ関係の他の記事は、下記で紹介しています。

\newcommand{\bra}[1]{\left\langle #1 \right|}
\newcommand{\ket}[1]{\left| #1 \right\rangle}
\newcommand{\bracket}[2]{\left\langle #1 \middle| #2 \right\rangle}
\newcommand{\tate}[2]{\begin{bmatrix} #1 \\ #2 \end{bmatrix}}
\newcommand{\yoko}[2]{\begin{bmatrix} #1 & #2 \end{bmatrix}}
\newcommand{\mtrx}[4]{\begin{bmatrix} #1 & #2 \\ #3 & #4 \end{bmatrix}}

ビットフリップとフェーズフリップの訂正

まずは、ビットフリップとフェーズフリップの訂正回路を復習しておきます。

ビットフリップ訂正回路@Quirk

フェーズフリップ訂正回路@Quirk

エンコードの違い

こちらも復習で、ビットフリップ訂正・フェーズフリップ訂正のエンコードは下記の通りでした。

\displaylines{
\ket{\psi_{Benc}} = a\ket{000} + b\ket{111}
\\
\ket{\psi_{Penc}} = a\ket{{\tiny +++}}+b\ket{{\tiny ---}} 
}

ビットはパウリ$X$エラー、フェーズはパウリ$Z$エラーに対処するために、それぞれ計算基底とアダマール基底を用いて量子状態をエンコードする。
そして、フェーズはパウリ$Z$エラーに対応するアダマール基底を用いたエンコードのため、$H$(アダマールゲート)が掛かるのがフェーズフリップ訂正のエンコード回路でした。

エンコード デコード
フェーズフリップ
訂正
ビットフリップ
訂正

ビット、フェーズの両方の誤りに対応する

Shorの量子誤り訂正回路@Quirk

上記の2回路を組み合わせたのがShorの量子誤り訂正回路です。
ビットフリップ、フェーズフリップの両方の誤りに対し、エラー訂正が可能です。
構成を見ていくと、

  • まず、エンコードに$H$が係るフェーズフリップ訂正のエンコードを行います。
  • フェーズフリップ訂正は3量子ビットで行いますが、この3つのビットそれぞれにビットフリップ訂正のエンコード、デコード、訂正を行います。
  • そして、ビットフリップの訂正終了後に、最後にフェーズフリップのデコード、訂正を行います。

shor1000_ppt.gif

  • 上記見ていただくとわかるのですが、
    • パウリ$X$エラー、パウリ$Z$エラーどちらが発生しても誤り訂正が行えます
    • そして、1量子系の任意角度(パウリ$XZ$)エラーを訂正を行うことができます(※次節で後述)
    • まさに、Nielsen & Chuang2が指摘する「Errors are continuous」に対処しています

任意のエラーに対応できるか?

補足として、上記の※を扱っておきます。
任意のエラーとは、ブロッホ球を想像していただくとわかりやすいのですが、元の状態$\ket{\psi_{org}}$に対して、X軸回転、Z軸回転、Y軸回転と任意軸の任意角度の回転が発生することを意味します。
この1量子系に対する任意角度の回転によるノイズ$\varepsilon_1$は、パウリゲートを用いると下記のように表現できます。
(下記4つのパウリゲートにて任意角度の回転が実現できるため。)

\varepsilon_1 = e_0I + e_1X_1 + e_2Z_1 + e_3X_1Z_1
\ \ \ \ \  
e_n \in \mathbb{C}

上記式は、ノイズ$\varepsilon_1$が状態$\ket{\psi_{org}}$に発生すると、$\varepsilon_1\ket{\psi_{org}}$となり、ノイズ発生後の状態が、$I,X,Z,XZ$の重ね合わせ状態として表現されます。
この重ね合わせ状態は、測定により$I,X,Z,XZ$のいずれかに収縮し、これらのパウリ操作で訂正が可能された離散化されたエラー状態に収縮します。
つまり、パウリ$X$とパウリ$Z$に対するエラー訂正ができれば任意の$\varepsilon_1$に対する誤り訂正が可能となり、これを実現するのがShorの誤り訂正符号となります。

まとめ

Shorの9-bit Quantum Error Collection Codeを扱いました。

  • 1量子ビットの量子状態(つまり確率振幅$a,b$)を保護するために、補助量子ビット8ビットを用いてビットフリップ、フェーズフリップに耐性を持つ誤り訂正回路を構成しました。
  • 量子ビットは、コピーできない、観測で破壊されるという背景から、補助量子ビットはフリップに対する耐性を増すための3本の矢として活用し、誤り耐性を実現しました。
  • Stabilizer符号等のより効率性が高い符号も存在しますが、量子誤り訂正のアウトラインを理解する意味では、Shor's Codeは良い題材だと思います。今後、他の誤り訂正符号も紹介したいと思います。
  1. https://en.wikipedia.org/wiki/Quantum_error_correction#The_Shor_code より引用

  2. Nielsen & Chuang,Quantum Computation and Quantum Information, p.427

3
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?