quri_parts.qsub.visualize module

class CircuitData(qubit_count: 'int', register_count: 'int', layer_count: 'int', gates: 'GateDataSeq', conditional_blocks: 'List[ConditionalBlock]' = <factory>)

Bases: object

Parameters:
  • qubit_count (int)

  • register_count (int)

  • layer_count (int)

  • gates (Sequence[Sequence[GateData]])

  • conditional_blocks (List[ConditionalBlock])

qubit_count: int
register_count: int
layer_count: int
gates: Sequence[Sequence[GateData]]
conditional_blocks: List[ConditionalBlock]
property bit_count: int
static from_gate_sequence(gates, *, qubit_count=None, register_count=0, conditional_blocks=None)
Parameters:
  • gates (Sequence[GateData])

  • qubit_count (int | None)

  • register_count (int)

  • conditional_blocks (Sequence[ConditionalBlock] | None)

Return type:

CircuitData

class ConditionalBlock(start_layer: 'int', end_layer: 'int', bits: 'List[int]', label: 'str', cbz_layer: 'Optional[int]' = None, cbz_bit: 'Optional[int]' = None)

Bases: object

Parameters:
  • start_layer (int)

  • end_layer (int)

  • bits (List[int])

  • label (str)

  • cbz_layer (int | None)

  • cbz_bit (int | None)

start_layer: int
end_layer: int
bits: List[int]
label: str
cbz_layer: int | None = None
cbz_bit: int | None = None
class ControlBitInfo(index: 'int', control_value: 'int')

Bases: object

Parameters:
  • index (int)

  • control_value (int)

index: int
control_value: int
class GateData(name: 'str', target_bits: 'List[int]' = <factory>, control_bit_infos: 'List[ControlBitInfo]' = <factory>, classical_bits: 'List[int]' = <factory>, kind: 'GateType' = <GateType.GENERIC: 'generic'>)

Bases: object

Parameters:
  • name (str)

  • target_bits (List[int])

  • control_bit_infos (List[ControlBitInfo])

  • classical_bits (List[int])

  • kind (GateType)

name: str
target_bits: List[int]
control_bit_infos: List[ControlBitInfo]
classical_bits: List[int]
kind: GateType = 'generic'
property all_target_bits: Tuple[int, ...]
property indices: Tuple[int, ...]
property max_index: int
property min_index: int
class GateType(value)

Bases: Enum

An enumeration.

GENERIC = 'generic'
MEASURE = 'measure'
CLASSICAL = 'classical'
class MPLCircuitlDrawer(circuit, *, dpi=72, scale=0.6)

Bases: object

Parameters:
draw(*, debug=False, filename=None)
Parameters:
  • debug (bool)

  • filename (str | None)

Return type:

Figure

draw(sub, *, dpi=72, scale=0.6, debug=False, filename=None)

Draw a diagram for a given Sub or MachineSub.

Parameters:
  • sub (Op | Sub | MachineSub)

  • dpi (int)

  • scale (float)

  • debug (bool)

  • filename (Optional[str])

Return type:

matplotlib.figure.Figure

draw_msub(msub, *, dpi=72, scale=0.6, debug=False, filename=None)

Draw a diagram for a given MachineSub.

Parameters:
  • msub (MachineSub)

  • dpi (int)

  • scale (float)

  • debug (bool)

  • filename (Optional[str])

Return type:

matplotlib.figure.Figure

draw_sub(sub, *, dpi=72, scale=0.6, debug=False, filename=None, repository=<quri_parts.qsub.resolve.resolve.SimpleSubRepository object>)

Draw a diagram for a given Sub.

Parameters:
  • sub (Op | Sub)

  • dpi (int)

  • scale (float)

  • debug (bool)

  • filename (Optional[str])

  • repository (SubRepository)

Return type:

matplotlib.figure.Figure

machine_sub_to_vis_data(msub)

Convert a MachineSub to data used by the visualization layer.

Parameters:

msub (MachineSub)

Return type:

CircuitData

op_to_vis_data(op, qubits, regs, register_indices=None)

Convert an Op to data used by the visualization layer.

Parameters:
  • op (Op)

  • qubits (Sequence[Qubit])

  • regs (Sequence[Register])

  • register_indices (Mapping[int, int] | None)

Return type:

GateData

sub_to_vis_data(sub)

Convert a Sub to data used by the visualization layer.

Parameters:

sub (Sub)

Return type:

CircuitData