qat.experimental.dialect.pulse.ir.types module
- class AcquisitionType(*parameters)
Bases:
AcquisitionTypeRepresents an acquisition type.
Abstractly this represents the acquisition signal result for a given duration from an acquire operation, which we can do further processing on, such as integration to map it to an IQ value, or addition with other acquisition signals to achieve shot-averaged time-series data.
- classmethod get_irdl_definition()
Get the IRDL attribute definition.
- name: ClassVar[str] = 'pulse.acquisition'
The attribute name should be a static field in the attribute classes.
- class AmplitudeType(*parameters)
Bases:
AmplitudeTypeA type representing an amplitude value, used for expressing the amplitude of pulse channels.
The value is expected to be a floating-point number representing the amplitude in arbitrary units.
- classmethod get_irdl_definition()
Get the IRDL attribute definition.
- name: ClassVar[str] = 'pulse.amplitude'
The attribute name should be a static field in the attribute classes.
- class FrameType(port)
Bases:
FrameTypeRepresents a reference frame for a quantum system, encoding a frequency, and tracks phase and time evolution relative to that frequency.
Used with the intent of manipulating a quantum component.
- Variables:
port – A target-resolved token used to identify the port for this frame, without encoding hardware object details directly in the IR. This name can take any string, but is expected to match a meaningful port in the context of the system data.
- classmethod get_irdl_definition()
Get the IRDL attribute definition.
- name: ClassVar[str] = 'pulse.frame'
The attribute name should be a static field in the attribute classes.
-
port:
StringAttr= <xdsl.irdl.attributes._ParameterDef object>
- class FrequencyType(*parameters)
Bases:
FrequencyTypeA type representing a frequency value, used for expressing frequencies of pulse channels.
The value is expected to be a floating-point number representing the frequency in Hz.
- classmethod get_irdl_definition()
Get the IRDL attribute definition.
- name: ClassVar[str] = 'pulse.frequency'
The attribute name should be a static field in the attribute classes.
- class IQResultType(*parameters)
Bases:
IQResultTypeRepresents an IQ result type.
This type exists instead of using the builtin complex type to allow for a more explicit representation of IQ values acquired from a quantum system, and to avoid hardware- specific typing details leaking into the IR. In practice, this can be treated as a complex number.
- classmethod get_irdl_definition()
Get the IRDL attribute definition.
- name: ClassVar[str] = 'pulse.iq_result'
The attribute name should be a static field in the attribute classes.
- class PhaseType(*parameters)
Bases:
PhaseTypeA type representing a phase value, typically used for phase manipulations.
The value is expected to be a floating-point number representing the angle in radians.
- classmethod get_irdl_definition()
Get the IRDL attribute definition.
- name: ClassVar[str] = 'pulse.phase'
The attribute name should be a static field in the attribute classes.
- class StateKeyType(min_state, max_state)
Bases:
StateKeyTypeRepresents a discriminated state key type with integer labels between inclusive bounds.
This type is the result of state discrimination, which maps IQ values from qubit readout to integer state identifiers. The bounds encode the valid range of state labels that can be produced by a discrimination policy. For example:
A real-threshold discriminator produces states {0, 1}
A maximum-likelihood discriminator produces states {-1, 0, …, n-1}, where -1 represents an unmapped/ambiguous state
The parametrized bounds enable compile-time verification that downstream operations (like state mapping) cover all possible state outcomes.
- Variables:
min_state – The smallest allowed integer state label (inclusive).
max_state – The largest allowed integer state label (inclusive).
- classmethod get_irdl_definition()
Get the IRDL attribute definition.
-
max_state:
IntAttr= <xdsl.irdl.attributes._ParameterDef object>
-
min_state:
IntAttr= <xdsl.irdl.attributes._ParameterDef object>
- name: ClassVar[str] = 'pulse.state'
The attribute name should be a static field in the attribute classes.
- classmethod parse_parameters(parser)
Parse the attribute parameters.
- Return type:
list[IntAttr]
- print_parameters(printer)
Print the attribute parameters.
- Return type:
None
- property state_range: tuple[int, int]
Returns the valid range of state labels as a (min, max) tuple.
All integers in this range (inclusive) are valid state identifiers produced by the associated discrimination policy. Used for verification that state mapping operations cover all possible outcomes.
- verify()
Check that the attribute parameters satisfy the expected invariants. Raise a VerifyException otherwise.
- Return type:
None
- class TimeType(*parameters)
Bases:
TimeTypeRepresents a time value, used for expressing durations of operations on frames.
- classmethod get_irdl_definition()
Get the IRDL attribute definition.
- name: ClassVar[str] = 'pulse.time'
The attribute name should be a static field in the attribute classes.
- class WaveformType(*parameters)
Bases:
WaveformTypeRepresents a waveform type.
- classmethod get_irdl_definition()
Get the IRDL attribute definition.
- name: ClassVar[str] = 'pulse.waveform'
The attribute name should be a static field in the attribute classes.