qat.experimental.system_data.materialisers.operations.operation_builder module

Abstract operation-builder contract for canonical per-qubit operation sets.

class AbstractOperationBuilder(qubit_id, coupled_qubit_ids=(), control_qubit_ids=(), has_x_pi=True)

Bases: ABC

Contract for constructing qubit-owned canonical operation sets.

Subclasses implement the operation-construction methods and inherit the template build_single_qubit_operations and build assembly logic.

Parameters:
  • qubit_id (str) – Identifier of the qubit that will own these operations.

  • coupled_qubit_ids (tuple[str, ...]) – Identifiers of qubits this qubit drives.

  • control_qubit_ids (tuple[str, ...]) – Identifiers of qubits that drive this qubit.

  • has_x_pi (bool) – Whether a calibrated X(π) pulse is available.

build(extra_operations=())

Return the full operation set including topology-derived multi-qubit gates.

Return type:

tuple[OperationData, ...]

build_single_qubit_operations(extra_operations=())

Return the single-qubit operation set for this builder’s qubit.

Return type:

tuple[OperationData, ...]

abstract make_delay_operation()
Return type:

OperationData

abstract make_had_operation()
Return type:

OperationData

abstract make_id_gate()
Return type:

OperationData

abstract make_initiate_operation()
Return type:

OperationData

abstract make_measure_operation()
Return type:

OperationData

make_private_single_qubit_operations()

Return implementation-specific private/support single-qubit operations.

The default implementation returns no private operations.

Return type:

tuple[OperationData, ...]

abstract make_reset_operation()
Return type:

OperationData

abstract make_rx_gate()
Return type:

OperationData

abstract make_ry_gate()
Return type:

OperationData

abstract make_rz_gate()
Return type:

OperationData

abstract make_s_operation()
Return type:

OperationData

abstract make_sdg_operation()
Return type:

OperationData

abstract make_sx_operation()
Return type:

OperationData

abstract make_sxdg_operation()
Return type:

OperationData

abstract make_t_operation()
Return type:

OperationData

abstract make_tdg_operation()
Return type:

OperationData

abstract make_two_qubit_operations()
Return type:

tuple[OperationData, ...]

abstract make_u1_gate()
Return type:

OperationData

abstract make_u2_gate()
Return type:

OperationData

abstract make_u_gate()
Return type:

OperationData

abstract make_x_gate()
Return type:

OperationData

abstract make_y_gate()
Return type:

OperationData

abstract make_z_operation()
Return type:

OperationData