量子エラー訂正とは

/量子コンピュータ

量子エラー訂正

量子エラー訂正とは、量子コンピュータの計算の過程で発生してしまうエラーを訂正する技術です。量子エラーとは、以下のように量子ビットが変化してしまうことを指します。

$$c_1\ket{0}+c_2\ket{1} \to c_1’\ket{0}+c_2’\ket{1}$$

このような量子エラーは、$(c_1,c_2)$ から $(c_1^{‘},c_2^{‘})$ への変換として2×2の行列で表すことができます。

$$\left(\begin{array}{ccc} c_1^{‘} \\ c_2^{‘} \end{array}\right)=
\left(\begin{array}{ccc} a & b \\ c & d \end{array}\right)
\left(\begin{array}{ccc} c_1 \\ c_2 \end{array}\right)$$

任意の2×2行列は、以下の4つの行列の線形結合で書くことができます。ここで $X$ と $Z$ はパウリ行列(パウリゲート)です。

$$\left(\begin{array}{ccc} a & b \\ c & d \end{array}\right)=\alpha I+\beta X+\gamma Z+\delta XZ$$$$I=\left(\begin{array}{ccc} 1 & 0 \\ 0 & 1 \end{array}\right)$$$$X=\left(\begin{array}{ccc} 0 & 1 \\ 1 & 0 \end{array}\right)$$$$Z=\left(\begin{array}{ccc} 1 & 0 \\ 0 & -1 \end{array}\right)$$$$XZ=\left(\begin{array}{ccc} 0 & -1 \\ 1 & 0 \end{array}\right)$$

従って、任意の量子エラーは以下の4つの場合の重ね合わせと考えることができます。

  1. $I$:量子エラー無し
  2. $X$:ビット反転エラー
  3. $Z$:位相反転エラー
  4. $XZ$:ビット+位相反転エラー

以下は、ビット反転エラーと位相反転エラーについて説明します。

ビット反転エラー

ビット反転エラーとは、パウリゲート $X$ で変換されるような $\ket{0}\to\ket{1}$ 、$\ket{1}\to\ket{0}$ となってしまうエラーで、通常の電子回路で発生するエラーです。

$$c_1\ket{0}+c_2\ket{1} \to c_1\ket{1}+c_2\ket{0}$$

$$X\left(\begin{array}{ccc} 0 \\ 1 \end{array}\right)=
\left(\begin{array}{ccc} 0 & 1 \\ 1 & 0 \end{array}\right)
\left(\begin{array}{ccc} 0 \\ 1 \end{array}\right)
=\left(\begin{array}{ccc} 1 \\ 0 \end{array}\right)$$

このようなエラーを検出するために以下のような量子回路を用います。ここで、 $\oplus$ は制御NOTゲート、$[X]$ はXゲート、$[0/1]$ はビットの読み出しを表します。

受信側の制御NOTゲートでは、制御ビット $\ket{\psi}$ が0の場合は、標的ビット $\ket{0}$ は変化せず、制御ビットが1の場合は標的ビットは反転します。従って、以下のように量子もつれが起きた状態で送信されます。3つのビットの内、左端のビット(第1ビット)を $\ket{\psi}$ とします。

$$\ket{\psi}=\ket{0} \to \ket{000}$$$$\ket{\psi}=\ket{1} \to \ket{111}$$

この3ビットの中の1ビットが送信中にエラーが起こったと仮定します。しかし、量子ビットを直接確認することはできないため、受信側で制御NOTゲートを通すことで、間接的にどのビットにエラーが起きたかを確認します。

送信側 受信側 $[0/1]$ 出力
第2ビット 第3ビット
$\ket{000}$
$\ket{100}$ $1$ $1$
$\ket{010}$ $1$ $0$
$\ket{001}$ $0$ $1$
エラー無し $0$ $0$
$\ket{111}$
$\ket{011}$ $1$ $1$
$\ket{101}$ $1$ $0$
$\ket{110}$ $0$ $1$
エラー無し $0$ $0$

これより送信側のビットに関係なく、第1ビットにエラーが発生した場合は、$[0/1]$ 出力の第2ビットと第3ビットが両方 $1$ になることが分かります。$[X]$ は制御 $X$ ゲートで、制御ビット(第2ビットと第3ビット)が $11$ の場合にビット反転を行います。

$$c_1\ket{1}+c_2\ket{0} \to c_1\ket{0}+c_2\ket{1}$$

$$X\left(\begin{array}{ccc} 1 \\ 0 \end{array}\right)=
\left(\begin{array}{ccc} 0 & 1 \\ 1 & 0 \end{array}\right)
\left(\begin{array}{ccc} 1 \\ 0 \end{array}\right)
=\left(\begin{array}{ccc} 0 \\ 1 \end{array}\right)$$

以上により、エラー訂正が行えることが分かります。

位相反転エラー

位相反転エラーとは、パウリゲート $Y$ で変換されるような $\ket{0}\to\ket{0}$ 、$\ket{1}\to-\ket{1}$ となってしまうエラーで、量子回路特有のエラーです。

$$c_1\ket{0}+c_2\ket{1} \to c_1\ket{0}-c_2\ket{1}$$

$$Y\left(\begin{array}{ccc} 0 \\ 1 \end{array}\right)=
\left(\begin{array}{ccc} 1 & 0 \\ 0 & -1 \end{array}\right)
\left(\begin{array}{ccc} 0 \\ 1 \end{array}\right)
=\left(\begin{array}{ccc} 0 \\ -1 \end{array}\right)$$

このようなエラーを検出するために以下のような量子回路を用います。ここで、$[H]$ はアダマールゲートを表します。

アダマールゲートは量子ビットを以下のように変換するので、

$$\ket{0} \to \frac{1}{\sqrt{2}}(\ket{0}+\ket{1})\equiv\ket{+}$$$$\ket{1} \to \frac{1}{\sqrt{2}}(\ket{0}-\ket{1})\equiv\ket{-}$$

受信側では以下のように変換されて送信されます。

$$\ket{\psi}=\ket{0} \to \ket{000} \to \ket{+++}$$$$\ket{\psi}=\ket{1} \to \ket{111} \to \ket{-\,-\,-}$$

このようにすると、位相反転エラーは、$\ket{+}\to\ket{-}$ 、$\ket{+}\to\ket{-}$ のようなビット反転エラーとして考えることができます。エラーがない場合は、受信側で制御NOTゲートを通すと、以下のように変換されます。

$$\ket{+++} \to \ket{000}$$$$\ket{-\,-\,-} \to \ket{111}$$

従って、送信中の1ビットのエラーは、ビット反転エラーの場合と同様の考え方で、$X$ ゲートで変換することによってエラー訂正を行うことができます

 

物理学
力学、電磁気学、相対論、熱・統計力学、量子力学、物性論、電子工学、プラズマ物理、連続体力学、場の量子論、弦理論
散策路TOP
数学、応用数学、古典物理、量子力学、物性論、電子工学、IT、力学、電磁気学、熱・統計力学、連続体力学、解析学、代数学、幾何学、統計学、論理・基礎論、プラズマ物理、量子コンピュータ、情報・暗号、機械学習、金融・ゲーム理論

 

タイトルとURLをコピーしました