# 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.