I'm trying to run some quantum circuits on qasm simulator using the noise information from IBM Q quantum device:
provider = IBMQ.load_account()
backend = provider.get_backend('ibmq_vigo''ibmq_casablanca')
noise_model = NoiseModel.from_backend(backend)
coupling_map = backend.configuration().coupling_map
basis_gates = noise_model.basis_gates
As I print(noise_model)
, I got
NoiseModel:
Basis gates: ['cx', 'id', 'reset', 'rz', 'sx', 'x']
Instructions with noise: ['reset', 'measure', 'x', 'sx', 'id', 'cx']
Qubits with noise: [0, 1, 2, 3, 4, 5, 6]
Specific qubit errors: [('id', [0]), ('id', [1]), ('id', [2]), ('id', [3]), ('id', [4]), ('id', [5]), ('id', [6]), ('sx', [0]), ('sx', [1]), ('sx', [2]), ('sx', [3]), ('sx', [4]), ('sx', [5]), ('sx', [6]), ('x', [0]), ('x', [1]), ('x', [2]), ('x', [3]), ('x', [4]), ('x', [5]), ('x', [6]), ('cx', [6, 5]), ('cx', [5, 6]), ('cx', [5, 4]), ('cx', [4, 5]), ('cx', [5, 3]), ('cx', [3, 5]), ('cx', [3, 1]), ('cx', [1, 3]), ('cx', [1, 2]), ('cx', [2, 1]), ('cx', [1, 0]), ('cx', [0, 1]), ('reset', [0]), ('reset', [1]), ('reset', [2]), ('reset', [3]), ('reset', [4]), ('reset', [5]), ('reset', [6]), ('measure', [0]), ('measure', [1]), ('measure', [2]), ('measure', [3]), ('measure', [4]), ('measure', [5]), ('measure', [6])]
So I could see the source of errors as well as qubit connections. However, I wonder as I give this information to qasm simulator and run the experiments, am I using the real-time error rate as the noise model?
result = execute(circ, Aer.get_backend('qasm_simulator'),
coupling_map=coupling_map,
basis_gates=basis_gates,
noise_model=noise_model).result()
If so, should we expect to see any difference between the qasm results and the results from real quantum devices? (I could not print out the noise information, so I'm a bit confused which error values we are using.) Thanks!