This repository contains a Python-based framework demonstrating how lattice reduction algorithms improve lattice basis quality.
Detailed documentation available at: https://vttresearch.github.io/LatticeReductionAlgorithms/
Project repository is structured as follows:
├── bkz # python modules for lattice reduction algorithms
├── docs
├── LICENSE
├── main.py
├── Makefile
├── mkdocs.yml
├── plotter.py
├── README.md
├── requirements.txt
├── ruff.toml
└── tests
The contents of this repository were implemented as part of Combinatorial Optimization with Hybrid Quantum-Classical Algorithms (COHQCA) -project funded by Business Finland. More information on the project website.
Copyright © 2025 VTT Technological Research Centre of Finland Ltd. This repository is licensed under the terms and conditions described in LICENSE.
If you have questions regarding this repository you can contact markus.rautell@vtt.fi
- Install python3-venv
sudo apt install python3-venv
- Create virtual environment
python3 -m venv venv
- Activate virtual environment
source venv/bin/activate
- Install dependencies to your local virtual environment
pip install -r requirementx.txt
- Now you're ready to start coding!
Run with the default parameters:
python3 main.py
Show the help message:
python3 main.py --help
You can specify parameters using the following arguments:
python3 main.py --lattice_dimension 10 --entry_bound 73 --bkz_version 1 --svp_solver 1 --block_size 5 --precision default --repetitions 5
You can run the existing tests with the following command
make test
OR manually using
pytest