SWAP operation

Warning

This documentation refers to the Classic QDK, which has been replaced by the Modern QDK.

Please see https://aka.ms/qdk.api for the API documentation for the Modern QDK.

Namespace: Microsoft.Quantum.Intrinsic

Package: Microsoft.Quantum.Type2.Core

Applies the SWAP gate to a pair of qubits.

operation SWAP (qubit1 : Qubit, qubit2 : Qubit) : Unit is Adj + Ctl

Description

\begin{align} \operatorname{SWAP} \mathrel{:=} \begin{bmatrix} 1 & 0 & 0 & 0 \\ 0 & 0 & 1 & 0 \\ 0 & 1 & 0 & 0 \\ 0 & 0 & 0 & 1 \end{bmatrix}, \end{align}

where rows and columns are ordered as in the quantum concepts guide.

Input

qubit1 : Qubit

First qubit to be swapped.

qubit2 : Qubit

Second qubit to be swapped.

Output : Unit

Remarks

Equivalent to:

CNOT(qubit1, qubit2);
CNOT(qubit2, qubit1);
CNOT(qubit1, qubit2);