ForLoopOp¶
- class ForLoopOp(indexset, loop_parameter, body, label=None)[source]¶
Bases:
ControlFlowOp
A circuit operation which repeatedly executes a subcircuit (
body
) parameterized by a parameterloop_parameter
through the set of integer values provided inindexset
.- Parameters
indexset (Iterable[int]) -- A collection of integers to loop over.
loop_parameter (Optional[Parameter]) -- The placeholder parameterizing
body
to which the values fromindexset
will be assigned.body (QuantumCircuit) -- The loop body to be repeatedly executed.
label (Optional[str]) -- An optional label for identifying the instruction.
Circuit symbol:
┌───────────┐ q_0: ┤0 ├ │ │ q_1: ┤1 ├ │ for_loop │ q_2: ┤2 ├ │ │ c_0: ╡0 ╞ └───────────┘
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
label (str or None) -- An optional label for identifying the instruction.
- Raises
CircuitError -- when the register is not in the correct format.
TypeError -- when the optional label is provided, but it is not a string.
Methods
Add a decomposition of the instruction to the SessionEquivalenceLibrary.
Assemble a QasmQobjInstruction
Validation of the arguments.
Set a classical equality condition on this instruction between the register or cbit
classical
and valueval
.Copy of the instruction.
Invert this instruction.
Return True .IFF.
Return a default OpenQASM string for the instruction.
Creates an instruction with gate repeated n amount of times.
Replace blocks and return new instruction.
For a composite instruction, reverse the order of sub-instructions.
Soft comparison between gates.
Instruction parameters has no validation or normalization.
Attributes
- blocks¶
- condition_bits¶
Get Clbits in condition.
- decompositions¶
Get the decompositions of the instruction from the SessionEquivalenceLibrary.
- definition¶
Return definition in terms of other basic gates.
- duration¶
Get the duration.
- label¶
Return instruction label
- name¶
Return the name.
- num_clbits¶
Return the number of clbits.
- num_qubits¶
Return the number of qubits.
- params¶
- unit¶
Get the time unit of duration.