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.

Reply via email to