量子コンピュータの勉強(その1)

[1204.4221] Magic-state distillation with the four-qubit codeという論文のFig. 1(c)でやっていることを手計算で試して理解しました。

マジック状態とは

量子コンピュータの勉強をやると、Xゲート・Zゲート・Hゲート・CNOTゲート、などが出てきますが、これだけでは万能な量子計算はできません。

万能な量子計算をするためには、例えばブロッホ球上で45°回すみたいなゲートが追加であれば十分です。

しかし、そのようなゲートは、量子誤り訂正符号上で実現することが困難です。

この問題は、量子テレポーテーションの時と同様のうまい手順で解決することができます。

具体的には、「適切な状態」を事前に準備しておき、(簡単なゲート操作を行った後)適切な観測を行い、その観測結果によってゲートを通したり通さなかったりする、という手順です。

この時に必要となる「適切な状態」のことをマジック状態と呼びます。

以下の図では、マジック状態である \left|H\right\rangle = \cos\left(\frac\pi8\right)\left|0\right\rangle+\sin\left(\frac\pi8\right)\left|1\right\rangleを用いたY軸周り45°回転を行う計算(以下図)をやってみます。

f:id:lpha_z:20201101224330p:plain
マジック状態|H>を用いたY軸周り45°回転手順(arXiv:1204.4221 の図1より一部抜粋)

落とし穴

論文中に書いてありますが、単独のYゲート操作と、角度パラメータ付きの Y(\theta)ゲート操作は別物です。

 Y = \left( \begin{array}{cc} 0 & -i \\
 i & 0 \end{array} \right)
 Y(\theta) = e^{-iY\theta/2} = \left( \begin{array}{cc} \cos(\theta/2) & -\sin(\theta/2) \\
\sin(\theta/2) & \cos(\theta/2) \end{array} \right)

計算

上の量子ビットである \left|H\right\rangleを、一般的に \left|H\right\rangle = c\left|0\right\rangle+s\left|1\right\rangleと置いてみます。

下の量子ビット \left|H\right\rangle = a\left|0\right\rangle+b\left|1\right\rangleと置きます。

すると、初期状態は ca\left|0\right\rangle\left|0\right\rangle+sa\left|1\right\rangle\left|0\right\rangle+cb\left|0\right\rangle\left|1\right\rangle+sb\left|1\right\rangle\left|1\right\rangleとなります。

Control-Yゲートを通った後の状態は、 ca\left|0\right\rangle\left|0\right\rangle-isb\left|1\right\rangle\left|0\right\rangle+cb\left|0\right\rangle\left|1\right\rangle+isa\left|1\right\rangle\left|1\right\rangleになっています。

ここで、基底を計算基底( \left|0\right\rangle \left|1\right\rangleを用いた表現)からYの固有状態( \left|+y\right\rangle = \frac{ 1}{ \sqrt 2} \left|0\right\rangle + \frac{ i}{ \sqrt 2 }\left|1\right\rangle \left|-y\right\rangle = \frac{ 1}{ \sqrt 2} \left|0\right\rangle - \frac{ i}{ \sqrt 2 }\left|1\right\rangle)を使った基底に変換します。これは、Yで測定するとYの固有状態のどちらかがその係数の絶対値の二乗の確率で出てくるため、その計算をやりやすくするためです。

すると、 ca\left|0\right\rangle\left|0\right\rangle-isb\left|1\right\rangle\left|0\right\rangle+cb\left|0\right\rangle\left|1\right\rangle+isa\left|1\right\rangle\left|1\right\rangle  = \frac{ca - sb}{\sqrt 2}\left|+y\right\rangle\left|0\right\rangle+\frac{ca + sb}{\sqrt 2}\left|-y\right\rangle\left|0\right\rangle+\frac{cb + sa}{\sqrt 2}\left|+y\right\rangle\left|1\right\rangle+\frac{cb - sa}{\sqrt 2}\left|-y\right\rangle\left|1\right\rangleです。

これをYで測定して固有状態 \left|+y\right\rangleが出た場合(確率1/2)、下の量子ビット (ca - sb)\left|0\right\rangle+(cb + sa)\left|1\right\rangleになっています。これは、上の量子ビット \left|H\right\rangleだった場合、Y軸周りに45°回転したことになります。したがって、特に追加のゲート操作は不要です*1

一方、固有状態 \left|-y\right\rangleが出た場合(確率1/2)、下の量子ビット (ca + sb)\left|0\right\rangle+(cb - sa)\left|1\right\rangleになっています。これは、上の量子ビット \left|H\right\rangleだった場合、-Y軸周りに45°回転したことになります。つまり、Y軸周りに-45°回転したことになります。したがって、追加でY軸周りに90°のゲート操作を行えば、合計でY軸周りに45°回転したことになる、という具合です。

結局、どちらの固有状態が出た場合でも、その観測結果に応じて適切にゲートを通したり通さなかったりすることで、ブロッホ球上でのY軸周り45°回転を行うことができました。

ちなみに、二つの測定結果はどちらも半々の確率で出ることから、測定結果から何らかの情報を得ることはできず、下の量子ビットに関する情報は漏れていない(=下の量子ビットを破壊していない)ということも確認できます。

*1:論文ではpositive mesurementの場合にY(π/2)ゲートをかけるとしていましたが、逆だと思います。