I am trying to play with NoiseModel
of qiskit
, and I noticed that error on id gate is not giving any error results, while error on the measurement (or other gates) does give an error:
def get_noise_model(p_err):
error_gate1 = pauli_error([("X", p_err / 2), ("Z", p_err / 2), ("I", 1 - p_err)])
noise_model = NoiseModel()
noise_model.add_all_qubit_quantum_error(error_gate1, "id")
print(error_gate1)
return noise_model
qc = QuantumCircuit(2, 2)
qc.id(0)
qc.measure([0, 1], [0, 1])
results = (execute(qc,Aer.get_backend("aer_simulator"),noise_model=get_noise_model(0.2),shots=2048).result().get_counts())
plot_histogram(results)
And changing to :
noise_model.add_all_qubit_quantum_error(error_gate1, "measure")
Why is that happening? If I perform noisy id
gate
imports needed:
from qiskit.visualization import plot_histogram
from qiskit.providers.aer.noise import NoiseModel
from qiskit.providers.aer.noise.errors import pauli_error
from qiskit import QuantumCircuit, execute , Aer