diff --git a/qiskit/circuit/__init__.py b/qiskit/circuit/__init__.py index 3f9afacaef5b..140415e7988f 100644 --- a/qiskit/circuit/__init__.py +++ b/qiskit/circuit/__init__.py @@ -234,7 +234,6 @@ from .controlledgate import ControlledGate from .instruction import Instruction from .instructionset import InstructionSet -from .operation import Operation from .barrier import Barrier from .delay import Delay from .measure import Measure diff --git a/qiskit/circuit/barrier.py b/qiskit/circuit/barrier.py index 08395d4d4d3c..c10b32069595 100644 --- a/qiskit/circuit/barrier.py +++ b/qiskit/circuit/barrier.py @@ -14,10 +14,9 @@ from qiskit.exceptions import QiskitError from .instruction import Instruction -from .operation import Operation -class Barrier(Instruction, Operation): +class Barrier(Instruction): """Barrier instruction.""" _directive = True diff --git a/qiskit/circuit/gate.py b/qiskit/circuit/gate.py index 2e4970e4b0bc..b271aa161c82 100644 --- a/qiskit/circuit/gate.py +++ b/qiskit/circuit/gate.py @@ -18,10 +18,9 @@ from qiskit.circuit.parameterexpression import ParameterExpression from qiskit.circuit.exceptions import CircuitError from .instruction import Instruction -from .operation import Operation -class Gate(Instruction, Operation): +class Gate(Instruction): """Unitary gate.""" def __init__( diff --git a/qiskit/circuit/measure.py b/qiskit/circuit/measure.py index 57e4c5e4db12..8da0db586c0d 100644 --- a/qiskit/circuit/measure.py +++ b/qiskit/circuit/measure.py @@ -17,11 +17,10 @@ import warnings from qiskit.circuit.instruction import Instruction -from qiskit.circuit.operation import Operation from qiskit.circuit.exceptions import CircuitError -class Measure(Instruction, Operation): +class Measure(Instruction): """Quantum measurement in the computational basis.""" def __init__(self): diff --git a/qiskit/circuit/reset.py b/qiskit/circuit/reset.py index b5a36c51f7a1..e986c1ba3390 100644 --- a/qiskit/circuit/reset.py +++ b/qiskit/circuit/reset.py @@ -17,10 +17,9 @@ import warnings from qiskit.circuit.instruction import Instruction -from qiskit.circuit.operation import Operation -class Reset(Instruction, Operation): +class Reset(Instruction): """Qubit reset.""" def __init__(self): diff --git a/qiskit/extensions/quantum_initializer/initializer.py b/qiskit/extensions/quantum_initializer/initializer.py index 69f79c881df1..8382fa62f846 100644 --- a/qiskit/extensions/quantum_initializer/initializer.py +++ b/qiskit/extensions/quantum_initializer/initializer.py @@ -17,13 +17,13 @@ from qiskit.circuit import QuantumCircuit from qiskit.circuit import QuantumRegister -from qiskit.circuit import Instruction, Operation +from qiskit.circuit import Instruction from qiskit.circuit.library.data_preparation import StatePreparation _EPS = 1e-10 # global variable used to chop very small numbers to zero -class Initialize(Instruction, Operation): +class Initialize(Instruction): """Complex amplitude initialization. Class that initializes some flexible collection of qubit registers, implemented by calling diff --git a/qiskit/extensions/quantum_initializer/isometry.py b/qiskit/extensions/quantum_initializer/isometry.py index 31debc6a44fe..cb3bb1f12311 100644 --- a/qiskit/extensions/quantum_initializer/isometry.py +++ b/qiskit/extensions/quantum_initializer/isometry.py @@ -25,7 +25,6 @@ from qiskit.circuit.exceptions import CircuitError from qiskit.circuit.instruction import Instruction -from qiskit.circuit.operation import Operation from qiskit.circuit.quantumcircuit import QuantumCircuit from qiskit.circuit.quantumregister import QuantumRegister from qiskit.exceptions import QiskitError @@ -36,7 +35,7 @@ _EPS = 1e-10 # global variable used to chop very small numbers to zero -class Isometry(Instruction, Operation): +class Isometry(Instruction): """ Decomposition of arbitrary isometries from m to n qubits. In particular, this allows to decompose unitaries (m=n) and to do state preparation (m=0). diff --git a/qiskit/quantum_info/operators/dihedral/dihedral.py b/qiskit/quantum_info/operators/dihedral/dihedral.py index 3e2f0c32b975..9116d1ad77e9 100644 --- a/qiskit/quantum_info/operators/dihedral/dihedral.py +++ b/qiskit/quantum_info/operators/dihedral/dihedral.py @@ -23,12 +23,12 @@ from qiskit.quantum_info.operators.scalar_op import ScalarOp from qiskit.quantum_info.synthesis.cnotdihedral_decompose import decompose_cnotdihedral from qiskit.quantum_info.operators.mixins import generate_apidocs, AdjointMixin -from qiskit.circuit import QuantumCircuit, Instruction, Operation +from qiskit.circuit import QuantumCircuit, Instruction from .dihedral_circuits import _append_circuit from .polynomial import SpecialPolynomial -class CNOTDihedral(BaseOperator, AdjointMixin, Operation): +class CNOTDihedral(BaseOperator, AdjointMixin): """An N-qubit operator from the CNOT-Dihedral group. The CNOT-Dihedral group is generated by the quantum gates, diff --git a/qiskit/quantum_info/operators/symplectic/clifford.py b/qiskit/quantum_info/operators/symplectic/clifford.py index cd4a48c88e6e..90b0ec2d3503 100644 --- a/qiskit/quantum_info/operators/symplectic/clifford.py +++ b/qiskit/quantum_info/operators/symplectic/clifford.py @@ -16,7 +16,7 @@ import numpy as np from qiskit.exceptions import QiskitError -from qiskit.circuit import QuantumCircuit, Instruction, Operation +from qiskit.circuit import QuantumCircuit, Instruction from qiskit.circuit.library.standard_gates import IGate, XGate, YGate, ZGate, HGate, SGate from qiskit.quantum_info.operators.base_operator import BaseOperator from qiskit.quantum_info.operators.operator import Operator @@ -27,7 +27,7 @@ from .clifford_circuits import _append_circuit -class Clifford(BaseOperator, AdjointMixin, Operation): +class Clifford(BaseOperator, AdjointMixin): """An N-qubit unitary operator from the Clifford group. **Representation** diff --git a/qiskit/quantum_info/operators/symplectic/pauli.py b/qiskit/quantum_info/operators/symplectic/pauli.py index 5549e210b618..9334731fb872 100644 --- a/qiskit/quantum_info/operators/symplectic/pauli.py +++ b/qiskit/quantum_info/operators/symplectic/pauli.py @@ -20,7 +20,7 @@ import numpy as np -from qiskit.circuit import Instruction, QuantumCircuit, Operation +from qiskit.circuit import Instruction, QuantumCircuit from qiskit.circuit.barrier import Barrier from qiskit.circuit.library.generalized_gates import PauliGate from qiskit.circuit.library.standard_gates import IGate, XGate, YGate, ZGate @@ -31,7 +31,7 @@ from qiskit.utils.deprecation import deprecate_function -class Pauli(BasePauli, Operation): +class Pauli(BasePauli): r"""N-qubit Pauli operator. This class represents an operator :math:`P` from the full :math:`n`-qubit diff --git a/releasenotes/notes/Operation-abstract-base-class-99f46180c7ddaa6b.yaml b/releasenotes/notes/Operation-abstract-base-class-99f46180c7ddaa6b.yaml deleted file mode 100644 index b4d13418d7ad..000000000000 --- a/releasenotes/notes/Operation-abstract-base-class-99f46180c7ddaa6b.yaml +++ /dev/null @@ -1,10 +0,0 @@ ---- -features: - - | - A new :class:`~qiskit.circuit.Operation` base class for objects - that can be added to a :class:`~qiskit.circuit.QuantumCircuit`. - These objects include :class:`~qiskit.circuit.Gate`, :class:`~qiskit.circuit.Reset`, - :class:`~qiskit.circuit.Barrier`, :class:`~qiskit.circuit.Measure`, - and operators such as :class:`~qiskit.quantum_info.Clifford`. - The main purpose is to add an :class:`~qiskit.circuit.Operation` to a - :class:`~qiskit.circuit.QuantumCircuit` without synthesizing it before the transpilation.