-
Notifications
You must be signed in to change notification settings - Fork 65
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #84 from pasqal-io/release
v0.1.0 release
- Loading branch information
Showing
3 changed files
with
35 additions
and
29 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,42 +1,52 @@ | ||
# Pulser | ||
|
||
A framework for interacting with [Pasqal][pasqal] devices at the **pulse** level. | ||
Pulser is a framework for composing, simulating and executing **pulse** sequences for neutral-atom quantum devices. | ||
|
||
Pulser is a library that allows for writing sequences of pulses representing the | ||
behaviour of some Pasqal processor prototypes. | ||
Pulser documentation is available at https://pulser.readthedocs.io. | ||
|
||
- The user can define one or several channels to target the qubits in the device. | ||
- A basis can be chosen to represent the transition levels of the Rydberg atom-arrays setup. | ||
- Channels can be local or global depending on the application. In the local case, | ||
a phase-shift option is included to reduce complexity | ||
- There's a visualization routine for ease of use. | ||
The source code can be found at https://github.com/pasqal-io/Pulser. | ||
|
||
The pulse sequences can then be read and operated by real Pasqal devices or | ||
emulated (using [QuTiP][qutip] libraries). | ||
## Overview of Pulser | ||
|
||
Pulser is designed to let users create experiments that are tailored to specific neutral atom devices, | ||
like those developed at [Pasqal][pasqal]. | ||
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, Pulser features built-in tools for classical simulation (using [QuTiP][qutip] libraries) to aid in the development and testing of new pulse sequences. | ||
|
||
## Installation | ||
|
||
To install Pulser from source, do the following from within the repository | ||
after cloning it: | ||
To install the latest release of ``pulser``, have Python 3.7.0 or higher installed, then use ``pip``: | ||
|
||
```bash | ||
pip install pulser | ||
``` | ||
|
||
If you wish to **install Pulser from source** instead, do the following from within this repository after cloning it: | ||
|
||
```bash | ||
pip install -e . | ||
``` | ||
|
||
## Testing | ||
### Development Requirements (Optional) | ||
|
||
To run the test suite, after installation first run the following to install | ||
development requirements: | ||
To run the tutorials or the test suite locally, after installation first run the following to install the development requirements: | ||
|
||
```bash | ||
pip install -r requirements.txt | ||
``` | ||
|
||
Then, do the following to run the test suite and report test coverage: | ||
Then, you can do the following to run the test suite and report test coverage: | ||
|
||
```bash | ||
pytest --cov pulser | ||
``` | ||
|
||
|
||
[pasqal]: https://pasqal.io/ | ||
[qutip]: http://qutip.org/ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters