qat.model.hardware_model module
- class LogicalHardwareModel(**data)
Bases:
NoExtraFieldsModel
Models a hardware with a given connectivity.
- Parameters:
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.
- 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