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

161 lines
3.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.23/qiskit/circuit/library/standard_gates/rzz.py" signature="RZZGate(theta, label=None)" modifiers="class">
Bases: [`qiskit.circuit.gate.Gate`](qiskit.circuit.Gate "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$.
Can be applied to a [`QuantumCircuit`](qiskit.circuit.QuantumCircuit "qiskit.circuit.QuantumCircuit") with the [`rzz()`](qiskit.circuit.QuantumCircuit#rzz "qiskit.circuit.QuantumCircuit.rzz") method.
**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\left(-i \th Z{\otimes}Z\right) =
\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}\left(\theta = \frac{\pi}{2}\right) = \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>
### power
<Function id="qiskit.circuit.library.RZZGate.power" signature="RZZGate.power(exponent)">
Raise gate to a power.
</Function>
## Attributes
### condition\_bits
<Attribute id="qiskit.circuit.library.RZZGate.condition_bits">
Get Clbits in condition.
**Return type**
`List`\[[`Clbit`](qiskit.circuit.Clbit "qiskit.circuit.classicalregister.Clbit")]
</Attribute>
### 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>
### name
<Attribute id="qiskit.circuit.library.RZZGate.name">
Return the name.
</Attribute>
### num\_clbits
<Attribute id="qiskit.circuit.library.RZZGate.num_clbits">
Return the number of clbits.
</Attribute>
### num\_qubits
<Attribute id="qiskit.circuit.library.RZZGate.num_qubits">
Return the number of qubits.
</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>