This function is provided by the package
LLLBases.
If the matrix is not in LLL reduced form, then the offending conditions are displayed. For example,
i1 : m = matrix {{1, 0}, {1, 1}, {1, 2}, {1, 3}}
o1 = | 1 0 |
| 1 1 |
| 1 2 |
| 1 3 |
4 2
o1 : Matrix ZZ <--- ZZ
|
i2 : isLLL m
LLL size failure 1,0: 1.5
LLL Lovasz failure 1: -0.833333
o2 = false
|
i3 : n = LLL m
o3 = | 1 -1 |
| 1 0 |
| 1 1 |
| 1 2 |
4 2
o3 : Matrix ZZ <--- ZZ
|
i4 : isLLL n
o4 = true
|
If the optional argument Threshold is given, the conditions are checked using that value.
i5 : m = matrix {{1, 0}, {1, 1}, {1, 2}, {1, 3}}
o5 = | 1 0 |
| 1 1 |
| 1 2 |
| 1 3 |
4 2
o5 : Matrix ZZ <--- ZZ
|
i6 : isLLL(m, Threshold=>1)
LLL size failure 1,0: 1.5
LLL Lovasz failure 1: -1.
o6 = false
|