54 lines
1.7 KiB
Plaintext
54 lines
1.7 KiB
Plaintext
---
|
|
title: Operation
|
|
description: API reference for qiskit.circuit.Operation
|
|
in_page_toc_min_heading_level: 1
|
|
python_api_type: class
|
|
python_api_name: qiskit.circuit.Operation
|
|
---
|
|
|
|
# Operation
|
|
|
|
<Class id="qiskit.circuit.Operation" isDedicatedPage={true} github="https://github.com/qiskit/qiskit/tree/stable/0.24/qiskit/circuit/operation.py" signature="Operation" modifiers="class">
|
|
Bases: `ABC`
|
|
|
|
Quantum Operation Interface Class. For objects that can be added to a [`QuantumCircuit`](qiskit.circuit.QuantumCircuit "qiskit.circuit.QuantumCircuit"). These objects include [`Gate`](qiskit.circuit.Gate "qiskit.circuit.Gate"), `Reset`, `Barrier`, `Measure`, and operators such as [`Clifford`](qiskit.quantum_info.Clifford "qiskit.quantum_info.Clifford"). The main purpose is to add an [`Operation`](#qiskit.circuit.Operation "qiskit.circuit.Operation") to a [`QuantumCircuit`](qiskit.circuit.QuantumCircuit "qiskit.circuit.QuantumCircuit") without synthesizing it before the transpilation.
|
|
|
|
**Example**
|
|
|
|
Add a Clifford and a Toffoli gate to a QuantumCircuit.
|
|
|
|
```python
|
|
from qiskit import QuantumCircuit
|
|
from qiskit.quantum_info import Clifford, random_clifford
|
|
|
|
qc = QuantumCircuit(3)
|
|
cliff = random_clifford(2)
|
|
qc.append(cliff, [0, 1])
|
|
qc.ccx(0, 1, 2)
|
|
qc.draw('mpl')
|
|
```
|
|
|
|

|
|
|
|
## Attributes
|
|
|
|
### name
|
|
|
|
<Attribute id="qiskit.circuit.Operation.name">
|
|
Unique string identifier for operation type.
|
|
</Attribute>
|
|
|
|
### num\_clbits
|
|
|
|
<Attribute id="qiskit.circuit.Operation.num_clbits">
|
|
Number of classical bits.
|
|
</Attribute>
|
|
|
|
### num\_qubits
|
|
|
|
<Attribute id="qiskit.circuit.Operation.num_qubits">
|
|
Number of qubits.
|
|
</Attribute>
|
|
</Class>
|
|
|