EMU-MPS is a Pulser backend, designed to EMUlate the dynamics of programmable arrays of neutral atoms, with matrix product states (MPS). It allows users to increase the number of qubits and reduce computation time.
Join us on Slack or by e-mail to give us feedback about how you plan to use Emu-MPS or if you require specific feature-upgrades.
You can install from source, or download the package from the private pypi registry that pasqal maintains in gitlab. For developers, we recommend installing from source, for users we recommend installing from the registry.
Warning: installing emu-mps will update pulser-core
We always recommend using a virtual environment.
Click me to see how it is done
python -m venv .venv
Or
python -m venv /path/to/new/virtual/environment
Replace /path/to/new/virtual/environment
with your desired directory path.
Then activate the environment On linux or MacOS
source /path/to/new/virtual/environment/bin/activate
While on Windows it's
C:\> /path/to/new/virtual/environment/Scripts/activate
Remember to replace /path/to/new/virtual/environment
with the actual path to your virtual environment. Once the environment is activated, you can clone emu_mps and install it using
When pip is configured to know about the pasqal registry, Emu-MPS installs as
pip install emu-mps
When pip is not already configured, the easiest way to do so, is to add a file ~/.config/pip/pip.conf
containing:
[global]
extra-index-url=https://gitlab.pasqal.com/api/v4/projects/597/packages/pypi/simple
possible.other.urls
As this shows, it is also possible to have multiple extra repositories configured. Note that the order is not important.
It is also possible to add the extra-index-url
to the pip install
command directly, if you somehow don't want to create a pip.conf
file.
git clone this repository or download
Then, cd
into the root folder of the repo and type
pip install -e .
Guidelines for developers
We recommend using an environment, git clone the repository, then inside the `emu_mps` folderpip install -e .
Also, the installation of pytest, nbmake, pre-commit.
Do not forget to run the unit test suite by simply running pytest
command.
Another way can be using hatch.
python -m pip install hatch
python -m hatch -v shell
When inside the shell with development dependencies, install first the pre-commit hook:
pre-commit install
For more information, you can check the tutorials and examples located in the examples folder
Please check the documentation page for more info about contributing, the API, benchmarks, etc.