A pulse-level composer for neutral-atom quantum devices.
Project description
Pulser
Pulser is a framework for composing, simulating and executing pulse sequences for neutral-atom quantum devices.
Documentation for the latest release of pulser
is available at https://pulser.readthedocs.io (for the docs tracking the develop
branch of this repository, visit https://pulser.readthedocs.io/en/latest instead).
The source code can be found at https://github.com/pasqal-io/Pulser.
Overview of Pulser
Pulser is designed to let users create experiments that are tailored to specific neutral-atom devices. This reduces the level of abstraction and gives you maximal flexibility and control over the behaviour of the relevant physical parameters, within the bounds set by the chosen device.
Consequently, Pulser breaks free from the paradigm of digital quantum computing and also allows the creation of analog quantum simulations, outside of the scope of traditional quantum circuit approaches. Whatever the type of experiment or paradigm, if it can be done on the device, it can be done with Pulser.
Additionally, the pulser_simulation
extension provides tools for classical simulation (using QuTiP libraries) to aid in the development and testing of new pulse sequences.
For a comprehensive overview of Pulser, check out Pulser's white paper.
Installation
Note: Pulser v0.6 introduced a split of the pulser
package that prevents it from being correctly upgraded. If you have an older version of pulser
installed and wish to upgrade, make sure to uninstall it first by running pip uninstall pulser
.
To install the latest release of pulser
, have Python 3.8 or higher installed, then use pip
:
pip install pulser
The standard pulser
distribution will install the core pulser
package
and the pulser_simulation
extension package, which is required if you want
to access the emulation features.
If you wish to install only the core pulser
features, you can instead run:
pip install pulser-core
Including PyTorch
To include PyTorch in your installation, append the [torch]
suffix to the commands outlined above, i.e.
pip install pulser[torch]
for the standard pulser
distribution with PyTorch, or
pip install pulser-core[torch]
for just the core features plus PyTorch support.
Development install
If you wish to install the development version of Pulser from source instead, do the following from within this repository after cloning it:
git checkout develop
make dev-install
Bear in mind that this installation will track the contents of your local
Pulser repository folder, so if you checkout a different branch (e.g. master
),
your installation will change accordingly.
Development Requirements (Optional)
To run the tutorials or the test suite locally, after installation first run the following to install the development requirements:
pip install -r dev_requirements.txt
Then, you can do the following to run the test suite and report test coverage:
pytest --cov
Contributing
Want to contribute to Pulser? Great! See How to Contribute for information on how you can do so.
Citing Pulser
Citation references are generated through Zenodo. Click the badge below to get the citation to the latest Pulser release.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distribution
File details
Details for the file pulser-0.20.0-py3-none-any.whl
.
File metadata
- Download URL: pulser-0.20.0-py3-none-any.whl
- Upload date:
- Size: 6.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/5.1.1 CPython/3.12.6
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 74ae6b7177512368de7ebe970c082500b36fd12c04e29f2925ed02232ae6e869 |
|
MD5 | 0d645f5accccfd218c783754925aec47 |
|
BLAKE2b-256 | ab1208e236b085fecf8738e2ceb6f1f5eb822a6c1d3d696035815da3303e3250 |