# Quantum gate

In quantum computing and specifically the quantum circuit model of computation, a quantum gate (or quantum logic gate) is a basic quantum circuit operating on a small number of qubits. They are the building blocks of quantum circuits, like classical logic gates are for conventional digital circuits.

Unlike many classical logic gates, quantum logic gates are reversible. However, classical computing can be performed using only reversible gates. For example, the reversible Toffoli gate can implement all Boolean functions. This gate has a direct quantum equivalent, showing that quantum circuits can perform all operations performed by classical circuits.

Quantum logic gates are represented by unitary matrices. The most common quantum gates operate on spaces of one or two qubits, just like the common classical logic gates operate on one or two bits. This means that as matrices, quantum gates can be described by 2 × 2 or 4 × 4 unitary matrices.

## Commonly used gates

Quantum gates are usually represented as matrices. A gate which acts on k qubits is represented by a 2k x 2k unitary matrix. The number of qubits in the input and output of the gate have to be equal. The action of the quantum gate is found by multiplying the matrix representing the gate with the vector which represents the quantum state.

The Hadamard gate acts on a single qubit. It maps the basis state $|0\rangle$ to $\frac{|0\rangle + |1\rangle}{\sqrt{2}}$ and $|1\rangle$ to $\frac{|0\rangle - |1\rangle}{\sqrt{2}}$ and represents a rotation of $\pi$ about the axis $(\hat{x}+\hat{z})/\sqrt{2}$. It is represented by the Hadamard matrix:

$H = \frac{1}{\sqrt{2}} \begin{bmatrix} 1 & 1 \\ 1 & -1 \end{bmatrix}$.

Since $HH^{*}=I$ where I is the identity matrix, H is indeed a unitary matrix.

### Pauli-X gate

The Pauli-X gate acts on a single qubit. It is the quantum equivalent of a NOT gate. It equates to a rotation of the Bloch Sphere around the X-axis by π radians. It maps $|0\rangle$ to $|1\rangle$ and $|1\rangle$ to $|0\rangle$. It is represented by the Pauli matrix:

$X = \begin{bmatrix} 0 & 1 \\ 1 & 0 \end{bmatrix}$.

### Pauli-Y gate

The Pauli-Y gate acts on a single qubit. It equates to a rotation around the Y-axis of the Bloch Sphere by π radians. It maps $|0\rangle$ to $i|1\rangle$ and $|1\rangle$ to $-i|0\rangle$. It is represented by the Pauli Y matrix:

$Y = \begin{bmatrix} 0 & -i \\ i & 0 \end{bmatrix}$.

### Pauli-Z gate

The Pauli-Z gate acts on a single qubit. It equates to a rotation around the Z-axis of the Bloch Sphere by π radians. Thus, it is a special case of a phase shift gate (next) with θ=π. It leaves the basis state $|0\rangle$ unchanged and maps $|1\rangle$ to $-|1\rangle$. It is represented by the Pauli Z matrix:

$Z = \begin{bmatrix} 1 & 0 \\ 0 & -1 \end{bmatrix}$.

### Phase shift gates

This is a family of single-qubit gates that leave the basis state $|0\rangle$ unchanged and map $|1\rangle$ to $e^{i\theta}|1\rangle$. The probability of measuring a $|0\rangle$ or $|1\rangle$ is unchanged after applying this gate, however it modifies the phase of the quantum state. This is equivalent to tracing a horizontal circle (a line of latitude) on the Bloch Sphere by $\theta$ radians.

$R_\theta = \begin{bmatrix} 1 & 0 \\ 0 & e^{i \theta} \end{bmatrix}$

where θ is the phase shift. Some common examples are the $\frac{\pi}{8}$ gate where θ = $\frac{\pi}{4}$, the phase gate where θ = $\frac{\pi}{2}$ and the Pauli-Z gate where θ = π.

### Swap gate

Circuit representation of SWAP gate

The swap gate swaps two qubits. It is represented by the matrix:

$\mbox{SWAP} = \begin{bmatrix} 1&0&0&0\\0&0&1&0\\0&1&0&0\\0&0&0&1\end{bmatrix}$.

### Controlled gates

Circuit representation of controlled NOT gate

Controlled gates act on 2 or more qubits, where one or more qubits act as a control for some operation. For example, the controlled NOT gate (or CNOT) acts on 2 qubits, and performs the NOT operation on the second qubit only when the first qubit is $|1\rangle$, and otherwise leaves it unchanged. It is represented by the matrix

$\mbox{CNOT} = \begin{bmatrix}1&0&0&0\\0&1&0&0\\0&0&0&1\\0&0&1&0\end{bmatrix}$.

