azure-quantum-python icon indicating copy to clipboard operation
azure-quantum-python copied to clipboard

Inconsistency with Cirq for pulling back existing job results from different providers

Open xinyi-joffre opened this issue 3 years ago • 0 comments

Consistent behavior for service.run() job

When using service.run(), we see that the resulting output is consistent across providers:

IonQ

image

Honeywell

image

Calling service.run against different providers both return a CirqResult.

Inconsistent behavior for job.results() of existing job

However, when pulling back an existing job, we see inconsistent behavior: image

For IonQ and Honeywell, job.results() returns the Raw Result format from the provider, rather than a consistent microsoft Result format that contains counts/probabilities.

In addition, it does not seem possible to get existing jobs back into the same format as if I were calling service.run(). For IonQ, I can use to_cirq_result to get back the result similar to when I called service.run().

If trying the same thing for honeywell, I get an error that dict object has no attribute to_cirq_result: image

This means that even though honeywell service.run() returned a CirqResult, it is not possible to use similar method to get out a CirqResult from an existing job.

xinyi-joffre avatar Jan 25 '22 20:01 xinyi-joffre