amazon-braket / amazon-braket/qiskit-braket-provider

Support noise models

Offen
#89 12 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen
good first issue help wanted unitaryhack
Vorherrschende Sprache
Python
Sterne
85
Forks
77
Ø Merge
4 T. 23 Std.
Gemergte PRs (30 T.)
9

Beschreibung

Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our [Contributor License Agreement](https://cla-assistant.io/qiskit-community/qiskit-braket-provider?pullRequest=48) before we can accept your contribution.

In Amazon Braket, you can add a Braket [noise models](https://github.com/aws/amazon-braket-sdk-python/blob/main/src/braket/circuits/noise_model/noise_model.py#L84) to the [local](https://github.com/amazon-braket/amazon-braket-sdk-python/blob/6c4282e7eafcff906c4cfc6804bf06209d82a4fc/src/braket/devices/local_simulator.py#L59) or [on-demand](https://github.com/amazon-braket/amazon-braket-sdk-python/blob/6c4282e7eafcff906c4cfc6804bf06209d82a4fc/src/braket/aws/aws_device.py#L85) density-matrix simulators. Analogously, in Qiskit, it is possible to add a Qiskit [noise model](https://qiskit.org/documentation/tutorials/simulators/3_building_noise_models.html#Adding-errors-to-a-Noise-Model) to a simulator device so that the noise model is applied to any circuit [run on the device](https://qiskit.org/documentation/tutorials/simulators/3_building_noise_models.html#Executing-the-noisy-simulation).

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

* Adding a `noise_model` kwarg to the Braket provider's `get_backend` method that attaches a noise model to be applied to every circuit run
* Adding `noise_model` properties to the Braket backends that allow users to inspect the noise model.

```python
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
```

Beitragsleitfaden

Beitragsleitfaden öffnen

Bewertung

Dieses Issue wurde noch nicht bewertet.

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.