Error mitigation techniques on IonQ Aria - Amazon Braket

Error mitigation techniques on IonQ Aria

Error mitigation involves running multiple physical circuits and combining their measurements to give an improved result. The IonQ Aria device features an error mitigation method called debiasing.

Debiasing maps a circuit into multiple variants that act on different qubit permutations or with different gate decompositions. This reduces the effect of systematic errors such as gate over-rotations or a single faulty qubit by using different implementations of a circuit that could otherwise bias measurement results. This comes at the expense of extra overhead to calibrate multiple qubits and gates.

For more information on debiasing, see Enhancing quantum computer performance through symmetrization.

Note

Using debiasing requires a minimum of 2500 shots.

You can run a quantum task with debiasing on an IoQ Aria device using the following code:

from braket.aws import AwsDevice from braket.circuits import Circuit from braket.error_mitigation import Debias device = AwsDevice("arn:aws:braket:us-east-1::device/qpu/ionq/Aria-1") circuit = Circuit().h(0).cnot(0, 1) task = device.run(circuit, shots=2500, device_parameters={"errorMitigation": Debias()}) result = task.result() print(result.measurement_counts) >>> {"00": 1245, "01": 5, "10": 10 "11": 1240} # result from debiasing

When the quantum task is complete you can see the measurement probabilities and any result types from the quantum task. The measurement probabilities and counts from all variants are aggregated into a single distribution. Any result types specified in the circuit, such as expectation values, are computed using the aggregate measurement counts.

Sharpening

You can also access measurement probabilities computed with a different post-processing strategy called sharpening. Sharpening compares the results of each variant and discards inconsistent shots, favoring the most likely measurement outcome across variants. For more information, see Enhancing quantum computer performance through symmetrization.

Importantly, sharpening assumes the form of the output distribution to be sparse with few high-probability states and many zero-probability states. It may distort the probability distribution if this assumption is not valid.

You can access the probabilities from a sharpened distribution in the additional_metadata field on the GateModelTaskResult in the Braket Python SDK. Note that sharpening does not return the measurement counts, but instead returns a re-normalized probability distribution. The following code snippet shows how to access the distribution after sharpening.

print(result.additional_metadata.ionqMetadata.sharpenedProbabilities) >>> {"00": 0.51, "11": 0.549} # sharpened probabilities