deltakit.circuit.gates.ISWAP#

class deltakit.circuit.gates.ISWAP(operand1: UT | T, operand2: VT | T, *, tag: str | None = None)#

Bases: SymmetricTwoQubitGate[T]

Swaps two qubits and phases the -1 eigenspace of the ZZ observable by i. Equivalent to SWAP then CZ then S on both targets.

Notes

Stabilizer Generators:
X_ -> +ZY
Z_ -> +_Z
_X -> +YZ
_Z -> +Z_
Unitary Matrix:
\[\begin{split}\begin{pmatrix} 1 & 0 & 0 & 0 \\ 0 & 0 & i & 0 \\ 0 & i & 0 & 0 \\ 0 & 0 & 0 & 1 \end{pmatrix}\end{split}\]

Methods#

ISWAP.from_consecutive

Yield an class instance for each pair in a flattened sequence of data.

ISWAP.stim_targets

Get the stim gate targets which define this operation.

ISWAP.transform_qubits

Transform this gates's qubits according to the id mapping.