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(*, version: SemanticVersion = Version(major=0, minor=0, patch=1, prerelease=None, build=None), logical_connectivity: FrozenDict[Annotated[int, AfterValidator], FrozenSet[Annotated[int, AfterValidator]]] | None = None, qubits: FrozenDict[Annotated[int, AfterValidator], Qubit], physical_connectivity: FrozenDict[Annotated[int, AfterValidator], FrozenSet[Annotated[int, AfterValidator]]], logical_connectivity_quality: FrozenDict[Annotated[tuple[Annotated[int, AfterValidator], Annotated[int, AfterValidator]], BeforeValidator], Annotated[float, AfterValidator]], error_mitigation: ErrorMitigation = ErrorMitigation(readout_mitigation=None))

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)
device_for_pulse_channel_id(id_)
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_channel_for_pulse_channel_id(id_)
physical_channel_with_id(id_)
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