Controlled-U Gates

Another class of gates essential to quantum computation are \emph{controlled\(-U\)} gates, which act on a register of at least 2 qubits applying a unitary operation \(U\) on some subspace of the system condition on the state of some other part the system. Let \(\mathcal{H}=\mathcal{H}_A\otimes \mathcal{H}_B\) be the tensor space of two Hilbert spaces \(\mathcal{H}_A\) and \(\mathcal{H}_B\), and let \(U: \mathcal{H}_B\rightarrow \mathcal{H}_B\) be any unitary operator on \(\mathcal{H}_B\). Then a controlled\(-U\) gate} \(c-U\) gate performs the operation \(U\) on \(\mathcal{H}_B\) condition on the state of the register \(\mathcal{H}_A\), and leaves the state in \(\mathcal{H}_B\) unchanged otherwise. The register of \(\mathcal{H}_A\) is called the control register, and the register of \(\mathcal{H}_B\) is called the target register.

For example, suppose \(\mathcal{H}_A=\mathcal{H}_B=\mathcal{H}^2\) are both registers representing single qubits. Consider the controlled\(-NOT\) gate},  \(c-X\),  acting on this system of two qubits defined in terms of the \(X\) Pauli gate as follows:
\[c-X : \left\{
  \begin{array}{l l}
\left|0\right>\left|0\right> &\mapsto \left|0\right>\left|0\right> , \\
 \left|0\right>\left|1\right> &\mapsto \left|0\right>\left|1\right>,  \\
 \left|1\right>\left|0\right> &\mapsto \left|1\right>X\left|0\right> = \left|1\right>\left|1\right>, \\
 \left|1\right>\left|1\right> &\mapsto \left|1\right>X\left|1\right> =\left|1\right>\left|0\right>
  \end{array}
\right.\]
Here, the \(u-X\) gate flips the  basis states of the target qubit if the state of the control qubit is in the state \(\left|1\right>\), and leaves the target qubit unchanged if the control qubit is in the state \(\left|0\right> \).

Controlled gates act on multiple qubit registers and provide a natural example of a gate \(U\) that acts on the tensor space \(\mathcal{H}_A\otimes \mathcal{H}_B\)  of two different systems that cannot be represented as a tensor product of gates of the form \( U=U_A\otimes U_B\), where \(U_A\) and \(U_B\) are unitary gates acting on the spaces \(\mathcal{H}_A\) and \(\mathcal{H}_B\), respectively. In other words, \(U\neq U_A\otimes U_B\) for any gates \(U_A\) and \(U_B\). Gates of this type will play a crucial role in many of the quantum algorithms.