iSwapGate¶
- class iSwapGate[source]¶
iSWAP gate.
A 2-qubit XX+YY interaction. This is a Clifford and symmetric gate. Its action is to swap two qubit states and phase the \(|01\rangle\) and \(|10\rangle\) amplitudes by i.
Circuit Symbol:
q_0: ─⨂─ │ q_1: ─⨂─
Reference Implementation:
┌───┐┌───┐ ┌───┐ q_0: ┤ S ├┤ H ├──■──┤ X ├───── ├───┤└───┘┌─┴─┐└─┬─┘┌───┐ q_1: ┤ S ├─────┤ X ├──■──┤ H ├ └───┘ └───┘ └───┘
Matrix Representation:
\[\begin{split}iSWAP = R_{XX+YY}(-\frac{\pi}{2}) = exp(i \frac{\pi}{4} (X{\otimes}X+Y{\otimes}Y)) = \begin{pmatrix} 1 & 0 & 0 & 0 \\ 0 & 0 & i & 0 \\ 0 & i & 0 & 0 \\ 0 & 0 & 0 & 1 \end{pmatrix}\end{split}\]This gate is equivalent to a SWAP up to a diagonal.
\[\begin{split}iSWAP = \begin{pmatrix} 1 & 0 & 0 & 0 \\ 0 & 0 & 1 & 0 \\ 0 & 1 & 0 & 0 \\ 0 & 0 & 0 & 1 \end{pmatrix} . \begin{pmatrix} 1 & 0 & 0 & 0 \\ 0 & i & 0 & 0 \\ 0 & 0 & i & 0 \\ 0 & 0 & 0 & 1 \end{pmatrix}\end{split}\]Create new iSwap gate.
Attributes
Get the decompositions of the instruction from the SessionEquivalenceLibrary.
Return definition in terms of other basic gates.
Return gate label
return instruction params.
Methods
iSwapGate.add_decomposition
(decomposition)Add a decomposition of the instruction to the SessionEquivalenceLibrary.
Assemble a QasmQobjInstruction
iSwapGate.broadcast_arguments
(qargs, cargs)Validation and handling of the arguments and its relationship.
iSwapGate.c_if
(classical, val)Add classical condition on register classical and value val.
iSwapGate.control
([num_ctrl_qubits, label, …])Return controlled version of gate.
iSwapGate.copy
([name])Copy of the instruction.
Invert this instruction.
Return True .IFF.
For a composite instruction, reverse the order of sub-gates.
iSwapGate.power
(exponent)Creates a unitary gate as gate^exponent.
Return a default OpenQASM string for the instruction.
Creates an instruction with gate repeated n amount of times.
Return a numpy.array for the iSWAP gate.