Hi there, This should do the trick:
sage: from fpylll import * sage: A = random_matrix(ZZ, 6, 90) sage: U = IntegerMatrix.identity(6) sage: B = LLL.reduction(IntegerMatrix.from_matrix(A), U).to_matrix(matrix(ZZ, 6, 90)) sage: U = U.to_matrix(matrix(ZZ, 6,6)) sage: B == U*A True sage: abs(U.det()) 1 Cheers, Martin Santanu Sarkar <sarkar.santanu....@gmail.com> writes: > Dear all, > I have a matrix M1 with integer entries with 90 rows and 6 columns. > After applying LLL algorithm of M1, I get M2=M1.LLL(). I want to get > corresponding unimodular transformation matrix T such that > T*M1=M2. We can find T by > T=M2*M1.pseudoinverse() or T== M1.solve_left(M2), but determinant of T > becomes 0 i.e., T.det()=0. > I want T.det()=1. > > Best regards, > Santanu -- _pgp: https://keybase.io/martinralbrecht _www: https://malb.io -- You received this message because you are subscribed to the Google Groups "sage-devel" group. To unsubscribe from this group and stop receiving emails from it, send an email to sage-devel+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/sage-devel/87h7rjmesx.fsf%40googlemail.com.