quri_parts.qsub.sub module

class Sub(qubits: 'Sequence[Qubit]', registers: 'Sequence[Register]', aux_qubits: 'Sequence[Qubit]', aux_registers: 'Sequence[Register]', operations: 'Sequence[tuple[Op, Sequence[Qubit], Sequence[Register]]]', phase: 'float' = 0, qregs: 'dict[str, QuantumRegister] | None' = None, aux_qregs: 'dict[str, QuantumRegister] | None' = None)

Bases: object

Parameters:
qubits: Sequence[Qubit]
registers: Sequence[Register]
aux_qubits: Sequence[Qubit]
aux_registers: Sequence[Register]
operations: Sequence[tuple[Op, Sequence[Qubit], Sequence[Register]]]
phase: float = 0
qregs: dict[str, QuantumRegister] | None = None
aux_qregs: dict[str, QuantumRegister] | None = None
property qreg_specs: Sequence[QRegSpec]
class SubBuilder(arg_qubits_count, arg_reg_count=0, arg_qregs=None)

Bases: object

Parameters:
  • arg_qubits_count (int)

  • arg_reg_count (int)

  • arg_qregs (Sequence[QRegSpec] | None)

static from_qregs(arg_qregs, arg_reg_count=0)
Parameters:
  • arg_qregs (Sequence[QRegSpec])

  • arg_reg_count (int)

Return type:

SubBuilder

add_op(op, qubits, regs=())
Parameters:
Return type:

None

property qubits: Sequence[Qubit]
property aux_qubits: Sequence[Qubit]
property registers: Sequence[Register]
property aux_registers: Sequence[Register]
property qregs: dict[str, QuantumRegister]
property aux_qregs: dict[str, QuantumRegister]
get_qregs(names)
Parameters:

names (Sequence[str])

Return type:

Sequence[QuantumRegister]

add_aux_qubit()
Return type:

Qubit

add_aux_qubits(count)
Parameters:

count (int)

Return type:

Sequence[Qubit]

add_aux_qreg(name, qubit_count)
Parameters:
  • name (str)

  • qubit_count (int)

Return type:

QuantumRegister

add_aux_register()
Return type:

Register

add_aux_registers(count)
Parameters:

count (int)

Return type:

Sequence[Register]

add_phase(phase)
Parameters:

phase (float)

Return type:

float

connect(op, **reg_map)
Parameters:
Return type:

None

build()
Return type:

Sub

class SubDef

Bases: object

qubit_count: int
reg_count: int = 0
qregs: Sequence[QRegSpec] | None = None
sub(builder)
Parameters:

builder (SubBuilder)

Return type:

None

sub(sub_def)
Parameters:

sub_def (type[SubDef])

Return type:

Sub

class ParamSubDef

Bases: ParametricMixin[Params]

sub(builder, *params, **_)
Parameters:
  • builder (SubBuilder)

  • params (Params.args)

  • _ (Params.kwargs)

Return type:

None

param_sub(sub_def)
Parameters:

sub_def (type[ParamSubDef[Params]])

Return type:

SubFactory[Params]