qat.model.hardware_model module

class LogicalHardwareModel(**data)

Bases: NoExtraFieldsModel

Models a hardware with a given connectivity.

Parameters:
  • version – Semantic version of the hardware model.

  • logical_connectivity – Connectivity of the qubits in the hardware model (directed graph).

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

logical_connectivity: FrozenDict[QubitId, FrozenSet[QubitId]]
model_config: ClassVar[ConfigDict] = {'extra': 'forbid', 'ser_json_inf_nan': 'constants', 'use_enum_values': False, 'validate_assignment': True}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

version: SemanticVersion
version_compatibility()
class PhysicalHardwareModel(**data)

Bases: LogicalHardwareModel

Class for calibrating our QPU hardware.

Parameters:
  • qubits – The superconducting qubits on the chip.

  • physical_connectivity – The connectivities of the physical qubits on the QPU (undirected graph).

  • logical_connectivity – The connectivities (directed graph) of the qubits used for compilation, which can be a subgraph of physical_connectivity.

  • logical_connectivity_quality – Quality of the connections between the qubits.

  • error_mitigation – Error mitigation strategy for this hardware model.

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

classmethod default_logical_connectivity(data)
error_mitigation: ErrorMitigation
property is_calibrated: bool
logical_connectivity: Optional[FrozenDict[QubitId, FrozenSet[QubitId]]]
logical_connectivity_quality: FrozenDict[QubitCoupling, CalibratableUnitInterval]
model_config: ClassVar[ConfigDict] = {'extra': 'forbid', 'ser_json_inf_nan': 'constants', 'use_enum_values': False, 'validate_assignment': True}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

property number_of_qubits: int
physical_connectivity: FrozenDict[QubitId, FrozenSet[QubitId]]
pulse_channel_with_id(id_)
property quantum_devices: list[Qubit, Resonator]

Returns all quantum (an)harmonic oscillator devices in this hardware model as a list.

qubit_with_index(index)
Return type:

Qubit

qubits: FrozenDict[QubitId, Qubit]
validate_connectivity()
validate_connectivity_quality()
validate_error_mitigation()
classmethod validate_physical_connectivity_symmetry(physical_connectivity)
PydLogicalHardwareModel

alias of LogicalHardwareModel

PydPhysicalHardwareModel

alias of PhysicalHardwareModel