Instruction

class Instruction(name, num_qubits, num_clbits, params, duration=None, unit='dt')[source]

Generic quantum instruction.

Create a new instruction.

Parameters
  • name (str) – instruction name

  • num_qubits (int) – instruction’s qubit width

  • num_clbits (int) – instruction’s clbit width

  • params (list[int|float|complex|str|ndarray|list|ParameterExpression]) – list of parameters

  • duration (int or float) – instruction’s duration. it must be integer if unit is ‘dt’

  • unit (str) – time unit of duration

Raises

CircuitError – when the register is not in the correct format.

Attributes

Instruction.decompositions

Get the decompositions of the instruction from the SessionEquivalenceLibrary.

Instruction.definition

Return definition in terms of other basic gates.

Instruction.duration

Get the duration.

Instruction.params

return instruction params.

Instruction.unit

Get the time unit of duration.

Methods

Instruction.add_decomposition(decomposition)

Add a decomposition of the instruction to the SessionEquivalenceLibrary.

Instruction.assemble()

Assemble a QasmQobjInstruction

Instruction.broadcast_arguments(qargs, cargs)

Validation of the arguments.

Instruction.c_if(classical, val)

Add classical condition on register classical and value val.

Instruction.copy([name])

Copy of the instruction.

Instruction.inverse()

Invert this instruction.

Instruction.is_parameterized()

Return True .IFF.

Instruction.mirror()

DEPRECATED: use instruction.reverse_ops().

Instruction.qasm()

Return a default OpenQASM string for the instruction.

Instruction.repeat(n)

Creates an instruction with gate repeated n amount of times.

Instruction.reverse_ops()

For a composite instruction, reverse the order of sub-instructions.

Instruction.validate_parameter(parameter)

Instruction parameters has no validation or normalization.