qat.model.device module
- class AcquirePulseChannel(**data)
Bases:
PulseChannel
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.
- acquire: CalibratableAcquire
- 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].
- class CalibratableAcquire(**data)
Bases:
NoExtraFieldsModel
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.
- delay: CalibratablePositiveFloat
- 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].
- sync: bool
- use_weights: bool
- weights: list[float, complex]
- width: CalibratablePositiveFloat
- class CalibratablePulse(**data)
Bases:
NoExtraFieldsModel
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.
- amp: float
- amp_setup: float
- drag: float
- 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].
- phase: float
- rise: float
- waveform_type: WaveformType
- width: CalibratablePositiveFloat
- class Component(**data)
Bases:
NoExtraFieldsModel
Base class for any logical object which can act as a target of a quantum action - a Qubit or various channels for a simple example.
- Parameters:
uuid¶ – The unique string representation of the component.
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.
- property is_calibrated
- 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].
- uuid: str
- class CrossResonanceCancellationPulseChannel(**data)
Bases:
PulseChannel
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.
- auxiliary_qubit: 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].
- class CrossResonancePulseChannel(**data)
Bases:
PulseChannel
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.
- auxiliary_qubit: 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].
- zx_pi_4_pulse: CalibratablePulse
- class DrivePulseChannel(**data)
Bases:
PulseChannel
The pulse channel that drives the qubit from |0> -> |1>.
- Parameters:
pulse¶ – Calibratable parameters for the X(pi/2) drive pulse.
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.
- 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].
- pulse: CalibratablePulse
- class FreqShiftPulseChannel(**data)
Bases:
PulseChannel
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.
- 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].
- class MeasureAcquirePulseChannel(**data)
Bases:
MeasurePulseChannel
,AcquirePulseChannel
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.
- 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].
- class MeasurePulseChannel(**data)
Bases:
PulseChannel
The pulse channel that measures the quantum state of the resonator.
- Parameters:
pulse¶ – Calibratable parameters for the measure pulse.
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.
- 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].
- pulse: CalibratablePulse
- class PhysicalBaseband(**data)
Bases:
Component
Models the Local Oscillator (LO) used with a mixer to change the frequency of a carrier signal.
- 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.
- frequency: CalibratablePositiveFloat
- if_frequency: CalibratablePositiveFloat
- 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].
- class PhysicalChannel(**data)
Bases:
Component
Models a physical channel that can carry one or multiple pulses.
- Attributes:
baseband: The physical baseband.
sample_time: The rate at which the pulse is sampled. block_size: The number of samples within a single block. bias: The bias in voltages V_I / V_Q for the I and Q components.
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.
- baseband: PhysicalBaseband
- bias: float | complex
- block_size: Optional[int]
- 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].
- sample_time: CalibratablePositiveFloat
- class PulseChannel(**data)
Bases:
Component
Models a pulse channel on a particular device.
- Parameters:
physical_channel¶ – Physical channel that carries the pulse.
frequency¶ – Frequency of the pulse.
imbalance¶ – Ratio between I and Q AC voltage that is sent out of the FPGA.
phase_iq_offset¶ – Phase offset between the I and Q plane for AC voltage that is send out the FPGA.
scale¶ – Scale factor for mapping the voltage of the pulse to frequencies.
fixed_if¶ – Flag which determines if the intermediate frequency is fixed.
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.
- fixed_if: bool
- frequency: CalibratablePositiveFloat
- imbalance: float | complex
- 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].
- phase_iq_offset: float | complex
- property pulse_type
- scale: float | complex
- class PulseChannelSet(**data)
Bases:
NoExtraFieldsModel
Encapsulates a set of pulse channels.
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.
- property is_calibrated
- 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].
- pulse_channel_with_id(id_)
- class Qubit(**data)
Bases:
Component
Models a superconducting qubit on a chip, and holds all information relating to it.
- 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.
- property acquire_pulse_channel
- property all_pulse_channels
- property cross_resonance_cancellation_pulse_channels
- property cross_resonance_pulse_channels
- discriminator: float
- property drive_pulse_channel
- property freq_shift_pulse_channel
- mean_z_map_args: list[float]
- property measure_pulse_channel
- 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].
- physical_channel: PhysicalChannel
- pulse_channels: QubitPulseChannels
- resonator: Resonator
- property second_state_pulse_channel
- class QubitPulseChannels(**data)
Bases:
PulseChannelSet
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.
- property all_pulse_channels
- cross_resonance_cancellation_channels: FrozenDict[QubitId, CrossResonanceCancellationPulseChannel]
- cross_resonance_channels: FrozenDict[QubitId, CrossResonancePulseChannel]
- drive: DrivePulseChannel
- freq_shift: FreqShiftPulseChannel
- 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].
- pulse_channel_with_id(id_)
- second_state: SecondStatePulseChannel
- classmethod validate_channels_qubit_mapping(channels)
- validate_cross_resonance_pulse_channels()
- class Resonator(**data)
Bases:
Component
Models a resonator on a chip. Can be connected to multiple qubits.
- Parameters:
physical_channel¶ – The physical channel that carries the pulses to the physical resonator.
pulse_channels¶ – The pulse channels for controlling the resonator.
measure_pulse¶ – Calibrated parameters for the measure pulse on the resonator.
acquire¶ – Calibrated parameters for the acquire instruction.
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.
- property acquire_pulse_channel
- property all_pulse_channels
- property measure_pulse_channel
- 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].
- physical_channel: PhysicalChannel
- pulse_channels: ResonatorPulseChannels
- class ResonatorPulseChannels(**data)
Bases:
PulseChannelSet
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.
- acquire: AcquirePulseChannel
- property all_pulse_channels
- measure: MeasurePulseChannel
- 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].
- class SecondStatePulseChannel(**data)
Bases:
PulseChannel
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.
- 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].