braket.device_schema.pulse.pulse_device_action_properties_v1 module

class braket.device_schema.pulse.pulse_device_action_properties_v1.PulseDeviceActionProperties(*, braketSchemaHeader: BraketSchemaHeader = BraketSchemaHeader(name='braket.device_schema.pulse.pulse_device_action_properties', version='1'), supportedQhpTemplateWaveforms: Dict[str, PulseFunction], ports: Dict[str, Port], supportedFunctions: Dict[str, PulseFunction], frames: Dict[str, Frame] | None = None, supportsLocalPulseElements: bool | None = True, supportsDynamicFrames: bool | None = True, supportsNonNativeGatesWithPulses: bool | None = False, validationParameters: Dict[str, float] | None = None, nativeGateCalibrationsRef: AnyUrl | None = None)[source]

Bases: BraketSchemaBase

Describes the hardware device details and device limitations for pulse control on a given

quantum device

supportedQhpTemplateWaveforms

Pre-defined routine waveform functions available on the hardware

Type:

Dict[str, braket.device_schema.pulse.pulse_function_v1.PulseFunction]

ports

Pre-defined hardware ports available on the hardware

Type:

Dict[str, braket.device_schema.pulse.port_v1.Port]

supportedFunctions

A dictionary of OpenPulse functions supported in openqasm for the hardware

Type:

Dict[str, braket.device_schema.pulse.pulse_function_v1.PulseFunction]

frames

Pre-defined pulse frames available on the hardware

Type:

Dict[str, braket.device_schema.pulse.frame_v1.Frame] | None

supportsLocalPulseElements

Details whether pulse elements may be defined within OpenQasm defcal blocks

Type:

bool | None

supportsDynamicFrames

Details whether a device may create frames at runtime from ports or if it

must use the frames defined in frames

Type:

bool | None

nativeGateCalibrationsRef

An URL to download native gate calibrations

Type:

AnyUrl

Examples

>>> import json
>>> input_json = {
...         "braketSchemaHeader": {
...             "name": "braket.device_schema.pulse.pulse_device_action_properties",
...             "version": "1",
...         },
...         "supportedQhpTemplateWaveforms": {
...             "flat": {
...                 "templateName": "flat",
...                 "args": [
...                     ["duration", "float"],
...                     ["iq", "float"]
...                 ]
...             }
...         },
...         "supportedQhpTemplateWaveforms": {
...             "flat": {
...                 "functionName": "flat",
...                 "arguments": [
...                     {"name": "duration", "type": "float"},
...                     {"name": "iq", "type": "float"},
...                     {"name": "scale", "type": "float", "optional": True},
...                     {"name": "phase", "type": "float", "optional": True},
...                     {"name": "detuning", "type": "float", "optional": True},
...                 ]
...             }
...         },
...         "ports": {
...             "q0_rf": {
...                 "portId": "q0_rf",
...                 "direction": "tx",
...                 "portType": "rf",
...                 "dt": 1e-9,
...             },
...             "q1_rf": {
...                 "portId": "q1_rf",
...                 "direction": "tx",
...                 "portType": "rf",
...                 "dt": 1e-9,
...             },
...             "q120_ff": {
...                 "portId": "q120_ff",
...                 "direction": "tx",
...                 "portType": "ff",
...                 "dt": 1e-9,
...             },
...         },
...         "frames": {
...             "q0_rf_frame": {
...                 "frameId": "q0_rf_frame",
...                 "portId": "q0_rf",
...                 "frequency": 4525620740.86441,
...                 "phase": 0.0,
...
...                 "qubitMappings": [0],
...             },
...             "q120_q27_frame": {
...                 "frameId": "q0_rf_frame",
...                 "portId": "q0_rf",
...                 "frequency": 4525620740.86441,
...                 "phase": 0.0,
...                 "associatedGate": "xy",
...                 "qubitMappings": [120, 127],
...             }
...         },
...         "supportedFunctions": [
...             "newframe",
...             "shift_phase",
...             "set_phase",
...             "shift_frequency",
...             "set_frequency",
...             "play",
...             "capture"
...         ],
...         "supportedFunctions": {
...             "newframe": {
...                 "functionName": "newframe",
...                 "arguments": [
...                     {"name": "frame", "type": "frame"},
...                     {"name": "frequency", "type": "float"},
...                     {"name": "phase", "type": "float", "optional": True},
...                 ]
...              },
...         },
...         "supportsNonNativeGatesWithPulses": False,
...         "validationParameters": {
...             "MAX_SCALE": 1.0,
...             "MAX_AMPLITUDE": 1.0,
...             "PERMITTED_FREQUENCY_DIFFERENCE": 1.0,
...         },
...         "nativeGateCalibrationsRef": {AnyUrl},
...     }
>>> PulseDeviceActionProperties.parse_raw_schema(json.dumps(input_json))

Create a new model by parsing and validating input data from keyword arguments.

Raises ValidationError if the input data cannot be parsed to form a valid model.

braketSchemaHeader: BraketSchemaHeader
supportedQhpTemplateWaveforms: Dict[str, PulseFunction]
ports: Dict[str, Port]
supportedFunctions: Dict[str, PulseFunction]
frames: Dict[str, Frame] | None
supportsLocalPulseElements: bool | None
supportsDynamicFrames: bool | None
supportsNonNativeGatesWithPulses: bool | None
validationParameters: Dict[str, float] | None
nativeGateCalibrationsRef: AnyUrl | None