quantum gate directory

Gates Groups SDKs GitHub
$\mathrm{SWAP}$

swap family· 2 qubits

SWAP

Exchanges the quantum states of two qubits.

Open in Quirk ↗ hermitian

The SWAP gate exchanges the states of two qubits and is commonly used to reorder qubits or mediate interactions between distant qubits.

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

Properties

  • Reversible: the SWAP gate is its own inverse.
  • Decomposition: $\mathrm{SWAP} = \mathrm{CNOT}_{12} \cdot \mathrm{CNOT}_{21} \cdot \mathrm{CNOT}_{12}$.

Also written

  • $\mathrm{SWAP}$
  • $\mathrm{SWAP}_{ij}$

Related

  • Controlled variant: Fredkin

Groups

  • clifford
  • orthogonal
  • permutation
  • number-preserving

Data

  • This gate as JSON
  • Edit this page on GitHub

The unitary, drawn

Every entry of the matrix as a disc. The area is the transition probability $|U_{jk}|^2$; the colour and the hand are the phase. Rows are outputs $\langle j|$, columns inputs $|k\rangle$, in the computational basis.

Phase

Disc area $= |U_{jk}|^2$. Hover an entry for its value, or take the JSON.

Weyl chamber

Where this gate sits among all two-qubit gates, up to single-qubit rotations before and after.

  • this gate
  • other gates
  • perfect entanglers

Coordinates:

not entangling entangling perfect entangler

$(a, b, c)$ means the gate equals $e^{i(a\,XX + b\,YY + c\,ZZ)}$ up to single-qubit gates, reduced to the chamber $\pi/4 \ge a \ge b \ge |c|$ (the convention of the canonical gate, Qiskit and Cirq). The $a = \pi/4$ face is a mirror: $(\pi/4, b, c)$ and $(\pi/4, b, -c)$ are the same gate. Drag the figure to rotate it, double-click to reset.

SDK support

How to call this gate in each framework. Hover a ⓘ for a note; the support matrix compares every gate at once.

SDKName
Qiskit qiskit.circuit.library.SwapGate
PennyLane pennylane.SWAP
Cirq cirq.SWAP
Q# Std.Intrinsic.SWAP
PyQuil pyquil.gates.SWAP
Braket braket.circuits.gates.Swap
BQSKit bqskit.ir.gates.SwapGate
Qibo qibo.gates.SWAP
pytket pytket.circuit.OpType.SWAP
Stim SWAP
OpenQASM stdgates.inc: swap

← All gates

gate.directory made by nts $\oplus$ rdls