Bill Allombert on Fri, 23 Jan 2004 19:10:26 +0100 |
[Date Prev] [Date Next] [Thread Prev] [Thread Next] [Date Index] [Thread Index]
Re: qflll |
On Fri, Jan 23, 2004 at 06:20:30PM +0100, Denis Simon wrote: > > Hi, > > I suspect a problem with qflll with non integral entries: > GP/PARI CALCULATOR Version 2.2.8 (development CHANGES-1.896) > i686 running linux (ix86 kernel) 32-bit version > compiled: Jan 23 2004, gcc-3.2 (Mandrake Linux 9.0 3.2-1mdk) > ? qflll(Mat([1.,1.]),4) > *** not an integral matrix in lllgramint As far as I understand, flag=4 imply the entries ar integral: ? ??qflll qflll(x,{flag = 0}): ... If flag = 4, x is assumed to have integral entries, but needs not be of maximal rank. The result is a two-component vector of matrices: the columns of the first matrix represent a basis of the integer kernel of x (not necessarily LLL-reduced) and the second matrix is the transformation matrix T such that x.T is an LLL-reduced Z-basis of the image of the matrix x. So the behaviour is correct, barring the fact our error reporting system does not allow us to find the real GP name. Maybe the short help message could be improved, though: qflll(x,{flag=0}): LLL reduction of the vectors forming the matrix x (gives the unimodular transformation matrix). flag is optional, and can be 0: default, 1: lllint algorithm for integer matrices, 2: lllintpartial algorithm for integer matrices, 4: lllkerim giving the kernel and the LLL reduced image, 5: lllkerimgen same but if the matrix has polynomial coefficients, 8: lllgen, same as qflll when the coefficients are polynomials. Cheers, Bill.