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

こんにちは。Kumaです。

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

本書の勉強会が大阪で開催されているそうです。
演習問題の解答も一部公開中です。(私の我流よりも少し見通しの良い解き方になっていますね)
大阪近郊の方はぜひ参加してみてください。
sites.google.com


今回はpp.39- です。

pp.39 複素係数表示と実係数表示


複素係数表示におけるゲート \Lambda(R_{\frac{\pi}{2}}) は実係数表示においては
 T( I \otimes I \otimes H ) T (I \otimes I \otimes H ) を作用させることによりシミュレートできることを示せ。
ここで、複素係数表示(2量子ビット)は
 | \psi \rangle = \sum c_{z} | z \rangle
であり、実係数表示(2量子ビット+1量子ビット)は、 c_{z} = \alpha_{z} + j \beta_{z} として
 | \tilde{ \psi } \rangle = \sum ( \alpha_{z} | z \rangle \otimes | 0 \rangle + \beta_{z} | z \rangle \otimes | 1 \rangle  )
で定義される。
さらに Tはトフォリゲート(CCXゲート)、 \Lambda(U) はコントロールUゲート、HはHadamrdゲートであり

 \begin{eqnarray*}
 T &=& ( I ^{\otimes 2} - | 11 \rangle \langle 11 | ) \otimes I +  | 11 \rangle \langle 11 | \otimes X \\
 \Lambda(U) &=& | 0 \rangle \langle 0 | \otimes I +  | 1 \rangle \langle 1 | \otimes U \\
H &=& \frac{1}{\sqrt{2}} ( | 0 \rangle \langle 0 | +  | 0 \rangle \langle 1 | + | 1 \rangle \langle 0 | - | 1 \rangle \langle 1 | )
 \end{eqnarray*}
である。

  • 解答

まず Hについて

 \begin{eqnarray*}
 H | 0 \rangle = \frac{1}{\sqrt{2}} ( | 0 \rangle + | 1 \rangle ) \\
 H | 1 \rangle = \frac{1}{\sqrt{2}} ( | 0 \rangle - | 1 \rangle ) \\
 \end{eqnarray*}
により、

 \begin{eqnarray*}
  | + \rangle \equiv \frac{1}{\sqrt{2}} ( | 0 \rangle + | 1 \rangle ) \\
  | - \rangle \equiv \frac{1}{\sqrt{2}} ( | 0 \rangle - | 1 \rangle ) \\
 \end{eqnarray*}
と定義する。


 \begin{eqnarray*}
 | \tilde{ \psi } \rangle &=& \sum ( \alpha_{z} | z \rangle \otimes | 0 \rangle + \beta_{z} | z \rangle \otimes | 1 \rangle  ) \\
 (I \otimes I \otimes H )| \tilde{ \psi } \rangle &=& \sum ( \alpha_{z} | z \rangle \otimes | + \rangle + \beta_{z} | z \rangle \otimes | - \rangle  ) \\
 T(I \otimes I \otimes H )| \tilde{ \psi } \rangle &=& ( \alpha_{11} | 11 \rangle \otimes X | + \rangle  +  \beta_{11} | 11 \rangle \otimes X | - \rangle ) + \sum_{z \neq 11} ( \alpha_{z} | z \rangle \otimes | + \rangle +  \beta_{z} | z \rangle \otimes | - \rangle  ) \\
 \end{eqnarray*}

ここで

 \begin{eqnarray*}
 X | + \rangle &=& | + \rangle \\
 X | - \rangle &=& - | - \rangle \\
 \end{eqnarray*}

よって、

 \begin{eqnarray*}
 T(I \otimes I \otimes H )| \tilde{ \psi } \rangle &=& ( \alpha_{11} | 11 \rangle \otimes  | + \rangle  -  \beta_{11} | 11 \rangle \otimes  | - \rangle ) + \sum_{z \neq 11} ( \alpha_{z} | z \rangle \otimes | + \rangle +  \beta_{z} | z \rangle \otimes | - \rangle  ) \\
 \end{eqnarray*}
となる。

ここで、

 \begin{eqnarray*}
 H | + \rangle &=& | 0 \rangle \\
 H | - \rangle &=& | 1 \rangle \\
 \end{eqnarray*}

よって

 \begin{eqnarray*}
 (I \otimes I \otimes H )T(I \otimes I \otimes H )| \tilde{ \psi } \rangle &=& ( \alpha_{11} | 11 \rangle \otimes  | 0 \rangle  -  \beta_{11} | 11 \rangle \otimes  | 1 \rangle ) + \sum_{z \neq 11} ( \alpha_{z} | z \rangle \otimes | 0 \rangle +  \beta_{z} | z \rangle \otimes | 1 \rangle  ) \\
 \end{eqnarray*}

最後に Tを作用させると、

 \begin{eqnarray*}
 T(I \otimes I \otimes H )T(I \otimes I \otimes H )| \tilde{ \psi } \rangle &=& ( \alpha_{11} | 11 \rangle \otimes  | 1 \rangle  -  \beta_{11} | 11 \rangle \otimes  | 0 \rangle ) + \sum_{z \neq 11} ( \alpha_{z} | z \rangle \otimes | 0 \rangle +  \beta_{z} | z \rangle \otimes | 1 \rangle  ) \\
 \end{eqnarray*}
元の状態 | \tilde{\psi} \rangle と比較すると、 z = 11に相当する量子状態(制御ビットが1かつ標的ビットが1)の項だけが  \alpha_{z} + j \beta_{z} \rightarrow_{( \times j )} - \beta_{z} + j \alpha_{z}  \pi/2回転した状態に移されている。
すなわち複素数表示において  \Lambda (R_{\frac{\pi}{2}}) ゲートを作用させたことに他ならない。
*1

今回はここまで。

*1:回転ゲート Rは、 |1 \rangle のみを回転させるゲートであることに注意しよう。 その制御ゲートversionなので、制御ビットが1のときだけ Rが作用することになる。 結果として | 11 \rangle だけが回転する。