[GAP Forum] bug in LLLReducedGramMat? II
Benjamin Sambale
benjamin.sambale at gmail.com
Sun Nov 1 20:24:59 GMT 2015
Thanks for the suggestion to add a scaled identity matrix, this is a
good idea. Just to clarify: my last email wasn't meant as a follow-up
question. I totally understand that LLL will not work for non Gram
matrices. But I was very confused to get this misleading error message
for one particular example while at the same time other non Gram
matrices give no error. If I had observed this earlier, I would not have
sent any email to the list.
Best wishes,
Benjamin
Am 31.10.2015 um 11:35 schrieb Dima Pasechnik:
> On Sat, Oct 31, 2015 at 07:29:50AM +0100, Benjamin Sambale wrote:
>> Yes, that is basically what I mean. Usually, I'm not interested in
>> basis vectors of lattices. I just want to transform a symmetric
>> matrix M via SMS^t so that the resulting matrix has "nicer" shape.
> Well, define "nicer"...
>
>> In this sense the following non-semidefinite matrix "works"
>> perfectly:
>>
>> LLLReducedGramMat([[1,2],[2,1]]);
>> rec( B := [ -3, 1 ], mue := [ [ ], [ 0 ] ], relations := [ ],
>> remainder := [ [ -3, 0 ], [ 0, 1 ] ], transformation := [ [ -2, 1 ],
>> [ 1, 0 ] ] )
>>
> You can add sufficently scaled indentity matrix to the input, and then subtract the
> term resulting from it from the output. Of course this is an heuristic, but we seem to
> be doing heuristics here.
>
> Cheers,
> Dima
>
>
>> Best,
>> Benjamin
>>
>> Am 31.10.2015 um 00:33 schrieb Dima Pasechnik:
>>> On Fri, Oct 30, 2015 at 11:23:40PM +0100, Bill Allombert wrote:
>>>> On Fri, Oct 30, 2015 at 09:11:15PM +0100, Benjamin Sambale wrote:
>>>>> Meanwhile, I figured that M in my last email is not positive
>>>>> semidefinite, and so it is not a Gram matrix as required in the
>>>>> manual. But since many other non-semidefinite matrices do work, one
>>>>> should at least change the error message.
>>>> I am curious, how do you define 'work' ?
>>> check this out:
>>>
>>> gap> M:=[[0,1],[1,0]];
>>> [ [ 0, 1 ], [ 1, 0 ] ]
>>> gap> LLLReducedGramMat(M);
>>> rec( B := [ ], mue := [ ], relations := [ [ 1, 0 ], [ 0, 1 ] ], remainder := [ ], transformation := [ ] )
>>> gap>
>>>
>>> I suppose "works" means "returns stuff", or "gives up silently"
>>> rather than "throws an error"
>>>
>>> Dima
>>>
>>> _______________________________________________
>>> Forum mailing list
>>> Forum at mail.gap-system.org
>>> http://mail.gap-system.org/mailman/listinfo/forum
>>>
More information about the Forum
mailing list