LLLReductionΒΆ

lll.spad line 1 [edit on github]

This package implements LLL reduction. Before use user must set appropriate floating point precision. Too low precision may cause nontermination. Higher precisions require more compute time.

extendedLLL!: (Matrix Integer, NonNegativeInteger) -> Matrix Integer

extendedLLL!(m, n) with 1 <= n <= ncols(m) performs the LLL reduction of m where only the first n columns are considered significant. All matrix transformations, however, will be executed on the full matrix. m is destructively modified and will be lost after this call.

extendedLLL: Matrix Integer -> Record(lll: Matrix Integer, trf: Matrix Integer)

extendedLLL(m) returns the LLL reductions of m together with the transformation matrix, i.e. if [l, t] is returned then it holds l = t*m.

find_relation: (List Float, NonNegativeInteger) -> List Integer

find_relation(lf, k) finds short integer relation between elements of lf rounded to k decimal places.

LLL: Matrix Integer -> Matrix Integer

LLL(m) computes LLL reduction of m LLL(m) is the same as extendedLLL!(copy m, ncols m).