More generally if U is a gate that operates on single qubits with matrix representation

$U = \begin{bmatrix} x_{00} & x_{01} \\ x_{10} & x_{11} \end{bmatrix}$,

then the controlled-U gate is a gate that operates on two qubits in such a way that the first qubit serves as a control. It maps the basis states as follows.

Circuit representation of controlled-U gate
$| 0 0 \rangle \mapsto | 0 0 \rangle$
$| 0 1 \rangle \mapsto | 0 1 \rangle$
$| 1 0 \rangle \mapsto | 1 \rangle U |0 \rangle = | 1 \rangle \left(x_{00} |0 \rangle + x_{10} |1 \rangle\right)$
$| 1 1 \rangle \mapsto | 1 \rangle U |1 \rangle = | 1 \rangle \left(x_{01} |0 \rangle + x_{11} |1 \rangle\right)$

The matrix representing the controlled U is

$\mbox{C}(U) = \begin{bmatrix} 1 & 0 & 0 & 0 \\ 0 & 1 & 0 & 0 \\ 0 & 0 & x_{00} & x_{01} \\ 0 & 0 & x_{10} & x_{11} \end{bmatrix}$.

When U is one of the Pauli matrices, σx, σy, or σz, the respective terms "controlled-X", "controlled-Y", or "controlled-Z" are sometimes used.[1]

### Toffoli gate

Main article: Toffoli gate
Circuit representation of Toffoli gate

The Toffoli gate, also CCNOT gate, is a 3-bit gate, which is universal for classical computation. The quantum Toffoli gate is the same gate, defined for 3 qubits. If the first two bits are in the state $|1\rangle$, it applies a Pauli-X on the third bit, else it does nothing. It is an example of a controlled gate. Since it is the quantum analog of a classical gate, it is completely specified by its truth table.

Truth table Matrix form
INPUT OUTPUT
0   0   0   0   0   0
0 0 1 0 0 1
0 1 0 0 1 0
0 1 1 0 1 1
1 0 0 1 0 0
1 0 1 1 0 1
1 1 0 1 1 1
1 1 1 1 1 0

$\begin{bmatrix} 1 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\ 0 & 1 & 0 & 0 & 0 & 0 & 0 & 0 \\ 0 & 0 & 1 & 0 & 0 & 0 & 0 & 0 \\ 0 & 0 & 0 & 1 & 0 & 0 & 0 & 0 \\ 0 & 0 & 0 & 0 & 1 & 0 & 0 & 0 \\ 0 & 0 & 0 & 0 & 0 & 1 & 0 & 0 \\ 0 & 0 & 0 & 0 & 0 & 0 & 0 & 1 \\ 0 & 0 & 0 & 0 & 0 & 0 & 1 & 0 \\ \end{bmatrix}$

It can be also described as the gate which maps $|a, b, c\rangle$ to $|a, b, c\oplus ab\rangle$.

### Fredkin gate

Main article: Fredkin gate
Circuit representation of Fredkin gate

The Fredkin gate (also CSWAP gate) is a 3-bit gate that performs a controlled swap. It is universal for classical computation. It has the useful property that the numbers of 0s and 1s are conserved throughout, which in the billiard ball model means the same number of balls are output as input.

Truth table Matrix form
INPUT OUTPUT
C I1 I2 C O1 O2
0   0   0   0   0   0
0 0 1 0 0 1
0 1 0 0 1 0
0 1 1 0 1 1
1 0 0 1 0 0
1 0 1 1 1 0
1 1 0 1 0 1
1 1 1 1 1 1

$\begin{bmatrix} 1 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\ 0 & 1 & 0 & 0 & 0 & 0 & 0 & 0 \\ 0 & 0 & 1 & 0 & 0 & 0 & 0 & 0 \\ 0 & 0 & 0 & 1 & 0 & 0 & 0 & 0 \\ 0 & 0 & 0 & 0 & 1 & 0 & 0 & 0 \\ 0 & 0 & 0 & 0 & 0 & 0 & 1 & 0 \\ 0 & 0 & 0 & 0 & 0 & 1 & 0 & 0 \\ 0 & 0 & 0 & 0 & 0 & 0 & 0 & 1 \\ \end{bmatrix}$

## Universal quantum gates

Informally, a set of universal quantum gates is any set of gates to which any operation possible on a quantum computer can be reduced, that is, any other unitary operation can be expressed as a finite sequence of gates from the set. Technically, this is impossible since the number of possible quantum gates is uncountable, whereas the number of finite sequences from a finite set is countable. To solve this problem, we only require that any quantum operation can be approximated by a sequence of gates from this finite set. Moreover, for the specific case of single qubit unitaries the Solovay–Kitaev theorem guarantees that this can be done efficiently.

