#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

#568 in Math

Download history 162/week @ 2025-02-12 68/week @ 2025-02-19 25/week @ 2025-02-26 165/week @ 2025-03-05 62/week @ 2025-03-12

376 downloads per month

MIT license

11KB
172 lines

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

lib.rs:

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]);
   } 

Dependencies

~3MB
~64K SLoC