
The swap test is a procedure in
quantum computation
A quantum computer is a computer that exploits quantum mechanical phenomena. On small scales, physical matter exhibits properties of both particles and waves, and quantum computing takes advantage of this behavior using specialized hardware. C ...
that is used to check how much two
quantum states
In quantum physics, a quantum state is a mathematical entity that embodies the knowledge of a quantum system. Quantum mechanics specifies the construction, evolution, and measurement of a quantum state. The result is a prediction for the system re ...
differ, appearing first in the work of Barenco et al.
[
]
and later rediscovered by
Harry Buhrman,
Richard Cleve,
John Watrous, and
Ronald de Wolf
Ronald Michiel de Wolf (born 1973) is a Dutch Computer Scientist, currently a Senior Researcher at Centrum Wiskunde & Informatica (CWI) and a professor at the Institute for Logic, Language and Computation (ILLC) of the University of Amsterdam ( ...
.
[
] It appears commonly in
quantum machine learning, and is a circuit used for proofs-of-concept in implementations of quantum computers.
Formally, the swap test takes two input states
and
and outputs a
Bernoulli random variable
In probability theory and statistics, the Bernoulli distribution, named after Swiss mathematician Jacob Bernoulli, is the discrete probability distribution of a random variable which takes the value 1 with probability p and the value 0 with pro ...
that is 1 with probability
(where the expressions here use
bra–ket notation
Bra–ket notation, also called Dirac notation, is a notation for linear algebra and linear operators on complex vector spaces together with their dual space both in the finite-dimensional and infinite-dimensional case. It is specifically de ...
). This allows one to, for example, estimate the squared inner product between the two states,
, to
additive error by taking the average over
runs of the swap test. This requires
copies of the input states. The squared inner product roughly measures "overlap" between the two states, and can be used in linear-algebraic applications, including clustering quantum states.
Explanation of the circuit
Consider two states:
and
. The state of the system at the beginning of the protocol is
. After the
Hadamard gate
The Hadamard transform (also known as the Walsh–Hadamard transform, Hadamard–Rademacher–Walsh transform, Walsh transform, or Walsh–Fourier transform) is an example of a generalized class of Fourier transforms. It performs an orthogonal ...
, the state of the system is
. The
controlled SWAP gate transforms the state into
. The second Hadamard gate results in
The
measurement gate on the first qubit ensures that it's 0 with a probability of
when measured. If
and
are
orthogonal
In mathematics, orthogonality (mathematics), orthogonality is the generalization of the geometric notion of ''perpendicularity''. Although many authors use the two terms ''perpendicular'' and ''orthogonal'' interchangeably, the term ''perpendic ...
, then the probability that 0 is measured is
. If the states are equal
, then the probability that 0 is measured is 1.
In general, for
trials of the swap test using
copies of
and
copies of
, the fraction of measurements that are zero is
, so by taking
, one can get arbitrary precision of this value.
Below is the pseudocode for estimating the value of
using ''P'' copies of
and
:
Inputs ''P'' copies each of the ''n'' qubits quantum states
and
Output An estimate of
for ''j'' ranging from 1 to ''P'':
initialize an ancilla qubit ''A'' in state
apply a Hadamard gate to the ancilla qubit ''A''
for ''i'' ranging from 1 to ''n'':
apply CSWAP to
and
(the ''i''th qubit of the ''j''th copy of
and
), with ''A'' as the control qubit
apply a Hadamard gate to the ancilla qubit ''A''
measure ''A'' in the
basis and record the measurement ''M
j'' as either a 0 or 1
compute
.
return
as our estimate of
References
{{Quantum computing
Quantum algorithms