Safe Haskell | None |
---|

This module provides some convenient definitions for the Binary Welded Tree algorithm implementation.

# Some convenient gates

wGate :: (Qubit, Qubit) -> Circ () Source #

Apply the binary *W*-gate to a pair of qubits. The W-gate
diagonalizes the SWAP operation.

wGateInverse :: (Qubit, Qubit) -> Circ () Source #

Apply the *inverse* of the *W*-gate. Note: since the *W*-gate is
self-inverse, this is really the same as `wGate`

. However, we
define this as a separate function for clarity.