制御U演算とは、制御NOTを拡張した演算で、
制御ビットである第1ビットが$|1\rangle$のときのみ、
第2ビットの標的ビットに
\begin{align}
u=\begin{pmatrix} u_{11} & u_{12} \\ u_{21} & u_{22} \end{pmatrix}
\end{align}
のユニタリー演算を与えるもので、(\ref{eq:Base1})の基底をとったときの行列表記では、
\begin{align}
\begin{pmatrix}
1 & 0 & 0 & 0 \\
0 & 1 & 0 & 0 \\
0 & 0 & u_{11} & u_{12} \\
0 & 0 & u_{21} & u_{22}
\end{pmatrix}
\end{align}
となる。

制御V演算とは、制御U演算の逆で、
第1ビットを標的ビットとし第2ビットを制御ビットとしたものである。

すなわち第2ビットが$|1\rangle$のときのみ第1ビットに$u$の演算が作用する。
上と同じ基底を取れば
\begin{align}
\begin{pmatrix} 1 & 0 & 0 & 0 \\
0 & v_{11} & 0 & v_{12} \\
0 & 0 & 1 & 0 \\
0 & v_{21} & 0 & v_{22} \\
\end{pmatrix}
\end{align}
と行列表記できる。

clip005.jpg

図1.7:制御U、制御V

この制御U演算と制御V演算が、
1ビットのユニタリー変換と制御NOT演算で構成できることを示す。

例として制御U演算について示す。

前述の(\ref{eq:Phi}),(\ref{eq:Rz1}),(\ref{eq:Ry}),(\ref{eq:Rz2})を用いて、
1ビットのユニタリー変換が、
\begin{align}
\Phi (\delta) R_z(\alpha) R_y(\beta) R_z(\gamma)
\end{align}
とあらわせることを用いる。また、
\begin{align}
& R_y(\beta_1)R_y(\beta_2)=R_y(\beta_1+\beta_2) \\
& R_z(\alpha_1)R_z(\alpha_2)=R_z(\alpha_1+\alpha_2) \\
& \Phi (\delta_1)\Phi(\delta_2)=\Phi(\delta_1+\delta_2) \\
& XX= I (恒等変換) \\
& XR_y(\beta)=R_y(-\beta)X \\
& XR_Z(\alpha)=R_z(-\alpha)X
\end{align}
という関係があることを簡単に計算することができる。
以下でこれらを用いる。

ここで、
\begin{align}
& A=R_z(\frac{\alpha-\gamma}{2}) \\
& B=R_z(-\frac{\alpha+\gamma}{2})R_y(-\frac{\beta}{2}) \\
& C=R_y(\frac{\beta}{2})R_z(\gamma)
\end{align}
と$A,B,C$を定義すれば、その積$ABC$は、(\ref{eq:kei1})〜(\ref{eq:kei6})を用いて、
\begin{align}
& ABC=R_z(\frac{\alpha-\gamma}{2})R_z(-\frac{\alpha+\gamma}{2})R_y(-\frac{\beta}{2}) R_y(\frac{\beta}{2})R_z(\gamma) \\
= & R_z(-\gamma)R_y(0)R_z(\gamma) \\
= & R_z(-\gamma)R_z(\gamma) = I
\end{align}
となる。よって$ABC$は恒等変換となる。

また、$\Phi(\delta)AXBXC$は、

\begin{align}
&\Phi(\delta)AXBXC \\
=& \Phi(\delta) R_z(\frac{\alpha-\gamma}{2})X
R_z(-\frac{\alpha+\gamma}{2})R_y(-\frac{\beta}{2})X
R_y(\frac{\beta}{2})R_z(\gamma) \\
=& \Phi(\delta) R_z(\frac{\alpha-\gamma}{2}) R_z(\frac{\alpha+\gamma}{2}) R_y(\frac{\beta}{2})
XX R_y(\frac{\beta}{2})R_z(\gamma) \\
=& \Phi(\delta) R_z(\alpha) R_y(\beta) R_z(\gamma)
\end{align}

となる。これは任意のユニタリー変換を表している。

従って図1.8のように回路を作れば
2ビットに対する制御U演算が実現できる。

clip006.jpg

図1.8:制御Uの回路図

これは制御ビットが$|0\rangle$の状態
ならば標的ビットに$ABC=I$の恒等変換がかかり、
制御ビットが$|1\rangle$の状態ならば標的ビットに$\Phi(\delta) R_z(\alpha) R_y(\beta) R_z(\gamma)$の
任意のユニタリー変換がかかることを示している。

まったく同様にして、制御ビットと標的ビットを逆にすることによって、
制御V演算も実現できる。


従って、制御U演算と制御V演算が、
1ビットに対する演算と2ビット制御NOTによって実現できることが示された。