qiskit-documentation/docs/api/qiskit/0.35/qiskit.circuit.library.RZXG...

179 lines
4.7 KiB
Plaintext
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
title: RZXGate
description: API reference for qiskit.circuit.library.RZXGate
in_page_toc_min_heading_level: 1
python_api_type: class
python_api_name: qiskit.circuit.library.RZXGate
---
# RZXGate
<Class id="qiskit.circuit.library.RZXGate" isDedicatedPage={true} github="https://github.com/qiskit/qiskit/tree/stable/0.20/qiskit/circuit/library/standard_gates/rzx.py" signature="RZXGate(theta, label=None)" modifiers="class">
Bases: `qiskit.circuit.gate.Gate`
A parametric 2-qubit $Z \otimes X$ interaction (rotation about ZX).
This gate is maximally entangling at $\theta = \pi/2$.
The cross-resonance gate (CR) for superconducting qubits implements a ZX interaction (however other terms are also present in an experiment).
**Circuit Symbol:**
```python
┌─────────┐
q_0: ┤0 ├
│ Rzx(θ) │
q_1: ┤1 ├
└─────────┘
```
**Matrix Representation:**
$$
\begin{align}\begin{aligned}\newcommand{\th}{\frac{\theta}{2}}\\\begin{split}R_{ZX}(\theta)\ q_0, q_1 = exp(-i \frac{\theta}{2} X{\otimes}Z) =
\begin{pmatrix}
\cos(\th) & 0 & -i\sin(\th) & 0 \\
0 & \cos(\th) & 0 & i\sin(\th) \\
-i\sin(\th) & 0 & \cos(\th) & 0 \\
0 & i\sin(\th) & 0 & \cos(\th)
\end{pmatrix}\end{split}\end{aligned}\end{align}
$$
<Admonition title="Note" type="note">
In Qiskits convention, higher qubit indices are more significant (little endian convention). In the above example we apply the gate on (q\_0, q\_1) which results in the $X \otimes Z$ tensor order. Instead, if we apply it on (q\_1, q\_0), the matrix will be $Z \otimes X$:
```python
┌─────────┐
q_0: ┤1 ├
│ Rzx(θ) │
q_1: ┤0 ├
└─────────┘
```
$$
\begin{align}\begin{aligned}\newcommand{\th}{\frac{\theta}{2}}\\\begin{split}R_{ZX}(\theta)\ q_1, q_0 = exp(-i \frac{\theta}{2} Z{\otimes}X) =
\begin{pmatrix}
\cos(\th) & -i\sin(\th) & 0 & 0 \\
-i\sin(\th) & \cos(\th) & 0 & 0 \\
0 & 0 & \cos(\th) & i\sin(\th) \\
0 & 0 & i\sin(\th) & \cos(\th)
\end{pmatrix}\end{split}\end{aligned}\end{align}
$$
This is a direct sum of RX rotations, so this gate is equivalent to a uniformly controlled (multiplexed) RX gate:
$$
\begin{split}R_{ZX}(\theta)\ q_1, q_0 =
\begin{pmatrix}
RX(\theta) & 0 \\
0 & RX(-\theta)
\end{pmatrix}\end{split}
$$
</Admonition>
**Examples:**
> $$
> R_{ZX}(\theta = 0) = I
> $$
>
> $$
> R_{ZX}(\theta = 2\pi) = -I
> $$
>
> $$
> R_{ZX}(\theta = \pi) = -i Z \otimes X
> $$
>
> $$
> \begin{split}RZX(\theta = \frac{\pi}{2}) = \frac{1}{\sqrt{2}}
> \begin{pmatrix}
> 1 & 0 & -i & 0 \\
> 0 & 1 & 0 & i \\
> -i & 0 & 1 & 0 \\
> 0 & i & 0 & 1
> \end{pmatrix}\end{split}
> $$
Create new RZX gate.
## Methods Defined Here
### inverse
<Function id="qiskit.circuit.library.RZXGate.inverse" signature="RZXGate.inverse()">
Return inverse RZX gate (i.e. with the negative rotation angle).
</Function>
## Attributes
### condition\_bits
<Attribute id="qiskit.circuit.library.RZXGate.condition_bits">
Get Clbits in condition.
**Return type**
`List`\[`Clbit`]
</Attribute>
### decompositions
<Attribute id="qiskit.circuit.library.RZXGate.decompositions">
Get the decompositions of the instruction from the SessionEquivalenceLibrary.
</Attribute>
### definition
<Attribute id="qiskit.circuit.library.RZXGate.definition">
Return definition in terms of other basic gates.
</Attribute>
### duration
<Attribute id="qiskit.circuit.library.RZXGate.duration">
Get the duration.
</Attribute>
### label
<Attribute id="qiskit.circuit.library.RZXGate.label">
Return instruction label
**Return type**
`str`
</Attribute>
### name
<Attribute id="qiskit.circuit.library.RZXGate.name">
Return the name.
</Attribute>
### num\_clbits
<Attribute id="qiskit.circuit.library.RZXGate.num_clbits">
Return the number of clbits.
</Attribute>
### num\_qubits
<Attribute id="qiskit.circuit.library.RZXGate.num_qubits">
Return the number of qubits.
</Attribute>
### params
<Attribute id="qiskit.circuit.library.RZXGate.params">
return instruction params.
</Attribute>
### unit
<Attribute id="qiskit.circuit.library.RZXGate.unit">
Get the time unit of duration.
</Attribute>
</Class>