Skip to content

Welcome to the Pasqal analog emulators

Emu-sv and emu-mps are Pulser high-performance backend emulators for analog quantum simulation, developed by Pasqal. They support all major operating systems (Linux, macOS and Windows), and are designed to faithfully emulate neutral-atom quantum hardware with both high fidelity and scalability.

These tools are described in our publication “Efficient Emulation of Neutral Atom Quantum Hardware” (arXiv:2510.09813) — in summary:

  • emu-sv uses a state-vector representation to deliver numerically exact dynamics for medium-sized systems.

  • emu-mps uses a Matrix Product State (MPS) representation to scale efficiently to larger system sizes.

  • Both integrate with the Pulser framework, modelling pulse sequences, noise and decoherence in neutral-atom arrays.


Which emulator to choose

First, compare the supported features for emu-sv and emu-mps, since the two emulators do not implement exactly the same feature set. Also consult the in-depth benchmarks for emu-sv and emu-mps to determine which emulator - and which parameter settings - best fit your problem.

General guidance:

  • emu-sv (default precision) is typically the best choice for noiseless simulations of up to ~25 qubits.

  • In noise‐simulation mode, emu-sv solves the full Lindblad master equation, but this effectively halves the number of qubits that can be simulated.

  • For larger number of qubits, emu-sv may not fit on a GPU or may become significantly slower; in those cases emu-mps is often the better choice. Unless you require extreme accuracy, emu-mps offers better scalability — but be sure to read its documentation to configure it correctly.


Installation

Warning: installing any emulator will update pulser-core

Using hatch, uv or any pyproject-compatible Python manager

To add emu-sv or emu-mpsto your project, edit your pyproject.toml to add the line

  "<emulator>"

to the list of dependencies.

Using pip or pipx

To install the pipy package using pip or pipx

  1. Create a venv if that's not done yet
python -m venv venv
  1. Activate the venv

If you're running Unix:

. venv/bin/activate
  1. Install the package
$ pip install <emulator>
# or
$ pipx install <emulator>

Join us on Slack or by e-mail to give us feedback about how you plan to use the emulators or if you require specific feature-upgrades.

Usage

For the time being, the easiest way to learn how to use the emulators is to look at the examples in the repo, the emu-sv notebooks and the emu-mps notebooks.

See also the emulator specific documentation for supported features, benchmarks etc.

Getting in touch

Running a Pulser sequence and getting results

Several example notebooks are included in this documentation. Please see the links provided under usage

More Info

Many usage patterns are shared between all emulators. The computing observable page details how to compute observables (see here). The base classes enforcing the usage pattern are documented here.