This repository has the code we developed for the paper:
Belis, V., Woźniak, K.A., Puljak, E. et al. Quantum anomaly detection in the latent space of proton collision events at the LHC. Nature Communications Physics 7, 334 (2024). https://doi.org/10.1038/s42005-024-01811-6
In this work, we investigate unsupervised quantum machine learning algorithms for anomaly detection tasks in particle physics data.
The qad
package associated with this work was created for reproducibility of the results and ease-of-use in future studies.
The figure above, taken from the paper, depicts the quantum-classical pipeline for detecting (anomalous) new-physics events in proton collisions at the LHC. Our strategy, implemented in qad
, combines a data compression scheme with unsupervised quantum machine learning models to assist in scientific discovery at high energy physics experiments.
The documentation can be consulted in the readthedocs page.
Please cite our work if you found it useful in your own research.
@article{Belis_2024,
title={Quantum anomaly detection in the latent space of proton collision events at the LHC},
volume={7},
ISSN={2399-3650},
DOI={10.1038/s42005-024-01811-6},
number={1},
journal={Communications Physics},
author={Belis, Vasilis and Woźniak, Kinga Anna and Puljak, Ema and Barkoutsos, Panagiotis and Dissertori, Günther and Grossi, Michele and Pierini, Maurizio and Reiter, Florentin and Tavernelli, Ivano and Vallecorsa, Sofia}, year={2024},
month=oct,
pages={334}
}
The package can be installed with Python's pip
package manager. We recommend installing the dependencies and the package within a dedicated environment. For instance, we use conda
to create a python
environment:
conda create -n my_env python=3.8
conda activate my_env
In this environment you can directly install qad
by running:
pip install https://github.com/vbelis/latent-ad-qml/archive/main.zip
or by first cloning the repo locally and then installing the package:
git clone https://github.com/vbelis/latent-ad-qml.git
cd latent-ad-qml
pip install .
The installation is expected to take a couple of minutes.
Examples on how to run the code and use qad
to reproduce results and plots from the paper can be found in the scripts. Check also the corresponding documentation page.