Dear Nils, Thank you so much for your comments. I consider Matrix E=[I,M1], where I is identity matrix. Then reduction of E took 100 seconds. Hence I am not going any advantage.
Regards, Santanu On Mon, 28 Sep 2020 at 01:12, Nils Bruin <[email protected]> wrote: > You could do the same thing as you do with Gaussian elimination to track > the row operations: augment the matrix with an identity matrix. > In order for the augmentation to not affect your LLL reduction, you'd want > to multiply your original matrix by a large constant, so that the augmented > coordinates do not affect the norms significantly. > > On Sunday, September 27, 2020 at 11:20:28 AM UTC-7, Dima Pasechnik wrote: >> >> >> >> On Sun, 27 Sep 2020, 18:43 Santanu Sarkar, <[email protected]> wrote: >> >>> Dear Martin, >>> Thank you so much. It works! >>> Can we make it faster? >>> It took 17 seconds for my problem but >>> M1.LLL() took only 3 seconds. Of course I understand we >>> are calculating extra matrix U. >>> >> one needs to do some Cython programming, as suggested by >> the trac ticket mentioned above. >> >> >> >>> Thanks again for your help. >>> >>> Regards, >>> Santanu >>> >>> >>> >>> On Sun, 27 Sep 2020 at 20:45, 'Martin R. Albrecht' via sage-devel < >>> [email protected]> wrote: >>> >>>> 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 <[email protected]> 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 [email protected]. >>>> To view this discussion on the web visit >>>> https://groups.google.com/d/msgid/sage-devel/87h7rjmesx.fsf%40googlemail.com >>>> . >>>> >>> -- >>> 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 [email protected]. >>> To view this discussion on the web visit >>> https://groups.google.com/d/msgid/sage-devel/CAOe8sPLQ8%2BqnGwJq%3DCGTi5f-HcZAJc3%2Bgpe6sf-qASGnvPVRJw%40mail.gmail.com >>> <https://groups.google.com/d/msgid/sage-devel/CAOe8sPLQ8%2BqnGwJq%3DCGTi5f-HcZAJc3%2Bgpe6sf-qASGnvPVRJw%40mail.gmail.com?utm_medium=email&utm_source=footer> >>> . >>> >> -- > 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 [email protected]. > To view this discussion on the web visit > https://groups.google.com/d/msgid/sage-devel/7a0e4e01-74b0-4076-beb5-c8fc4dbb05eeo%40googlegroups.com > <https://groups.google.com/d/msgid/sage-devel/7a0e4e01-74b0-4076-beb5-c8fc4dbb05eeo%40googlegroups.com?utm_medium=email&utm_source=footer> > . > -- 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 [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/sage-devel/CAOe8sPKyH3UX3a3spPK2m_maZhPDUKwrALwrspbWgbxmyNHY_A%40mail.gmail.com.
