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 [email protected]
- 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