This repository contains an implementation of a track reconstruction algorithm using the HHL quantum algorithm, described in this article.
This project uses Poetry to manage dependencies. After installing it, clone this repo and install the dependencies in a virtual environment using Poetry.
git clone https://github.com/dnicotra/TrackHHL.git
cd TrackHHL
poetry install
You can then run your own script with
poetry run python your_script.py
or activate the environment in your shell with
poetry shell
notebooks\
: contains a few IPython notebooks that show the usage of the codetests\
: contains several automatic teststrackhhl\
: the main libraryevent_model\
: contains the data-modelsHit
,Module
,Track
,Event
,Segment
andMCInfo
hamiltonians\
: contains the abstract classHamiltonian
and the implementation of theSimpleHamiltonian
used in the article. TheSimpleHamiltonian
class can be used to solve a tracking problem using a classical linear solver (with the methodsolve_classically
) or using the Qiskit implementation of the HHL algorithm (with the methodsolve_hhl
). Checknotebooks\example.ipynb
for the basic usage.toy\
: contains the toy-model used for numerical simulations in the article