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. While benchmarking is incomplete as of this writing, early results suggest that emu-sv is faster and more accurate than tensor-network based emulators up to ~20 qubits.
Supported features
The following features are currently supported:
- All Pulser sequences that use only the rydberg channel without complex phase
- States and Operators can be constructed using the abstract Pulser format.
- The following noise types:
- None currently
- 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(s)
Planned features
- The noises from the pulser
NoiseModel
using the density matrix formalism - Differentiability
- Complex phases in the pulse.
- Overriding the interaction matrix
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).