量子計算理論(森前 著) の演習問題を解く part5

こんにちは。Kumaです。

最近、量子コンピュータについて勉強しています。
今回は有名な以下の本の演習問題について、解答が載っていないので一部書いてみたいとおもいます。
f:id:phymath1991:20181224165540p:plain
量子計算理論 量子コンピュータの原理 | 森北出版株式会社

今回はpp.37- です。

pp.37.1 CZゲートの対称性


1.CZゲートの対称性(制御ビットと標的ビットを入れ替えても同じ)を示せ
を示せ。*1
2.CNOT→制御ビットと標的ビットを入れ替えたCNOT→CNOTがSWAPゲート(ビットの入れ替え)

U ( | \psi \rangle \otimes | \phi \rangle ) = | \phi \rangle \otimes | \psi \rangle
になっていることを示せ.

  • 解答

1. CZゲートは
 CZ = | 0 \rangle \langle 0 | \otimes I +  | 1 \rangle \langle 1 | \otimes Z
とかける。
すなわち対称性を示せとは、
  | 0 \rangle \langle 0 | \otimes I +  | 1 \rangle \langle 1 | \otimes Z =  I \otimes | 0 \rangle \langle 0 | +  Z \otimes | 1 \rangle \langle 1 |
を示せということである。
これを示すには、
  I =  | 0 \rangle \langle 0 | +  | 1 \rangle \langle 1 | , Z =  | 0 \rangle \langle 0 | -  | 1 \rangle \langle 1 |
を使う。
やっていこう。

 \begin{eqnarray*}
 | 0 \rangle \langle 0 | \otimes I +  | 1 \rangle \langle 1 | \otimes Z &=& | 0 \rangle \langle 0 | \otimes ( | 0 \rangle \langle 0 | +  | 1 \rangle \langle 1 | ) +  | 1 \rangle 
 \langle 1 | \otimes  ( | 0 \rangle \langle 0 | -  | 1 \rangle \langle 1 | ) \\
&=& ( | 0 \rangle \langle 0 | +  | 1 \rangle \langle 1 | ) \otimes | 0 \rangle \langle 0 | + ( | 0 \rangle \langle 0 | -  | 1 \rangle \langle 1 | ) \otimes  | 1 \rangle \langle 1 | \\
&=&  I \otimes | 0 \rangle \langle 0 | +  Z \otimes | 1 \rangle \langle 1 | \\
 \end{eqnarray*}
よって示された。

2. CNOTゲートは
 CNOT = | 0 \rangle \langle 0 | \otimes I +  | 1 \rangle \langle 1 | \otimes X
とかける。

制御ビットと標的ビットを入れ替えたCNOTは
 CNOT = I \otimes | 0 \rangle \langle 0 | +  X \otimes | 1 \rangle \langle 1 |
である。

よって

 \begin{eqnarray*}
U &=& ( | 0 \rangle \langle 0 | \otimes I +  | 1 \rangle \langle 1 | \otimes X )(  I \otimes | 0 \rangle \langle 0 | +  X \otimes | 1 \rangle \langle 1 | )( | 0 \rangle \langle 0 
 | \otimes I +  | 1 \rangle \langle 1 | \otimes X ) \\
&=& ( | 0 \rangle \langle 0 | \otimes I +  | 1 \rangle \langle 1 | \otimes X )(  | 0 \rangle \langle 0 | \otimes  | 0 \rangle \langle 0 | +  | 1 \rangle \langle 1 | \otimes  | 0 \rangle \langle 0 | X + X | 0 \rangle \langle 0 | \otimes  | 1 \rangle \langle 1 | + X | 1 \rangle \langle 1 | \otimes | 1 \rangle \langle 1 | X ) \\
&=& ( | 0 \rangle \langle 0 | \otimes I +  | 1 \rangle \langle 1 | \otimes X )( | 0 \rangle \langle 0 | \otimes | 0 \rangle \langle 0 | + | 1 \rangle \langle 1 | \otimes | 0 \rangle \langle 1 | + | 1 \rangle \langle 0 | \otimes | 1 \rangle \langle 1 | + | 0 \rangle \langle 1 | \otimes | 1 \rangle \langle 0 | ) \\
&=& | 0 \rangle \langle 0 | \otimes | 0 \rangle \langle 0 | + | 0 \rangle \langle 1 | \otimes | 1 \rangle \langle 0 | + | 1 \rangle \langle 1 | \otimes X | 0 \rangle \langle 1 
 | + | 1 \rangle \langle 0 | \otimes X | 1 \rangle \langle 1 | ) \\
&=& | 0 \rangle \langle 0 | \otimes | 0 \rangle \langle 0 | + | 0 \rangle \langle 1 | \otimes | 1 \rangle \langle 0 | + | 1 \rangle \langle 1 | \otimes | 1 \rangle \langle 1 | + | 1 \rangle \langle 0 | \otimes | 0 \rangle \langle 1 |) 
 \end{eqnarray*}

このゲートはSWAPゲートになっている。実際に Uを作用させてみると、

 \begin{eqnarray*}
 | 00 \rangle \rightarrow | 00 \rangle \\
 | 01 \rangle \rightarrow | 10 \rangle \\
 | 10 \rangle \rightarrow | 01 \rangle \\
 | 11 \rangle \rightarrow | 11 \rangle
 \end{eqnarray*}

となるので、確かにbitが入れ替わっています!

今回はここまで。

*1:ただしこのような対称性は一般には成り立たない。CZゲートの特徴である。(特徴付けであるかは不明)