#algebra #svp #lattice-theory

adlo

Adaptive LLL algorithm for solving SVP

5 releases

Uses new Rust 2024

0.1.4 Oct 21, 2025
0.1.3 Mar 10, 2025
0.1.2 Mar 10, 2025
0.1.1 Feb 18, 2025
0.1.0 Feb 14, 2025

#1436 in Math

MIT license

11KB
179 lines

Example

use adlo::*;
use nalgebra::{DVector, DMatrix};

fn basis_2d_test() {
       let mut basis_2d = vec![
           AdloVector::new(DVector::from_vec(vec![5, 3])),
           AdloVector::new(DVector::from_vec(vec![2, 2]))
        ];
       adaptive_lll(&mut basis_2d);
       let expected = AdloVector::new(DVector::from_vec(vec![1, -1]));
       assert_eq!(expected, basis_2d[basis_2d.len()-1]);
   }

adlo

Adaptive LLL algorithm for SVP research

Key Features

  • lovasz factor calculated based on density
  • n-dimensional vectors
  • multi-frame search (in-progress)

Getting Started

  • git clone https://github.com/kn0sys/adlo && cd adlo && cargo test

Dependencies

~3MB
~65K SLoC