qiskit-community / qiskit-braket-provider

Qiskit-Braket provider to execute Qiskit programs on quantum computing hardware devices through Amazon Braket.
https://qiskit-community.github.io/qiskit-braket-provider/
Apache License 2.0
57 stars 45 forks source link

Support noise models #89

Open speller26 opened 1 year ago

speller26 commented 1 year ago

Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.

In Amazon Braket, you can add a Braket noise models to the local or on-demand density-matrix simulators. Analogously, in Qiskit, it is possible to add a Qiskit noise model to a simulator device so that the noise model is applied to any circuit run on the device.

We request a feature that, with qiskit-braket-provider, users can build circuits and a noise model with Qiskit and perform noise simulation with Braket backends.

What is the expected behavior?

The Braket backend from qiskit-braket-provider should be able to take Qiskit circuits and Qiskit noise models to run noise simulation. Possible implementation include, but not limited to, translating Qiskit noise model to Braket noise model, or adding noise operation directly to the Braket circuit when sending to Braket backends.

Acceptance criteria

dm1 = provider.get_backend("DM1", noise_model=noise_bit_flip)

# Run noisy circuit
circuit = ...  # noiseless circuit
task = dm1.run(circuit, shots=100)  # circuit run with noise model
rum1887 commented 1 year ago

Do other AWS backends support noise model input from Qiskit?

ruijterj commented 1 year ago

Hi , can I work on this issue ?

christianbmadsen commented 1 year ago

Do other AWS backends support noise model input from Qiskit?

No. Today, Braket backends do not support Qiksit noise models. The Braket noise simulators/backends are braket_dm and DM1.

@rum1887 did you already start work on this issue? If not we will assign to @ruijterj.

rum1887 commented 1 year ago

Do other AWS backends support noise model input from Qiskit?

No. Today, Braket backends do not support Qiksit noise models. The Braket noise simulators/backends are braket_dm and DM1.

@rum1887 did you already start work on this issue? If not we will assign to @ruijterj.

I have not started working yet, I was working out the details of this issue. Can you assign both of us?

s-aldaihan commented 1 year ago

Hello, I am interested in working on this issue, is it still open?

JordanAWS commented 1 year ago

@rum1887 , @ruijterj , @s-aldaihan

I've assigned the issue to all of you. Whoever submits a working PR first (including tests) will win the bounty :)

JordanAWS commented 1 year ago

Alternatively, you are also welcome to all work together and split the bounty! Just let me know what you prefer.

s-aldaihan commented 1 year ago

Thanks@JordanAWS. @rum1887 @ruijterj I am happy to work together if you are interested!

JordanAWS commented 1 year ago

Hope things are going well for the team! Does anyone in need support?

Newtech66 commented 1 year ago

Some questions:

JordanAWS commented 1 year ago

I know we were late in providing feedback on this issue, so although you would need to submit a working PR by the end of today to be eligible for the UnitaryHack bounty, we can offer AWS credits as a alternative if you wanted to keep working on this issue after the end of the competition :)

yitchen-tim commented 3 months ago

The set_noise_model method from this PR https://github.com/amazon-braket/amazon-braket-sdk-python/pull/893 may help with the implementation.