Comparison of the following data unfolding algorithms applied to a High-Energy physics case:
-
Simulated Quantum Annealing: this algorithm is from the paper arXiv:1908.08519 and the implementation is adapted (after some refactoring) from its computational appendix /rdisipio/quantum_unfolding but using /shinmorino/sqaod as the simulator.
-
Simulated Annealing: this algorithm is based on the same idea as quantum annealing, but samples are taken from a classical Boltzmann distribution (hence it's not "quantum"). D-Wave's implementation is used as found in /dwavesystems/dimod.
-
SVD: this algorithm based on "Singular Value Decomposition" is proposed at arXiv:1112.2226 and the implementation is taken from ROOT's TSVDUnfold.
Additionaly, the Quantum Annealing algorithm can be run on real D-Wave's quantum computers (as adapted from the original code) and on AWS's backends.
All python dependencies are listed in requirements.txt
so running pip install requirements.txt
should be enough (if you find some are missing, please create an issue so I can include them). For details on what is required for each algorithm, please visit the corresponding repositories.
Additionally, to run the Simulated Quantum Annealing algorithm, follow sqaod's installation guide (or build it from source) as some C dependencies are required. Also, to run the SVD algorithm, follow the installation instructions at ROOT's website.
If you want to run the algorithms on a D-Wave's QPU, please follow the configuration instructions of the Ocean SDK. Instructions to use AWS backends can be found on the Amazon's documentation, but a brief summary is provided below.
-
Create an AWS account
-
Create an IAM user with
AmazonBraketFullAccess
according to "Managing access to Amazon Braket". -
Set up boto3:
3.1. Perform the installation
pip install boto3
3.2. Create the configuration files with the access and secret keys of the user created in step 2.
-
Install the amazon-braket-sdk:
pip install amazon-braket-sdk
-
Create an S3 bucket with a folder to store the results of the experiments.
-
Test the
amazon-braket-sdk
with the test circuit in the "Usage" section using the S3 bucket created in step 5.
Licensed under the MIT License.