When you run something on one of IBM's free computers, you can look up what it actually ran; i.e. it gives you the decomposition of the circuit you told it to run.

When running on IonQ with Amazon's braket I can't find that. I can call up the task data like this:

task_data = AwsQuantumTask(arn='generic_task_ID_string')

Apparently if I ran it on a Rigetti device I could do something like:

task_data = AwsQuantumTask(arn='generic_task_ID_string')

but I see no such ionQMetadata thing for IonQ. Does anyone know if such a thing can be obtained? I've worked out viable native-gate decompositions for what might have actually run for my circuit but I need to make sure I've got what actually ran.


2 Answers 2


According to the Braket documentation:

Verbatim compilation is currently supported on Rigetti and Oxford Quantum Circuits (OQC) devices and requires the use of native gates.

In other words, Braket does not allow machine-level control over an IonQ device nor are you allowed to see what commands it actually ran.

Source: Page 43 from https://docs.aws.amazon.com/braket/latest/developerguide/braket-developer-guide.pdf


Update: The IonQ gate decomposition is not available, but Amazon Braket now supports native programming on the IonQ device (see cell 23). The new version of the SDK, 1.30.0, adds three native gates.

You can programmatically see the supported gates through the device's properties:

>>> from braket.aws import AwsDevice
>>> ionq = AwsDevice("arn:aws:braket:::device/qpu/ionq/ionQdevice")
>>> ionq.properties.paradigm.nativeGateSet
['GPI', 'GPI2', 'MS']

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.