if I am trying to increase the noise of an existing backend provided from qiskit fakeprovider, which way would be best to approach it:

Increasing readout error or increasing the quantum error or both?



1 Answer 1


This is easiest to do with the BackendV2 providers (so things classes FakeHanoiV2 or FakeAuckland). To adjust the error rates for operations in the backend you can modify the target in place. So something like:

from qiskit.providers.fake_provider import FakeHanoiV2
backend = FakeHanoiV2()
backend.target['measure'][(0,)].error = 0.5

would change the error rate of measurement on qubit 0 in the backend object to 50%. You can do this for any operation on the backend (the first key is the operation name and the second key is the qubits it operates on as a tuple). This will then be used when creating a noise model from the backend (either via AerSimulator.from_backend() or NoiseModel.from_backend() with qiskit-aer>=0.11.2). The .run() method does this internally when qiskit-aer is installed but doing the inplace modification like this will not reflect in the noise model used for simulation currently (it is waiting on https://github.com/Qiskit/qiskit-terra/pull/8979 to fix this).

  • $\begingroup$ Hello, are there any other operations in the first key which can be used to add error, I am struggling to find the documentation of the backend.target online. Thanks! $\endgroup$ Dec 7, 2022 at 14:09
  • $\begingroup$ You can look at target.operation_names to get a list of all the operations in a target. Note that no all operations necessarily need to exist on every qubit (although in practice for all the current fake backends operations are available on all qubits). $\endgroup$ Dec 7, 2022 at 18:22

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.