next | previous | forward | backward | up | top | index | toc | Macaulay2 web site

LLL(..., ChangeMatrix => ...) -- also find change of basis matrix

Synopsis

Description

Constructs the change of basis matrix U from the basis A to the basis B. This is an invertible matrix U such thatAU = B.
i1 : A = matrix randomMutableMatrix(10,10,.5,100000)

o1 = | 0 93561  -44443 -47750 -21514 -68142 0      0      0      879    |
     | 0 6131   0      0      0      99066  -49788 0      -9612  -86060 |
     | 0 -98374 0      -99398 67673  0      -68457 69358  0      3764   |
     | 0 -41161 0      -71281 0      -95466 89558  2822   0      0      |
     | 0 0      53688  91704  0      -54824 29432  0      -63172 -51768 |
     | 0 95160  -78713 -11469 0      -8308  0      0      7034   0      |
     | 0 -44234 0      0      0      -70903 65423  0      9959   0      |
     | 0 0      -23812 0      -72242 -18565 57908  0      0      0      |
     | 0 0      66164  32238  91275  0      -22175 -58528 0      25043  |
     | 0 26552  -43168 0      49350  17861  0      -85931 0      58261  |

              10        10
o1 : Matrix ZZ   <--- ZZ
i2 : (B,U) = LLL(A, ChangeMatrix=>true)

o2 = (| 0 0      29605  -44443 -67263 -879   -24821 20392  879    24821  |, |
      | 0 -9612  -11427 -9612  -27170 76448  0      -68502 -76448 59400  |  |
      | 0 0      5689   0      4665   -73122 37633  -30941 3764   30824  |  |
      | 0 0      27034  0      -3086  -2822  -68459 -65373 0      -21099 |  |
      | 0 -63172 11168  -9484  -13988 -11404 38016  -9248  11404  -4276  |  |
      | 0 7034   5540   -71679 -15342 7034   67244  10907  -7034  -74278 |  |
      | 0 9959   -69632 9959   -15439 9959   0      25398  -9959  -75382 |  |
      | 0 0      15531  -23812 39343  0      -48430 -39343 0      -9478  |  |
      | 0 0      -21734 66164  -55660 33485  -1179  54413  25043  23354  |  |
      | 0 0      -26425 -43168 -9809  27670  6587   -17861 58261  -6587  |  |
     ------------------------------------------------------------------------
     1 0 0  0 0  0  0  0  0  0  |)
     0 0 1  0 0  0  0  0  0  0  |
     0 0 1  1 0  0  -1 0  0  1  |
     0 0 -1 0 0  0  1  1  0  -1 |
     0 0 0  0 0  0  1  0  0  -1 |
     0 0 1  0 1  0  0  -1 0  0  |
     0 0 1  0 1  0  0  -1 0  -1 |
     0 0 1  0 1  -1 1  0  0  -1 |
     0 1 -2 1 -1 1  0  2  -1 -1 |
     0 0 1  0 1  -1 0  0  1  0  |

o2 : Sequence
i3 : B == A*U

o3 = true

Further information

See also