There are many ways how to simulate a quantum circuit on IBM Q. However, in partiuclar I am interested in a difference between qasm_simulator
and ibmq_qasm_simulator
.
In Qiskit, the former can be called with statement
processor = Aer.backends(name = 'qasm_simulator')[0]
while the latter with
provider = IBMQ.load_account()
processor = provider.backends(name='ibmq_qasm_simulator')[0]
I realized that ibmq_qasm_simulator
sends jobs similarly to a real quantum processor, i.e. I see the job in Job pane in IBM Q environment. But this is not the case for qasm_simulator
.
In list of services on IBM Q page I found out only one qasm_simulator
. So, my question is how these two simulators differ?
Aer
backends are local backends (they run on your local machine) and all backends fromproviders
are cloud based. Notice how you callqasm_simulator
orstatevector_simulator
asAer.backends( <name>)
where as you would callibmq_qasm_simulator
or any of the actual hardware asprovider.backends(<name>)
. But overall, they are the same in term of what they do. Do note that all cloud backends have a threshold of $8192$ shots where as 'qasm_simulator` (local simulator) can go up to $1,000,000$ shots. $\endgroup$