量子テレポーテーションとは

情報処理

量子テレポーテーションとは、量子もつれのペアを作り、量子状態を遠隔地に転送する技術です。量子状態は読み出そうと(観測)すると、瞬時に固有状態に遷移してしまうため、盗み見することができません。量子暗号は、この原理の上に成り立っています。

量子回路

量子テレポーテーションの実現する量子回路は以下になります。Aここでは、からBへの量子状態($\ket{\psi}=c_0\ket{0}+c_1\ket{1}$)の伝達を考えます。量子状態(量子ビット)はAが2つ、Bが1つ持ち、$\ket{\psi}$ 以外の量子状態は $\ket{0}$ とします。

図中の[H]はアダマールゲート、[+]は制御NOTゲート、[0/1]は古典ゲート、[U]は制御ユニタリゲートを表します。それぞれの操作は後で説明します。

操作②($\Psi_1\to\Psi_2$)でAとBの間に量子もつれの状態を作り、操作⑤でAの量子状態を確定して、その情報を基にBはAが送ろうとした量子状態 $\psi$ を知ることができます。

量子状態の遷移

AからBへ量子状態 $\ket{\psi}$ が転送される操作を以下に説明します。

操作①

ここでは、量子ビット $\ket{0}$ に対してアダマールゲート[H]の操作を行います。

$$\ket{\Psi_1}=H\ket{0}=\frac{1}{\sqrt{2}}\left(\begin{array}{cc} 1 & 1 \\ 1 & -1 \end{array}\right)\left(\begin{array}{cc} 1 \\ 0 \end{array}\right)=\frac{1}{\sqrt{2}}\left(\begin{array}{cc} 1 \\ 1 \end{array}\right)=\frac{1}{\sqrt{2}}(\ket{0}+\ket{1})$$

ここで、量子ビットの行列表示は以下で定義されます。

$$\ket{0}=\left(\begin{array}{cc} 1 \\ 0 \end{array}\right)  ,  \ket{1}=\left(\begin{array}{cc} 0 \\ 1 \end{array}\right)  ,  \ket{0}+\ket{1}=\left(\begin{array}{cc} 1 \\ 1 \end{array}\right)$$

操作②

AとBの間で制御NOTゲートの操作を行い、量子もつれの状態を作ります。

$$\ket{\Psi_2}=\ket{\Psi_1}\otimes\ket{0}=\frac{1}{\sqrt{2}}(\ket{00}+\ket{10})=\frac{1}{\sqrt{2}}(\ket{00}+\ket{1\underline{1}})$$

最後の項で、制御ビットが「1」の場合は、下線部の通り反転「0→1」します。

操作③

Aの量子ビット間で制御NOTゲートの操作を行います。

$$\ket{\Psi_3}=\ket{\psi}\otimes\ket{\Psi_2}=\frac{1}{\sqrt{2}}\Big(c_0\ket{0}\otimes(\ket{00}+\ket{11})+c_1\ket{1}\otimes(\ket{\underline{1}0}+\ket{\underline{0}1})\Big)$$

最後の項で、制御ビットが「1」の場合は、下線部の通り反転します。

操作④

$\ket{\Psi_3}$ に対してアダマールゲートの操作を行います。

$$\ket{\Psi_4}=H\ket{\Psi_3}=\frac{1}{\sqrt{2}}\Big(c_0H\ket{0}\otimes(\ket{00}+\ket{11})+c_1H\ket{1}\otimes(\ket{10}+\ket{01})\Big)$$

結果は以下になります。下線部がアダーマルゲートの操作の結果です。

$$\ket{\Psi_4}=\frac{1}{\sqrt{2}}\Big(c_0\underline{(\ket{0}+\ket{1})} \otimes(\ket{00}+\ket{11})+c_1\underline{(\ket{0}-\ket{1})} \otimes(\ket{10}+\ket{01})\Big)$$

さらに、$\otimes$ を計算し、Aの量子ビット(左の2つ)でまとめると以下になります。

$$\ket{\Psi_4}=\frac{1}{\sqrt{2}}\Big(\ket{00}\otimes(c_0\ket{0}+c_1\ket{1}) +\ket{01}\otimes(c_0\ket{1}+c_1\ket{0})$$$$+\ket{10}(c_0\ket{0}-c_1\ket{1}) +\ket{11}\otimes(c_0\ket{1}-c_1\ket{0})\Big)$$

この結果より、Aの量子ビットの状態($\ket{00},\ket{01},\ket{10},\ket{11}$)に対応して、Bの量子ビットが1つに定まることが分かります。

操作⑤

古典ゲート[0/1]では、Aの2つの量子ビットを読み出すこと(観測)で量子状態を確定させます。結果は、古典のビットと同様、「00」、「01」、「10」、「11」の4つのパターンが得られます。

そして、この4つのパターンのそれぞれに対し、Bの量子状態は決まっているため、適当なユニタリ演算を行うことで、常に $\ket{\psi}$ を取り出すことができます。

[0/1] $\ket{\psi_4}$ ユニタリ演算 Bの出力
00 $c_0\ket{0}+c_1\ket{1}$ なし $c_0\ket{0}+c_1\ket{1}$
01 $c_0\ket{1}+c_1\ket{0}$ パウリXゲート $c_0\ket{0}+c_1\ket{1}$
10 $c_0\ket{0}-c_1\ket{1}$ パウリZゲート $c_0\ket{0}+c_1\ket{1}$
11 $c_0\ket{1}-c_1\ket{0}$ パウリ(X+Z)ゲート $c_0\ket{0}+c_1\ket{1}$

例えば、パターン「01」の場合は、パウリXゲート(X)の操作を行います。

$$X(c_0\ket{1}+c_1\ket{0})=\left(\begin{array}{cc} 0 & 1 \\ 1 & 0 \end{array}\right)\left(\begin{array}{cc} c_1 \\ c_0 \end{array}\right)=\left(\begin{array}{cc} c_0 \\ c_1 \end{array}\right)=c_0\ket{0}+c_1\ket{1}$$

また、パターン「11」の場合は、パウリXゲートとパウリZゲート(Z)を作用させます。

$$ZX(c_0\ket{1}-c_1\ket{0})=\left(\begin{array}{cc} 1 & 0 \\ 0 & -1 \end{array}\right)\left(\begin{array}{cc} 0 & 1 \\ 1 & 0 \end{array}\right)\left(\begin{array}{cc} -c_1 \\ c_0 \end{array}\right)=\left(\begin{array}{cc} c_0 \\ c_1 \end{array}\right)=c_0\ket{0}+c_1\ket{1}$$

このように、どのパターンでも適当なユニタリ演算により、元の量子状態を再現することができます。

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