# Questions about noise simulation

**URL:** <https://discuss.pennylane.ai/t/questions-about-noise-simulation/4684>\
**Category:** PennyLane Help\
**Created:** [June 2, 2024, 8:42pm UTC](https://discuss.pennylane.ai/t/questions-about-noise-simulation/4684 "2024-06-02T20:42:29Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![cheng](https://avatars.discourse-cdn.com/v4/letter/c/ecccb3/32.png) [@cheng](https://discuss.pennylane.ai/u/cheng)\
**Post date:** [June 2, 2024, 8:42pm UTC](https://discuss.pennylane.ai/t/questions-about-noise-simulation/4684/1 "2024-06-02T20:42:29Z")

</div>

Hi,  
I tried using the noise model from qiskit in pennylane. But I have some questions about the simulation. My code is as follows.

```auto
import pennylane as qml
from pennylane import numpy as np
from qiskit_aer.noise import NoiseModel
from qiskit.providers.fake_provider import *

backend = FakeCambridgeV2()
noise_model = NoiseModel.from_backend(backend)
dev = qml.device("qiskit.aer", wires=5, noise_model=noise_model)
@qml.qnode(dev)
def noise_circuit():
    qml.CNOT(wires=[0, 1])
    qml.CNOT(wires=[2, 1])
    qml.CNOT(wires=[3, 1])
    qml.CNOT(wires=[4, 1])
    qml.CNOT(wires=[4, 2])
    return qml.expval(qml.Z(0)), qml.expval(qml.Z(1))   

```

My questions are as follows:

1. Since quantum computers have different topology (at least superconducting quantum computers). It means that qubits are not fully connected. So I think I should transpile this circuit and insert some swap gates. But I didn’t do anything. Is the noise simulation just inserting error channels after quantum gates, such as [phaseflip](https://docs.pennylane.ai/en/stable/code/api/pennylane.PhaseFlip.html)?
2. I checked the [phaseflip](https://docs.pennylane.ai/en/stable/code/api/pennylane.PhaseFlip.html). It seems that the answer of question 1 is yes. Since the noise is different for different qubit pairs. How to quantize qubit pairs that are not physically connected?

I haven’t delved into Pennylane’s source code. So please correct me if I’m wrong.

---

<div class="post-metadata">

**Author:** ![CatalinaAlbornoz](https://yyz2.discourse-cdn.com/flex012/user_avatar/discuss.pennylane.ai/catalinaalbornoz/32/1196_2.png) [@CatalinaAlbornoz](https://discuss.pennylane.ai/u/CatalinaAlbornoz)\
**Post date:** [June 3, 2024, 11:31pm UTC](https://discuss.pennylane.ai/t/questions-about-noise-simulation/4684/2 "2024-06-03T23:31:38Z")

</div>

Hi @cheng ,

It looks like the noise model is being handled on Qiskit’s side so I’m not sure how they do it.

Regarding transpilation you can set it with the [set\_transpile\_args](https://docs.pennylane.ai/projects/qiskit/en/latest/code/api/pennylane_qiskit.BasicAerDevice.html#pennylane_qiskit.BasicAerDevice.set_transpile_args) method. There you can set the keyword arguments in the [Qiskit transpiler documentation](https://qiskit.org/documentation/stubs/qiskit.compiler.transpile.html).

I’ll check to see if we have more info on processing external noise models but in case I can’t find it I hope this helps!

---

<div class="post-metadata">

**Author:** ![cheng](https://avatars.discourse-cdn.com/v4/letter/c/ecccb3/32.png) [@cheng](https://discuss.pennylane.ai/u/cheng)\
**Post date:** [June 4, 2024, 2:44pm UTC](https://discuss.pennylane.ai/t/questions-about-noise-simulation/4684/3 "2024-06-04T14:44:29Z")

</div>

Hi @CatalinaAlbornoz ,

Thanks for your reply. I will check the transpilation part. 👍

---

<div class="post-metadata">

**Author:** ![CatalinaAlbornoz](https://yyz2.discourse-cdn.com/flex012/user_avatar/discuss.pennylane.ai/catalinaalbornoz/32/1196_2.png) [@CatalinaAlbornoz](https://discuss.pennylane.ai/u/CatalinaAlbornoz)\
**Post date:** [June 5, 2024, 1:38am UTC](https://discuss.pennylane.ai/t/questions-about-noise-simulation/4684/4 "2024-06-05T01:38:54Z")

</div>

Let me know if you encounter any issues @cheng !

---

<div class="post-metadata">

**Author:** ![CatalinaAlbornoz](https://yyz2.discourse-cdn.com/flex012/user_avatar/discuss.pennylane.ai/catalinaalbornoz/32/1196_2.png) [@CatalinaAlbornoz](https://discuss.pennylane.ai/u/CatalinaAlbornoz)\
**Post date:** [June 6, 2024, 2:12pm UTC](https://discuss.pennylane.ai/t/questions-about-noise-simulation/4684/5 "2024-06-06T14:12:01Z")

</div>

Hi @cheng ,

I want to mention that we’ll be adding PennyLane noise models in the upcoming 0.37 release at the start of July.

These noise models will allow you to control the recipe for when to insert noisy channels after target operations. You can check out the (Work In Progress) example [here](https://github.com/PennyLaneAI/pennylane/blob/0e4432cb09811e241c071bbb08f464f392d2cd4a/doc/releases/changelog-dev.md#new-features-since-last-release).

---

<div class="post-metadata">

**Author:** ![cheng](https://avatars.discourse-cdn.com/v4/letter/c/ecccb3/32.png) [@cheng](https://discuss.pennylane.ai/u/cheng)\
**Post date:** [June 6, 2024, 5:43pm UTC](https://discuss.pennylane.ai/t/questions-about-noise-simulation/4684/6 "2024-06-06T17:43:15Z")

</div>

Hi @CatalinaAlbornoz

Thanks for the mention. That is great news. I will check it. Hope PennyLane gets better. 👍

---

<div class="post-metadata">

**Author:** ![CatalinaAlbornoz](https://yyz2.discourse-cdn.com/flex012/user_avatar/discuss.pennylane.ai/catalinaalbornoz/32/1196_2.png) [@CatalinaAlbornoz](https://discuss.pennylane.ai/u/CatalinaAlbornoz)\
**Post date:** [June 6, 2024, 10:51pm UTC](https://discuss.pennylane.ai/t/questions-about-noise-simulation/4684/7 "2024-06-06T22:51:02Z")

</div>

That’s the goal! 😄 Let us know if you have any feedback or suggestions!
