Igor Schein on Mon, 28 Jun 2004 17:46:07 +0200

 Re: Pari Bug?

```On Mon, Jun 28, 2004 at 10:13:00AM -0500, Ariel Pacetti wrote:
>
> Hello all, I am using Pari Version 2.2.8 (development CHANGES-1.933) and I
> got a bug while running lindep (may be it is fixed in newer releases?).
> I tried the following:
>
> ? lindep([1,6.348214152801700870570350624,40.29982292983181672909356457])
> %1 = 154682609.25227220650
>
> ??? If the precision is not enough at least the answer should be a vector.
> What is the meaning of this number?

\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
? ??lindep
lindep(x,{flag = 0}):

x being a vector with real or complex coefficients, finds a small integral linear combination among these coefficients.

If flag = 0, uses the PSLQ algorithm. This may return a real number B, indicating that the input accuracy was exhausted and that no relation exist whose sup norm is less than B.

If flag = -1, uses a variant of the LLL algorithm due to Hastad, Lagarias and Schnorr (STACS 1986). If the precision is too low, the routine may enter an infinite loop.

If flag = -2, x is allowed to be (and in any case interpreted as) a matrix. Returns a non trivial element of the kernel of x, or 0 if x has trivial kernel. The element is defined over the field of coefficients of x, and is in general not integral.

If flag > 0, uses the LLL algorithm. |flag| is a parameter which should be between 0.6 and 0.9 times the number of correct decimal digits in the input. This is in general faster than the other variants. See the example in lindep section.

The library syntax is lindep0(x,flag,prec). Also available is lindep(x,prec) (flag = 0).
\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\

So this behavior is documented, and you have an option of getting