CircuitInstruction#

class qiskit.circuit.CircuitInstruction(operation, qubits=(), clbits=())[fuente]#

Bases: object

A single instruction in a QuantumCircuit, comprised of the operation and various operands.

Nota

There is some possible confusion in the names of this class, Instruction, and Operation, and this class鈥檚 attribute operation. Our preferred terminology is by analogy to assembly languages, where an 芦instruction禄 is made up of an 芦operation禄 and its 芦operands禄.

Historically, Instruction came first, and originally contained the qubits it operated on and any parameters, so it was a true 芦instruction禄. Over time, QuantumCircuit became responsible for tracking qubits and clbits, and the class became better described as an 芦operation禄. Changing the name of such a core object would be a very unpleasant API break for users, and so we have stuck with it.

This class was created to provide a formal 芦instruction禄 context object in QuantumCircuit.data, which had long been made of ad-hoc tuples. With this, and the advent of the Operation interface for adding more complex objects to circuits, we took the opportunity to correct the historical naming. For the time being, this leads to an awkward case where CircuitInstruction.operation is often an Instruction instance (Instruction implements the Operation interface), but as the Operation interface gains more use, this confusion will hopefully abate.

Advertencia

This is a lightweight internal class and there is minimal error checking; you must respect the type hints when using it. It is the user鈥檚 responsibility to ensure that direct mutations of the object do not invalidate the types, nor the restrictions placed on it by its context. Typically this will mean, for example, that qubits must be a sequence of distinct items, with no duplicates.

Attributes

operation: Operation#

The logical operation that this instruction represents an execution of.

qubits: Tuple[Qubit, ...]#

A sequence of the qubits that the operation is applied to.

clbits: Tuple[Clbit, ...]#

A sequence of the classical bits that this operation reads from or writes to.

Methods

copy()[fuente]#

Return a shallow copy of the CircuitInstruction.

Tipo del valor devuelto:

CircuitInstruction

replace(operation=None, qubits=None, clbits=None)[fuente]#

Return a new CircuitInstruction with the given fields replaced.

Tipo del valor devuelto:

CircuitInstruction