# Revision history [back]

Because you matrices are not square (hence not invertible), there may be many solutions, and given each propositions, you can actually check that the wanted equality holtds. I am not sure about you actual problems, but you can have a look at the pseudoinverse method:

sage: X = matrix(ZZ, [[5,2],[1,4],[2,3]]) ; X
[5 2]
[1 4]
[2 3]
sage: Y = X.LLL() ; Y
[ 0  0]
[ 1  0]
[ 0 -1]
sage: T = Y*X.pseudoinverse() ; T
[      0       0       0]
[  21/94 -51/470  -1/235]
[   4/47  -10/47   -5/47]


You can check:

sage: T*X == Y
True


Because you matrices are not square (hence not invertible), there may be many solutions, and given each propositions, you can actually check that the wanted equality holtds. holds. I am not sure about you actual problems, but you can have a look at the pseudoinverse method:

sage: X = matrix(ZZ, [[5,2],[1,4],[2,3]]) ; X
[5 2]
[1 4]
[2 3]
sage: Y = X.LLL() ; Y
[ 0  0]
[ 1  0]
[ 0 -1]
sage: T = Y*X.pseudoinverse() ; T
[      0       0       0]
[  21/94 -51/470  -1/235]
[   4/47  -10/47   -5/47]


You can check:

sage: T*X == Y
True