Skip to content

Pasqal Repositories Overview

Pasqal is a full-stack quantum computing company that provides hardware and software to leverage uses cases through neutral-atom quantum technology.

The first generation of Quantum Processing Units (QPUs) made at Pasqal are analog quantum computers. We strive to reach pratical quantum advantage in the analog and digital-analog approach with these QPUs. The next generations of QPUs will be developed towards fault-tolerant digital quantum computers. In order to support the development of such applications we have developed a suite of programming interfaces and emulators that you will find here on our GitHub.

The Pasqal quantum software stack

The schema above is organized in terms of functionality layers as follows:

Core technologies

Our core libraries for building quantum programs are Pulser and Qadence. Pulser provides hardware-near abstractions, and Qadence provides higher-level information theoretic abstractions. Both provide building blocks to program neutral atom devices.

  • Pulser: A framework of easy-to-use Python libraries for designing, simulating and executing analog quantum programs in the form of pulse sequences for neutral-atom QPUs. Pulser focuses on facilitating the creation of valid quantum programs accounting for the physics of the device. In this way, Pulser produces quantum programs in a format that the QPU can execute and that faithfully and directly represent how the device operates.

  • Qadence: a Python package to write higher-level quantum programs in the digital and digital-analog paradigm. Qadence features tunable qubit interactions, and allows arbitrary register topology customization as possible on neutral atom devices.

Extensions layer

These libraries provide additional features for applications on top of the core libraries.

  • Qadence-Libs: a collection of libraries to enhance Qadence functionalities suitable for a class of problems, i.e. QUBO, graph embedding, QML.

  • Qadence-Protocols: error mitigation and measurement handling protocols for Qadence.

  • QEK: Python library for integrating quantum-driven similarity metrics into graph-based machine learning. It does not only simplify the use of quantum features, it proposes a way to extract features for graphs using a quantum simulation, following the framework from "Quantum feature maps for graph machine learning on a neutral atom quantum processor" . Designed for both beginners and experts, it provides an intuitive interface to explore quantum-enhanced graph learning with Pasqal's Neutral Atom QPU.

Backend layer

QPU

  • Pasqal-cloud: a Python SDK for communicating with Pasqal's Cloud Services. With Pasqal-cloud users can submit Pulser sequences to be executed on the QPU. The cloud also provides access to further emulators based on tensor networks that are not open source.

Numerical simulators

  • Pulser Simulation: Built on top of QuTiP, Pulser's simulation module performs statevector simulations of the provided pulse sequences and can also account for physical effects, such as noise or the finite-bandwidth modulation of optical components. Thus, it provides the most accurate numerical simulation of what happens on a real QPU.

  • PyQTorch: a high-performance emulator based on the popular PyTorch deep-learning library. PyQTorch can perform statevector digital and digital-analog simulations up to 25 qubits and is geared towards variational quantum circuits with built-in automatic differentiation.

  • Horqrux: a JAX-based state vector simulator designed for quantum machine learning that acts as a backend for Qadence with similar functionality as PyQTorch.

Emulators (for Pulser only)

Emulators contain a Torch-based Pulser backends.

  • EMU-MPS: a backend to emulate the dynamics of programmable arrays of neutral atoms, with matrix product states (mps) that can run Quantum Algorithms on a simulated device, using GPU acceleration if available.

  • EMU-SV: a backend to emulate the dynamics of programmable arrays of neutral atoms using state vector simulation.

The hardware

Pasqal builds quantum computers with programmable arrays of neutral atoms. This is a highly scalable and promising platform to build upon. The architecture is based on the possibility to arrange and move ensembles of trapped cold atoms with synchronised lasers. To generate interactions between atoms, we use resonant laser fields to excite them into highly excited states called Rydberg states. At the Rydberg state the atoms have large pair-wise interaction strengths and are briefly called Rydberg atoms. This can be used to implement both analog quantum computing and 2-qubit digital gates.

For more info we suggest the reader to explore our Pulser documentation. Or read our paper Quantum computing with neutral atoms, Henriet et al..

Digital-analog quantum computing

The digital-analog paradigm combines digital single-qubit gates with global entangling operations, natively hardware executable. Similarly to the digital case, the digital-analog paradigm is universal for quantum computation, as shown by Dodd et al. (2002).

For more info see Qadence documentation or Qadence whitepaper.

References

Dodd et al. Universal quantum computation and simulation using any entangling Hamiltonian and local unitaries, PRA 65, 040301 (2002): arxiv:0106064 Henriet et al. Quantum computing with neutral atoms, Quantum 4, 327 (2020): Quantum Journal

Popular repositories Loading

  1. Pulser Pulser Public

    Library for pulse-level/analog control of neutral atom devices. Emulator with QuTiP.

    Python 197 67

  2. qadence qadence Public

    Digital-analog quantum programming interface

    Python 79 22

  3. pyqtorch pyqtorch Public

    PyTorch-based state vector simulator

    Python 44 16

  4. quantum-evolution-kernel quantum-evolution-kernel Public

    A Graph Machine Learning library using Quantum Computing

    Python 27 3

  5. horqrux horqrux Public

    Jax-based quantum state vector simulator.

    Python 26 2

  6. pasqal-cloud pasqal-cloud Public

    Python SDKs to interact with Pasqal Cloud Services.

    Python 17 1

Repositories

Showing 10 of 50 repositories
  • Pulser Public

    Library for pulse-level/analog control of neutral atom devices. Emulator with QuTiP.

    pasqal-io/Pulser’s past year of commit activity
    Python 197 Apache-2.0 67 29 (2 issues need help) 4 Updated Mar 10, 2025
  • horqrux Public

    Jax-based quantum state vector simulator.

    pasqal-io/horqrux’s past year of commit activity
    Python 26 Apache-2.0 2 3 1 Updated Mar 10, 2025
  • pasqal-cloud Public

    Python SDKs to interact with Pasqal Cloud Services.

    pasqal-io/pasqal-cloud’s past year of commit activity
    Python 17 Apache-2.0 1 12 2 Updated Mar 10, 2025
  • emulators Public

    monorepo for pasqal torch based pulser backends

    pasqal-io/emulators’s past year of commit activity
    Python 9 1 6 1 Updated Mar 10, 2025
  • quantum-evolution-kernel Public

    A Graph Machine Learning library using Quantum Computing

    pasqal-io/quantum-evolution-kernel’s past year of commit activity
    Python 27 3 7 (1 issue needs help) 2 Updated Mar 10, 2025
  • prototype_qextras Public

    Prototype monorepo for Qadence extensions

    pasqal-io/prototype_qextras’s past year of commit activity
    0 Apache-2.0 0 0 0 Updated Mar 10, 2025
  • pasqal-io/Pasqal_Hackathon_Feb25_Team_01’s past year of commit activity
    Jupyter Notebook 5 5 0 0 Updated Mar 10, 2025
  • qadence Public

    Digital-analog quantum programming interface

    pasqal-io/qadence’s past year of commit activity
    Python 79 Apache-2.0 22 31 3 Updated Mar 10, 2025
  • pyqtorch Public

    PyTorch-based state vector simulator

    pasqal-io/pyqtorch’s past year of commit activity
    Python 44 Apache-2.0 16 10 1 Updated Mar 10, 2025
  • pasqal-io/Pasqal_Hackathon_Feb25_Team_11’s past year of commit activity
    Jupyter Notebook 1 0 0 0 Updated Mar 10, 2025