English
Languages
English
Bengali
French
German
Japanese
Korean
Portuguese
Spanish
Tamil

InstructionSet

class InstructionSet(circuit_cregs=None, *, resource_requester=None)[source]

Bases: object

Instruction collection, and their contexts.

New collection of instructions.

The context (qargs and cargs that each instruction is attached to) is also stored separately for each instruction.

Parameters
  • circuit_cregs (list[ClassicalRegister]) –

    Optional. List of cregs of the circuit to which the instruction is added. Default: None.

    Deprecated since version qiskit-terra: 0.19 The classical registers are insufficient to access all classical resources in a circuit, as there may be loose classical bits as well. It can also cause integer indices to be resolved incorrectly if any registers overlap. Instead, pass a complete requester to the resource_requester argument.

  • resource_requester (Optional[Callable]) –

    A callable that takes in the classical resource used in the condition, verifies that it is present in the attached circuit, resolves any indices into concrete Clbit instances, and returns the concrete resource. If this is not given, specifying a condition with an index is forbidden, and all concrete Clbit and ClassicalRegister resources will be assumed to be valid.

    Note

    The callback resource_requester is called once for each call to c_if(), and assumes that a call implies that the resource will now be used. It may throw an error if the resource is not valid for usage.

Raises

CircuitError – if both resource_requester and circuit_cregs are passed. Only one of these may be passed, and it should be resource_requester.

Methods

add

Add an instruction and its context (where it is attached).

c_if

Set a classical equality condition on all the instructions in this set between the ClassicalRegister or Clbit classical and value val.

inverse

Invert all instructions.

Attributes

cargs

Legacy getter for the cargs components of an instruction set. This does not support mutation.

instructions

Legacy getter for the instruction components of an instruction set. This does not support mutation.

qargs

Legacy getter for the qargs components of an instruction set. This does not support mutation.