#algebra #svp #lattice-theory

adlo

Adaptive LLL algorithm for solving SVP

4 releases

0.1.3 Mar 10, 2025
0.1.2 Mar 10, 2025
0.1.1 Feb 18, 2025
0.1.0 Feb 14, 2025

#637 in Math

42 downloads per month

MIT license

11KB
172 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
~64K SLoC