Skip to content

Welcome to emu-sv

You have found the documentation for emu-sv. The emulator emu-sv is a backend for the Pulser low-level Quantum Programming toolkit that lets you run quantum algorithms on a simulated device, using GPU acceleration if available. More in depth, emu-sv is designed to emulate the dynamics of programmable arrays of neutral atoms, using the state vector representation. Our benchmarks indicate that on the gpu emu-sv is both faster and more accurate than emu-mps wherever a simulation fits in memory. For typical sequences this means up to ~27 qubits.

Supported features

The following features are currently supported:

  • All Pulser sequences that use only the rydberg channel
  • States and Operators can be constructed using the abstract Pulser format.
  • All noise from the pulser NoiseModel except leakage
    • Effective noise is included using the density matrix formalism
  • The following basis states in a sequence:
  • The following properties from a Pulser Sequence are also correctly applied:
  • Customizable output, with the following inbuilt options:
    • The quantum state in state vector format
    • Bitstrings
    • The fidelity with respect to a given state
    • The expectation of a given operator
    • The qubit density (magnetization)
    • The correlation matrix
    • The mean, second moment and variance of the energy
  • Specification of
    • Initial state
    • Various precision parameters
    • Whether to run on cpu or gpu
    • The \(U_{ij}\) coefficients from here
  • In the noiseless case, the emulator is differentiable

Planned features

  • Leakage noise

More Info

Please see the API specification for a list of available config options (see here). For notebooks with examples for how to do various things, please see the notebooks page (see here).