IBM Quantum simulators

Simulators overview

IBM Quantum features a collection of high-performance simulators for prototyping quantum circuits and algorithms, and exploring their performance under realistic device noise models. The default choice of simulator should be the simulator_statevector as it is a general-purpose solution method. The following simulation methods are currently available, and support a maximum of 300 circuits and 8192 shots per job:

simulator_statevector

Simulator type

Schrödinger wavefunction

Description

Simulates a quantum circuit by computing the wavefunction of the qubit’s statevector as gates and instructions are applied. Supports general noise modeling.

Qubits: 32

Supported gates / instructions

['u1', 'u2', 'u3', 'u', 'p', 'r', 'rx', 'ry', 'rz', 'id',
'x', 'y', 'z', 'h', 's', 'sdg', 'sx', 't', 'tdg', 'swap',
'cx', 'cy', 'cz', 'csx', 'cp', 'cu1', 'cu2', 'cu3', 'rxx',
'ryy', 'rzz', 'rzx', 'ccx', 'cswap', 'mcx', 'mcy', 'mcz',
'mcsx', 'mcp', 'mcu1', 'mcu2', 'mcu3', 'mcrx', 'mcry',
'mcrz', 'mcr', 'mcswap', 'unitary', 'diagonal',
'multiplexer', 'initialize', 'kraus', 'roerror', 'delay']

Noise modeling: Yes.

simulator_stabilizer

Simulator type

Clifford simulator

Description

An efficient simulator of Clifford circuits. Can simulate noisy evolution if the noise operators are also Clifford gates.

Qubits: 5000

Supported gates / instructions

['cx', 'cy', 'cz', 'id', 'x', 'y', 'z', 'h',
's', 'sdg', 'sx', 'swap', 'delay', 'roerror']

Noise modeling: Yes, Clifford only.

simulator_extended_stabilizer

Simulator type

Extended Clifford (e.g., Clifford+T)

Description

Approximates the action of a quantum circuit using a ranked-stabilizer decomposition. The number of non-Clifford gates determines the number of stabilizer terms.

Qubits: 63

Supported gates / instructions

['u0', 'u1', 'cx', 'cz', 'id', 'x', 'y', 'z', 'h',
't', 'tdg', 's', 'sdg', 'sx', 'swap', 'p', 'ccx', 'ccz',
'delay', 'roerror']

Noise modeling: No

simulator_mps

Simulator type

Matrix Product State

Description

A tensor-network simulator that uses a Matrix Product State (MPS) representation for the state that is often more efficient for states with weak entanglement.

Qubits: 100

Supported gates / instructions

['unitary', 't', 'tdg', 'id', 'cp', 'u1', 'u2', 'u3', 'u',
'cx', 'cz', 'x', 'y', 'z', 'h', 's', 'sdg', 'sx', 'swap',
'p', 'ccx', 'delay', 'roerror']

Noise modeling: No

ibmq_qasm_simulator

Simulator type

General, context-aware.

Description

A general-purpose simulator for simulating quantum circuits both ideally and subject to noise modeling. The simulation method is automatically selected based on the input circuits and parameters.

Qubits: 32

Supported gates / instructions

['u1', 'u2', 'u3', 'u', 'p', 'r', 'rx', 'ry', 'rz', 'id',
'x', 'y', 'z', 'h', 's', 'sdg', 'sx', 't', 'tdg', 'swap',
'cx', 'cy', 'cz', 'csx', 'cp', 'cu1', 'cu2', 'cu3', 'rxx',
'ryy', 'rzz', 'rzx', 'ccx', 'cswap', 'mcx', 'mcy', 'mcz',
'mcsx', 'mcp', 'mcu1', 'mcu2', 'mcu3', 'mcrx', 'mcry',
'mcrz', 'mcr', 'mcswap', 'unitary', 'diagonal',
'multiplexer', 'initialize', 'kraus', 'roerror', 'delay']

Noise modeling: Yes

Simulator timeout limit

To prevent the simulators from processing jobs that would otherwise not finish processing in a reasonable amount of time, jobs sent to the simulators are limited to run times under 10,000 seconds (~2.75 hours).