One simple set of two-qubit universal quantum gates is the Hadamard gate ($H$), the $\pi/8$ gate $R(\pi / 4)$, and the controlled NOT gate.

A single-gate set of universal quantum gates can also be formulated using the three-qubit Deutsch gate $D(\theta)$, which performs the transformation[2]

$|a,b,c\rangle \mapsto \begin{cases} i \cos(\theta) |a,b,c\rangle + \sin(\theta) |a,b,1-c\rangle & \mbox{for }a=b=1 \\ |a,b,c\rangle & \mbox{otherwise.}\end{cases}$

The universal classical logic gate, the Toffoli gate, is reducible to the Deutsch gate, $D(\begin{matrix} \frac{\pi}{2} \end{matrix})$, thus showing that all classical logic operations can be performed on a universal quantum computer.

## Realistic realization of NAND quantum gate with two controlled spins — Example

The quantum gate of the negation of the conjunction or NAND can be built for example with two electron spins interacting together with the simplest exchange-like interaction and both put in the magnetic field with the controlled time dependent direction used for its operation. The Hamiltonian is given by

$H=-\boldsymbol{\sigma_1} \cdot \bold B-\boldsymbol{\sigma_2} \cdot \bold B-\boldsymbol{\sigma_1} \cdot \boldsymbol{\sigma_2}$,

where $\boldsymbol{\sigma_1}$, $\boldsymbol{\sigma_2}$ are vector-operators of the electron spins consisting of three Pauli matrices. The Bloch equations without damping obtained from the Schrödinger equation are:

$\dot{\boldsymbol{\sigma_1}}=\boldsymbol{\sigma_1} \times \bold B + \boldsymbol{\sigma_1} \times \boldsymbol{\sigma_2}$
$\dot{\boldsymbol{\sigma_2}}=\boldsymbol{\sigma_2} \times \bold B + \boldsymbol{\sigma_2} \times \boldsymbol{\sigma_1}$

Those equations can be solved in the adiabatic following approximation when the spin vectors with the infinitesimal Larmor precession follow the vector of the magnetic field only assuming that $|\bold B| = |\boldsymbol {\sigma_i}|$. Depending on whether the vectors are both parallel or anti-parallel to the magnetic field or anti-parallel to each other they either both adiabatically follow the magnetic field and change the direction by the 180° or the left side of one of the equations identically vanishes and only the direction of one of the spins changes which follows adiabatically the superposition of the field and the second added frozen spin acting as the effective field. The function of the change of the magnetic field in time is obviously unconditional and not dependent on the initial state of both spins which guarantees proper gate operation. Intuitively this operation can be understood that the magnetic field aligns the antyferromagnetic ordering of two spins into the privileged ferromagnetic one while reversing the existing ferromagnetic ordering. After the time of the adiabatic change of the field direction $\bold B$ by 180 degrees we have therefore

$e^{-i\int H(t) dt_{op}}\begin{bmatrix} 1 \\ 0 \end{bmatrix} \otimes \begin{bmatrix} 1 \\ 0 \end{bmatrix}=\begin{bmatrix} 0 \\ -1 \end{bmatrix} \otimes \begin{bmatrix} 0 \\ -1 \end{bmatrix}$
$e^{-i\int H(t) dt_{op}}\begin{bmatrix} 0 \\ -1 \end{bmatrix} \otimes \begin{bmatrix} 0 \\ -1 \end{bmatrix}=\begin{bmatrix} 1 \\ 0 \end{bmatrix} \otimes \begin{bmatrix} 1 \\ 0 \end{bmatrix}$
$e^{-i\int H(t) dt_{op}}\begin{bmatrix} 1 \\ 0 \end{bmatrix} \otimes \begin{bmatrix} 0 \\ -1 \end{bmatrix}=\begin{bmatrix} 1 \\ 0 \end{bmatrix} \otimes \begin{bmatrix} 1 \\ 0 \end{bmatrix}$
$e^{-i\int H(t) dt_{op}}\begin{bmatrix} 0 \\ -1 \end{bmatrix} \otimes \begin{bmatrix} 1 \\ 0 \end{bmatrix}=\begin{bmatrix} 1 \\ 0 \end{bmatrix} \otimes \begin{bmatrix} 1 \\ 0 \end{bmatrix}$

While interpreting the spin up as logical 1, down as 0 and the duplicated spin of the final state as the result we obtain the gate of conjunction negation or NAND.

## History

The current notation for quantum gates was developed by Barenco et al.,[3] building on notation introduced by Feynman.[4]