Project: Improved circuit implementation of the HHL algorithm and its simulations on QISKIT
This repository contains a review of the research paper on the HHL algorithm (Harrow–Hassidim–Lloyd), an analysis of its improvements, and a practical Qiskit-based implementation and simulation. The goal is to implement an improved circuit construction, reproduce key experiments, and compare results with the claims in the paper.
paper_review.md— concise summary & critical analysis of the research paper.hhl.ipynb/— implementation of HHL-related circuit modules.research-paper/— extract research paper.
- Python 3.9+
- Qiskit, Qiskit-aer (recommended stable release)
- numpy, scipy
- matplotlib
- jupyter (for notebooks)
Install dependencies (recommended inside a virtualenv):
python -m venv .venv
source .venv/bin/activate # macOS / Linux
.venv\Scripts\activate # Windows
pip install -r requirements.txtrequirements.txt should include (example):
qiskit>=0.43
numpy
scipy
matplotlib
jupyter
-
Run the main simulation script:
-
The script will:
- prepare the input state corresponding to
b, - build the improved HHL circuit (state preparation, phase estimation, controlled rotations, inverse QPE),
- run the circuit on a Qiskit simulator (local Aer or statevector),
- post-process measurement outcomes to reconstruct the approximate solution vector, and
- prepare the input state corresponding to
- Use controlled seeds for random matrix generation to allow reproducible comparison with the paper.
- Document the backend (Aer vs statevector vs noisy simulator) and Qiskit version used when reporting results.
- Harrow, Hassidim & Lloyd, Quantum algorithm for linear systems of equations, PRL (2009).
- [The paper being reviewed] — include full citation and URL in
paper_review.md.