qiskit-documentation/docs/api/qiskit/0.29/qiskit.circuit.library.iSwa...

112 lines
2.5 KiB
Plaintext

---
title: iSwapGate
description: API reference for qiskit.circuit.library.iSwapGate
in_page_toc_min_heading_level: 1
python_api_type: class
python_api_name: qiskit.circuit.library.iSwapGate
---
# iSwapGate
<Class id="qiskit.circuit.library.iSwapGate" isDedicatedPage={true} github="https://github.com/qiskit/qiskit/tree/stable/0.18/qiskit/circuit/library/standard_gates/iswap.py" signature="iSwapGate" modifiers="class">
Bases: `qiskit.circuit.gate.Gate`
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:**
```python
q_0: ─⨂─
q_1: ─⨂─
```
**Reference Implementation:**
```python
┌───┐┌───┐ ┌───┐
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
### decompositions
<Attribute id="qiskit.circuit.library.iSwapGate.decompositions">
Get the decompositions of the instruction from the SessionEquivalenceLibrary.
</Attribute>
### definition
<Attribute id="qiskit.circuit.library.iSwapGate.definition">
Return definition in terms of other basic gates.
</Attribute>
### duration
<Attribute id="qiskit.circuit.library.iSwapGate.duration">
Get the duration.
</Attribute>
### label
<Attribute id="qiskit.circuit.library.iSwapGate.label">
Return instruction label
**Return type**
`str`
</Attribute>
### params
<Attribute id="qiskit.circuit.library.iSwapGate.params">
return instruction params.
</Attribute>
### unit
<Attribute id="qiskit.circuit.library.iSwapGate.unit">
Get the time unit of duration.
</Attribute>
</Class>