qiskit-documentation/docs/api/qiskit/0.30/qiskit.circuit.library.RZZG...

125 lines
2.9 KiB
Plaintext

---
title: RZZGate
description: API reference for qiskit.circuit.library.RZZGate
in_page_toc_min_heading_level: 1
python_api_type: class
python_api_name: qiskit.circuit.library.RZZGate
---
# RZZGate
<Class id="qiskit.circuit.library.RZZGate" isDedicatedPage={true} github="https://github.com/qiskit/qiskit/tree/stable/0.18/qiskit/circuit/library/standard_gates/rzz.py" signature="RZZGate(theta)" modifiers="class">
Bases: `qiskit.circuit.gate.Gate`
A parametric 2-qubit $Z \otimes Z$ interaction (rotation about ZZ).
This gate is symmetric, and is maximally entangling at $\theta = \pi/2$.
**Circuit Symbol:**
```python
q_0: ───■────
│zz(θ)
q_1: ───■────
```
**Matrix Representation:**
$$
\begin{align}\begin{aligned}\newcommand{\th}{\frac{\theta}{2}}\\\begin{split}R_{ZZ}(\theta) = exp(-i \th Z{\otimes}Z) =
\begin{pmatrix}
e^{-i \th} & 0 & 0 & 0 \\
0 & e^{i \th} & 0 & 0 \\
0 & 0 & e^{i \th} & 0 \\
0 & 0 & 0 & e^{-i \th}
\end{pmatrix}\end{split}\end{aligned}\end{align}
$$
This is a direct sum of RZ rotations, so this gate is equivalent to a uniformly controlled (multiplexed) RZ gate:
$$
\begin{split}R_{ZZ}(\theta) =
\begin{pmatrix}
RZ(\theta) & 0 \\
0 & RZ(-\theta)
\end{pmatrix}\end{split}
$$
**Examples:**
> $$
> R_{ZZ}(\theta = 0) = I
> $$
>
> $$
> R_{ZZ}(\theta = 2\pi) = -I
> $$
>
> $$
> R_{ZZ}(\theta = \pi) = - Z \otimes Z
> $$
>
> $$
> \begin{split}R_{ZZ}(\theta = \frac{\pi}{2}) = \frac{1}{\sqrt{2}}
> \begin{pmatrix}
> 1-i & 0 & 0 & 0 \\
> 0 & 1+i & 0 & 0 \\
> 0 & 0 & 1+i & 0 \\
> 0 & 0 & 0 & 1-i
> \end{pmatrix}\end{split}
> $$
Create new RZZ gate.
## Methods Defined Here
### inverse
<Function id="qiskit.circuit.library.RZZGate.inverse" signature="RZZGate.inverse()">
Return inverse RZZ gate (i.e. with the negative rotation angle).
</Function>
## Attributes
### decompositions
<Attribute id="qiskit.circuit.library.RZZGate.decompositions">
Get the decompositions of the instruction from the SessionEquivalenceLibrary.
</Attribute>
### definition
<Attribute id="qiskit.circuit.library.RZZGate.definition">
Return definition in terms of other basic gates.
</Attribute>
### duration
<Attribute id="qiskit.circuit.library.RZZGate.duration">
Get the duration.
</Attribute>
### label
<Attribute id="qiskit.circuit.library.RZZGate.label">
Return instruction label
**Return type**
`str`
</Attribute>
### params
<Attribute id="qiskit.circuit.library.RZZGate.params">
return instruction params.
</Attribute>
### unit
<Attribute id="qiskit.circuit.library.RZZGate.unit">
Get the time unit of duration.
</Attribute>
</Class>