Categories: Quantum information.

In quantum computing, **quantum gates** are the equivalent of classical binary logic gates such as \(\mathrm{NOT}\), \(\mathrm{AND}\), etc. Because of the continuous nature of qubits, the number of possible quantum gates is uncountably infinite, so we only consider the most important examples here.

As an example, consider the following must general single-qubit state \(\ket{\psi}\):

\[\begin{aligned} \ket{\psi} = \alpha \ket{0} + \beta \ket{1} = \begin{bmatrix} \alpha \\ \beta \end{bmatrix} \end{aligned}\]

Arguably the most famous and/or most fundamental quantum gates are the **Pauli matrices**:

\[\begin{aligned} \boxed{ X = \begin{bmatrix} 0 & 1 \\ 1 & 0 \end{bmatrix} } \qquad \boxed{ Y = \begin{bmatrix} 0 & -i \\ i & 0 \end{bmatrix} } \qquad \boxed{ Z = \begin{bmatrix} 1 & 0 \\ 0 & -1 \end{bmatrix} } \end{aligned}\]

They have the following effect on \(\ket{\psi}\). Note that \(X\) is equivalent to the classical \(\mathrm{NOT}\) gate (and is often given that name), and \(Z\) is sometimes called the **phase-flip gate**:

\[\begin{aligned} X \ket{\psi} = \begin{bmatrix} \beta \\ \alpha \end{bmatrix} \qquad Y \ket{\psi} = \begin{bmatrix} -i \beta \\ i \alpha \end{bmatrix} \qquad Z \ket{\psi} = \begin{bmatrix} \alpha \\ -\beta \end{bmatrix} \end{aligned}\]

In fact, \(Z\) is a specific case of the **phase shift gate** \(R_\phi\), which modifies the qubit’s phase without changing its amplitudes. For an angle \(\phi\), it is given by:

\[\begin{aligned} \boxed{ R_\phi = \begin{bmatrix} 1 & 0 \\ 0 & e^{i \phi} \end{bmatrix} } \end{aligned}\]

For \(\phi = \pi\), we recover the Pauli-\(Z\) gate. In general, the action of \(R_\phi\) is as follows:

\[\begin{aligned} R_\phi \ket{\psi} = \begin{bmatrix} \alpha \\ e^{i \phi} \beta \end{bmatrix} \end{aligned}\]

Two common special cases of \(R_\phi\) are \(\phi = \pi/2\) and \(\phi = \pi/4\), respectively called \(S\) and \(T\):

\[\begin{aligned} \boxed{ S = R_{\pi/2} = \begin{bmatrix} 1 & 0 \\ 0 & i \end{bmatrix} } \qquad \quad \boxed{ T = R_{\pi/4} = \frac{1}{\sqrt{2}} \begin{bmatrix} \sqrt{2} & 0 \\ 0 & 1 + i \end{bmatrix} } \end{aligned}\]

Finally, we have the **Hadamard gate** \(H\), which is defined as follows:

\[\begin{aligned} \boxed{ H = \frac{1}{\sqrt{2}} \begin{bmatrix} 1 & 1 \\ 1 & -1 \end{bmatrix} } \end{aligned}\]

Its action consists of rotating the qubit by \(\pi\) around the axis \((X + Z) / \sqrt{2}\) of the Bloch sphere:

\[\begin{aligned} H \ket{\psi} = \frac{1}{\sqrt{2}} \begin{bmatrix} \alpha + \beta \\ \alpha - \beta \end{bmatrix} \end{aligned}\]

Notably, it maps the eigenstates of \(X\) and \(Z\) to each other, and is its own inverse (i.e. unitary):

\[\begin{aligned} H \ket{0} = \ket{+} \qquad H \ket{1} = \ket{-} \qquad H \ket{+} = \ket{0} \qquad H \ket{-} = \ket{1} \end{aligned}\]

The **Clifford gates** are a set including \(X\), \(Y\), \(Z\), \(H\) and \(S\), or more generally any gates that rotate by multiples of \(\pi/2\) around the Bloch sphere. This set is **not universal**, meaning that if we start from \(\ket{0}\), we can only reach \(\ket{0}\), \(\ket{1}\), \(\ket{+}\), \(\ket{-}\), \(\ket{+i}\) \(\ket{-i}\) using these gates.

If we add *any* non-Clifford gate, for example \(T\), then we can reach any point on the Bloch sphere, which means that the set is **universal**.

However, there is a problem: a qubit has an uncountable infinity of states, but a quantum circuit consists of a countably infinite sequence of gates, at most. Therefore, technically, we can never reach the whole Bloch sphere, but we *can* come up with circuits that approximate a target state to some degree \(\varepsilon\). This is the definition of universality: any state can be approximated.

As an example, let us consider the following two pure one-qubit states \(\ket{\psi_1}\) and \(\ket{\psi_2}\):

