qat.model.target_data module
- class AbstractTargetData(**data)
Bases:
NoExtraFieldsFrozenModel
Data related to a general target machine.
- 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.
-
default_shots:
Annotated
[int
]
- classmethod from_yaml(path)
-
max_shots:
Annotated
[int
]
- model_config: ClassVar[ConfigDict] = {'extra': 'forbid', 'frozen': True, '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].
- DefaultTargetData()
Returns a default TargetData instance.
- Return type:
- class DeviceDescription(**data)
Bases:
NoExtraFieldsFrozenModel
Device-related target description.
- Parameters:
sample_time¶ – The rate at which the pulse is sampled (in s).
samples_per_clock_cycle¶ – The number of samples per clock cycle.
instruction_memory_size¶ – The max. allowed number of instructions.
waveform_memory_size¶ – The max. memory that can be used for waveforms, in clock cycles.
pulse_duration_min¶ – The minimal pulse duration for all pulse channels.
pulse_duration_max¶ – The maximal pulse duration for all pulse channels.
pulse_channel_lo_freq_min¶ – The minimal LO frequency for a pulse channel.
pulse_channel_lo_freq_max¶ – The maximal LO frequency for a pulse channel.
pulse_channel_if_freq_min¶ – The minimal intermediate frequency for a pulse channel.
pulse_channel_if_freq_max¶ – The maximal intermediate frequency for a pulse channel.
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 clock_cycle
-
instruction_memory_size:
Annotated
[int
]
- model_config: ClassVar[ConfigDict] = {'extra': 'forbid', 'frozen': True, '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_if_freq_max:
Annotated
[int
]
-
pulse_channel_if_freq_min:
Annotated
[int
]
-
pulse_channel_lo_freq_max:
Annotated
[int
]
-
pulse_channel_lo_freq_min:
Annotated
[int
]
-
pulse_duration_max:
Annotated
[float
]
-
pulse_duration_min:
Annotated
[float
]
- classmethod random(seed=42)
-
sample_time:
Annotated
[float
]
-
samples_per_clock_cycle:
Annotated
[int
]
- validate_durations()
-
waveform_memory_size:
Annotated
[int
]
- class QubitDescription(**data)
Bases:
DeviceDescription
Qubit-related target description.
- Parameters:
passive_reset_time¶ – The amount of time after each shot where the qubit is idle.
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', 'frozen': True, '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].
-
passive_reset_time:
Annotated
[float
]
- classmethod random(seed=42)
- class ResonatorDescription(**data)
Bases:
DeviceDescription
Resonator-related target description.
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', 'frozen': True, '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 TargetData(**data)
Bases:
AbstractTargetData
Data related to a general target machine.
- 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.
-
QUBIT_DATA:
QubitDescription
-
RESONATOR_DATA:
ResonatorDescription
- property clock_cycle
- classmethod default()
- Return type:
- property instruction_memory_size
- model_config: ClassVar[ConfigDict] = {'extra': 'forbid', 'frozen': True, '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].
- classmethod random(seed=42)
- Return type:
- validate_clock_cycles()
- validate_instruction_memory_size()