ApplyFermionicSWAP 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.Canon

Package: Microsoft.Quantum.Standard

Applies the Fermionic SWAP.

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

Description

This essentially swaps the qubits while applying a global phase of -1 if both qubits are 1s. Preserves anti-symmetrization of orbitals. See for more information.

This operation is represented by the unitary operator \begin{align} f_{swap} \mathrel{:=} \begin{bmatrix} 1 & 0 & 0 & 0 \\ 0 & 0 & 1 & 0 \\ 0 & 1 & 0 & 0 \\ 0 & 0 & 0 & -1 \\ \end{bmatrix}. \end{align}

Input

qubit1 : Qubit

The first qubit to be swapped.

qubit2 : Qubit

The second qubit to be swapped.

Output : Unit

References

See Also