Author: Félix Moras
Course: BSQ501 — Specialty Projects in Quantum Sciences
University: Université de Sherbrooke, Fall 2025
This project aims to implement and study a Quantum Kernel Learning algorithm on a Rydberg neutral atom platform, using the Pulser library.
The goal is to define a feasible experimental protocol by comparing two approaches:
-
The quantum echo protocol (Forward-Backward): Based on a time-reversal of the evolution, which is difficult to achieve experimentally.
-
The revival protocol (Forward-Forward): Leverages the natural revival of the
$|Z_2\rangle$ state to bypass the need for an echo.
This work is a continuation of the article:
-
Ayana Sarkar et al., Concentration-Free Quantum Kernel Learning in the Rydberg Blockade, arXiv:2508.10819 (2025).
.
├── helpers.py
│ ├── Utility functions: pulse creation, registers, ideal states, etc.
│
├── rydkernel.py
│ ├── Construction of the quantum kernel based on Rydberg dynamics.
│ ├── Implements the Forward-Backward and Forward-Forward protocols.
│ └── Contains the main logic for calculating fidelities and kernel matrices.
│
├── qml_pxp.py
│ ├── Main script to launch simulations.
│ ├── Defines scan parameters (λ, number of qubits, time, etc.)
│ └── Saves results to the 'results/' directory.
│
├── pulser_testing_ground.ipynb
│ └── Experimentation notebook for validating Pulser sequences.
├── revivals.ipynb
│ └── Experimentation notebook for validating revival dynamics.
│
└── results/
├── plot_results.ipynb
│ └── Jupyter Notebook for plotting and analyzing simulation data.
└── *.json
└── Output files from simulations (e.g., z0_forward_backward.json, etc.)
This project uses the following libraries:
-
pulserandpulser_simulation— For defining and emulating neutral-atom sequences. -
qutip— For handling quantum vectors and operators. -
torchandnumpy— For numerical computation and tensor manipulation. -
itertools,json,logging,scipy— For organizing, managing, and analyzing simulations.
Recommended installation:
pip install -r requirements.txtTo run a complete kernel simulation:
python qml_pxp.pyThis will generate a file named:
kernel_simulation_results.json
This file contains the kernel matrices, simulation parameters, and summary statistics.
⚠️ Warning: Depending on the system size (n_qubits) and the backend used, the execution can be long (from minutes to hours).
This project implements a quantum kernel based on the analog dynamics of a Rydberg atom array. The core idea is to encode data into the system's Hamiltonian and use the resulting quantum state's fidelity as a similarity measure.
The evolution of the
Where:
-
$\Omega(t)$ : The Rabi frequency, controlling the laser coupling between the ground$|g\rangle$ and Rydberg$|r\rangle$ states. -
$\delta(t)$ : The detuning of the laser from the atomic transition frequency. -
$V_{ij} = C_6/r_{ij}^6$ : The strong van der Waals interaction between atoms. This term gives rise to the Rydberg blockade, a key phenomenon where the excitation of one atom prevents the excitation of its neighbors within a "blockade radius."
To encode the classical data vector
The quantum kernel is defined as the squared overlap (fidelity) between two quantum states, each prepared using a different data vector
The states
This makes the full kernel calculation:
Initial State Preparation: The crucial
A major experimental challenge is that the backward-in-time evolution
1. method="forward-backward" (Approximate Echo)
This protocol, proposed in the original paper, uses an approximate quantum echo to simulate the inverse evolution:
- The sequence is: Forward evolution with
$x_j$ , apply a$\hat{Z}$ gate, "Backward" (inverted-data) evolution with$-J(x_i)$ , and a final$\hat{Z}$ gate. - The
$\hat{Z}$ gate is not a physical pulse but a virtual$\hat{Z}$ gate, implemented in Pulser by shifting the phase of all subsequent laser pulses by$\pi$ .
2. method="forward-forward" (Revival-Based)
This is the simplified, more practical protocol this project seeks to validate. It avoids the echo entirely by leveraging a natural phenomenon of the system: quantum revival.
- When starting from the
$|\mathbb{Z}_2\rangle$ state, the system's fidelity$F(t) = |\langle\mathbb{Z}_2|\psi(t)\rangle|^2$ naturally "revives" (returns to a high value) at periodic intervals. - The hypothesis is that by running both evolutions forward (
$U(x_i, T)$ and $U(x_j, T)$) and measuring at a revival time$T = T_{\text{rev}}$ , the natural revival of the state is sufficient to compute a high-quality kernel, bypassing the need for a complex and approximate echo.
This project is still under active development.
Planned improvements include:
- Adding a module for automatic visualization and analysis of results.
- Simulating on Pasqal's high-performance backends using clusters (Emu-SV, Emu-MPS).
- Introducing coherent errors and state preparation noise.
- Performing a comparison between the Forward-Backward and Forward-Forward protocols.
- Performing a comparison between different initial states (
$|Z_0\rangle$ vs$|Z_2\rangle$ ). - Validating scalability for
$N > 15$ qubits.
- Ayana Sarkar et al., Concentration-Free Quantum Kernel Learning in the Rydberg Blockade, 2025.
- Henrique Silvério et al., Pulser: An open-source package for neutral-atom arrays, Quantum (2022).
- Pulser Documentation: https://pulser.readthedocs.io
- QuTiP Documentation: https://qutip.readthedocs.io/