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, it is possible to perform classical computing 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.
Quantum gates are usually represented as matrices. A gate which acts on k qubits is represented by a 2^{k} x 2^{k} unitary matrix. The number of qubits in the input and output of the gate have to be equal. The action of the gate on a specific quantum state is found by multiplying the vector which represents the state by the matrix representing the gate. In the following, the vector representation of a single qubit is
v
0

0
⟩
+
v
1

1
⟩
→
[
v
0
v
1
]
,
and the vector representation of two qubits is
v
00

00
⟩
+
v
01

01
⟩
+
v
10

10
⟩
+
v
11

11
⟩
→
[
v
00
v
01
v
10
v
11
]
,
where

a
b
⟩
is the basis vector representing a state where the first qubit is in the state

a
⟩
and the second qubit in the state

b
⟩
.
The Hadamard gate acts on a single qubit. It maps the basis state

0
⟩
to

0
⟩
+

1
⟩
2
and

1
⟩
to

0
⟩
−

1
⟩
2
, which means that a measurement will have equal probabilities to become 1 or 0. It represents a rotation of
π
about the axis
(
x
^
+
z
^
)
/
2
. Equivalently, it is the combination of two rotations,
π
about the Xaxis followed by
π
/
2
about the Yaxis. It is represented by the Hadamard matrix:
H
=
1
2
[
1
1
1
−
1
]
.
Since
H
H
∗
=
I
where I is the identity matrix, H is indeed a unitary matrix.
The PauliX gate acts on a single qubit. It is the quantum equivalent of a NOT gate (with respect to the standard basis

0
⟩
,

1
⟩
, which privileges the Zdirection) . It equates to a rotation of the Bloch sphere around the Xaxis by π radians. It maps

0
⟩
to

1
⟩
and

1
⟩
to

0
⟩
. Due to this nature, it is sometimes called bitflip. It is represented by the Pauli matrix:
X
=
[
0
1
1
0
]
.
N
O
T
N
O
T
=
I
where I is the identity matrix
The PauliY gate acts on a single qubit. It equates to a rotation around the Yaxis of the Bloch sphere by π radians. It maps

0
⟩
to
i

1
⟩
and

1
⟩
to
−
i

0
⟩
. It is represented by the Pauli Y matrix:
Y
=
[
0
−
i
i
0
]
.
The PauliZ gate acts on a single qubit. It equates to a rotation around the Zaxis 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
⟩
unchanged and maps

1
⟩
to
−

1
⟩
. Due to this nature, it is sometimes called phaseflip. It is represented by the Pauli Z matrix:
Z
=
[
1
0
0
−
1
]
.
The NOT gate acts on a single qubit.
N
O
T
=
1
2
[
1
+
i
1
−
i
1
−
i
1
+
i
]
.
N
O
T
N
O
T
=
N
O
T
, so this gate is the square root of the NOT gate.
This is a family of singlequbit gates that leave the basis state

0
⟩
unchanged and map

1
⟩
to
e
i
ϕ

1
⟩
. The probability of measuring a

0
⟩
or

1
⟩
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
ϕ
radians.
R
ϕ
=
[
1
0
0
e
i
ϕ
]
where
ϕ
is the phase shift. Some common examples are the
π
8
gate where
ϕ
=
π
4
, the phase gate where
ϕ
=
π
2
and the PauliZ gate where
ϕ
=
π
.
The swap gate swaps two qubits. With respect to the basis

00
⟩
,

01
⟩
,

10
⟩
,

11
⟩
, it is represented by the matrix:
SWAP
=
[
1
0
0
0
0
0
1
0
0
1
0
0
0
0
0
1
]
.
The sqrt(swap) gate performs halfway of a twoqubit swap. It is universal such that any quantum many qubit gate can be constructed from only sqrt(swap) and single qubit gates.
SWAP
=
[
1
0
0
0
0
1
2
(
1
+
i
)
1
2
(
1
−
i
)
0
0
1
2
(
1
−
i
)
1
2
(
1
+
i
)
0
0
0
0
1
]
.
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
⟩
, and otherwise leaves it unchanged. It is represented by the matrix
CNOT
=
[
1
0
0
0
0
1
0
0
0
0
0
1
0
0
1
0
]
.
More generally if U is a gate that operates on single qubits with matrix representation
U
=
[
u
00
u
01
u
10
u
11
]
,
then the controlledU 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.

00
⟩
↦

00
⟩

01
⟩
↦

01
⟩

10
⟩
↦

1
⟩
⊗
U

0
⟩
=

1
⟩
⊗
(
u
00

0
⟩
+
u
10

1
⟩
)

11
⟩
↦

1
⟩
⊗
U

1
⟩
=

1
⟩
⊗
(
u
01

0
⟩
+
u
11

1
⟩
)
The matrix representing the controlled U is
C
(
U
)
=
[
1
0
0
0
0
1
0
0
0
0
u
00
u
01
0
0
u
10
u
11
]
.
When U is one of the Pauli matrices, σ_{x}, σ_{y}, or σ_{z}, the respective terms "controlledX", "controlledY", or "controlledZ" are sometimes used.
The Toffoli gate, also CCNOT gate, is a 3bit 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
⟩
, it applies a PauliX 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.
It can be also described as the gate which maps

a
,
b
,
c
⟩
to

a
,
b
,
c
⊕
a
b
⟩
.
The Fredkin gate (also CSWAP gate) is a 3bit gate that performs a controlled swap. It is universal for classical computation. As with the Toffoli gate 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.
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 unitaries on a constant number of qubits, the Solovay–Kitaev theorem guarantees that this can be done efficiently.
One simple set of twoqubit universal quantum gates is the Hadamard gate (
H
), the
π
/
8
gate
R
(
π
/
4
)
, and the controlled NOT gate.
A singlegate set of universal quantum gates can also be formulated using the threequbit Deutsch gate
D
(
θ
)
, which performs the transformation

a
,
b
,
c
⟩
↦
{
i
cos
(
θ
)

a
,
b
,
c
⟩
+
sin
(
θ
)

a
,
b
,
1
−
c
⟩
for
a
=
b
=
1

a
,
b
,
c
⟩
otherwise.
The universal classical logic gate, the Toffoli gate, is reducible to the Deutsch gate,
D
(
π
2
)
, thus showing that all classical logic operations can be performed on a universal quantum computer.
The current notation for quantum gates was developed by Barenco et al., building on notation introduced by Feynman.