braket.device_schema.openqasm_device_action_properties module¶
-
class
braket.device_schema.openqasm_device_action_properties.
OpenQASMDeviceActionProperties
[source]¶ Bases:
braket.device_schema.device_action_properties.DeviceActionProperties
Defines the schema for properties for the actions that can be supported by OpenQASM devices.
-
supportedOperations
¶ Operations supported by the OpenQASM action.
-
supportedResultTypes
¶ Result types that are supported by the OpenQASM action.
-
supportPhysicalQubits
¶ Whether the device supports the ability to run circuits with the exact qubits chosen, without any rewiring downstream.
-
supportedPragmas
¶ List of pragmas supported (not ignored) in the OpenQASM action.
-
forbiddenPragmas
¶ List of pragmas that will raise an error when sent to the device.
-
forbiddenArrayOperations
¶ Forbidden operations on arrays.
-
requiresAllQubitsMeasurement
¶ Whether measurements have to be made on all qubits in the OpenQASM action.
-
requiresContiguousQubitIndices
¶ Whether used qubit indices of qubit arrays are required to be contiguous.
Examples
>>> import json >>> input_json = { ... "actionType": "braket.ir.openqasm.program", ... "version": ["1"], ... "supportedOperations": ["x", "y"], ... "supportedResultTypes": [{ ... "name": "resultType1", ... "observables": ["observable1"], ... "minShots": 0, ... "maxShots": 4, ... }], ... "supportPhysicalQubits": True ... "supportedPragmas": ["braket_bit_flip_noise"], ... "forbiddenPragmas": ["braket_kraus_operator"], ... "forbiddenArrayOperations": ["concatenation", "range", "slicing"], ... "requiresAllQubitsMeasurement": False ... "requiresContiguousQubitIndices": False ... "supportsPartialVerbatimBox": False ... "supportsUnassignedMeasurements": True ... } >>> OpenQASMDeviceActionProperties.parse_raw(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.
-