\[\begin{aligned} \ket{\psi_1} = \alpha_1 \ket{0} + \beta_1 \ket{1} = \begin{bmatrix} \alpha_1 \\ \beta_1 \end{bmatrix} \qquad \quad \ket{\psi_2} = \alpha_2 \ket{0} + \beta_2 \ket{1} = \begin{bmatrix} \alpha_2 \\ \beta_2 \end{bmatrix} \end{aligned}\]

The composite state of both qubits, assuming they are pure, is then their tensor product \(\otimes\):

\[\begin{aligned} \ket{\psi_1 \psi_2} = \ket{\psi_1} \otimes \ket{\psi_2} &= \alpha_1 \alpha_2 \ket{00} + \alpha_1 \beta_2 \ket{01} + \beta_1 \alpha_2 \ket{10} + \beta_1 \beta_2 \ket{11} \\ &= c_{00} \ket{00} + c_{01} \ket{01} + c_{10} \ket{10} + c_{11} \ket{11} \end{aligned}\]

Note that a two-qubit system may be entangled, in which case the coefficients \(c_{00}\) etc. cannot be written as products, i.e. \(\ket{\psi_2}\) cannot be expressed separately from \(\ket{\psi_1}\), and vice versa.

In other words, the general action of a two-qubit quantum gate can be expressed in the basis of \(\ket{00}\), \(\ket{01}\), \(\ket{10}\) and \(\ket{11}\), but not always in the basis of \(\ket{0}_1\), \(\ket{1}_1\), \(\ket{0}_2\) and \(\ket{1}_2\).

With that said, the first two-qubit gate is \(\mathrm{SWAP}\), which simply swaps \(\ket{\psi_1}\) and \(\ket{\psi_2}\):

\[\begin{aligned} \boxed{ \mathrm{SWAP} = \begin{bmatrix} 1 & 0 & 0 & 0 \\ 0 & 0 & 1 & 0 \\ 0 & 1 & 0 & 0 \\ 0 & 0 & 0 & 1 \end{bmatrix} } \end{aligned}\]

This matrix is given in the basis of \(\ket{00}\), \(\ket{01}\), \(\ket{10}\) and \(\ket{11}\). Note that \(\mathrm{SWAP}\) cannot generate entanglement, so if its input is separable, its output is too. In any case, its effect is clear:

\[\begin{aligned} \mathrm{SWAP} \ket{\psi_1 \psi_2} &= c_{00} \ket{00} + c_{10} \ket{01} + c_{01} \ket{10} + c_{11} \ket{11} \end{aligned}\]

Next, there is the **controlled NOT gate** \(\mathrm{CNOT}\), which “flips” (applies \(X\) to) \(\ket{\psi_2}\) if \(\ket{\psi_1}\) is true:

\[\begin{aligned} \boxed{ \mathrm{CNOT} = \begin{bmatrix} 1 & 0 & 0 & 0 \\ 0 & 1 & 0 & 0 \\ 0 & 0 & 0 & 1 \\ 0 & 0 & 1 & 0 \end{bmatrix} } \end{aligned}\]

That is, it swaps the last two coefficients \(c_{10}\) and \(c_{11}\) in the composite state vector:

\[\begin{aligned} \mathrm{CNOT} \ket{\psi_1 \psi_2} &= c_{00} \ket{00} + c_{01} \ket{01} + c_{11} \ket{10} + c_{10} \ket{11} \end{aligned}\]

More generally, from every one-qubit gate \(U\), we can define a two-qubit **controlled U gate** \(\mathrm{CU}\), which applies \(U\) to \(\ket{\psi_2}\) if \(\ket{\psi_1}\) is true:

\[\begin{aligned} \boxed{ \mathrm{CU} = \begin{bmatrix} 1 & 0 & 0 & 0 \\ 0 & 1 & 0 & 0 \\ 0 & 0 & u_{00} & u_{01} \\ 0 & 0 & u_{10} & u_{11} \end{bmatrix} } \end{aligned}\]

Where the lower-right 2x2 block is simply \(U\). The general action of this gate is given by:

\[\begin{aligned} \mathrm{CU} \ket{\psi_1 \psi_2} &= c_{00} \ket{00} + c_{01} \ket{01} + (c_{10} u_{00} + c_{11} u_{01}) \ket{10} + (c_{10} u_{10} + c_{11} u_{11}) \ket{11} \end{aligned}\]

A set of gates is **universal** if all possible mappings from \(n\) to \(n\) qubits can be approximated using only these gates. A minimal universal set is \(\{\mathrm{CNOT}, T, S\}\), and there exist many others.

- J.S. Neergaard-Nielsen,
*Quantum information: lectures notes*, 2021, unpublished. - S. Aaronson,
*Introduction to quantum information science: lecture notes*, 2018, unpublished.

© "Prefetch". Licensed under CC BY-SA 4.0.