Korean
언어
English
Bengali
French
German
Japanese
Korean
Portuguese
Spanish
Tamil

SwitchCaseOp

class SwitchCaseOp(target, cases, *, label=None)[소스]

기반 클래스: ControlFlowOp

A circuit operation that executes one particular circuit block based on matching a given target against an ordered list of values. The special value CASE_DEFAULT can be used to represent a default condition.

This is the low-level interface for creating a switch-case statement; in general, the circuit method QuantumCircuit.switch_case() should be used as a context manager to access the builder interface. At the low level, you must ensure that all the circuit blocks contain equal numbers of qubits and clbits, and that the order the virtual bits of the containing circuit should be bound is the same for all blocks. This will likely mean that each circuit block is wider than its natural width, as each block must span the union of all the spaces covered by _any_ of the blocks.

매개변수
  • target (Union[Clbit, ClassicalRegister]) – the runtime value to switch on.

  • cases (Iterable[Tuple[Any, QuantumCircuit]]) – an ordered iterable of the corresponding value of the target and the circuit block that should be executed if this is matched. There is no fall-through between blocks, and the order matters.

Create a new instruction.

매개변수
  • 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.

예외 발생
  • 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_decomposition

Add a decomposition of the instruction to the SessionEquivalenceLibrary.

assemble

Assemble a QasmQobjInstruction

broadcast_arguments

Validation of the arguments.

c_if

Set a classical equality condition on this instruction between the register or cbit classical and value val.

cases

Return a lookup table from case labels to the circuit that would be executed in that case.

cases_specifier

Return an iterable where each element is a 2-tuple whose first element is a tuple of jump values, and whose second is the single circuit block that is associated with those values.

copy

Copy of the instruction.

inverse

Invert this instruction.

is_parameterized

Return True .IFF.

qasm

Return a default OpenQASM string for the instruction.

repeat

Creates an instruction with gate repeated n amount of times.

replace_blocks

Replace blocks and return new instruction.

reverse_ops

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

soft_compare

Soft comparison between gates.

validate_parameter

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

return instruction params.

unit

Get the time unit of duration.