Re: Error in qfauto() && Happy New Year

Karim Belabas <[email protected]>
Newsgroups gmane.comp.mathematics.pari.devel
Message-ID <[email protected]>
* Georgi Guninski [2022-01-01 19:11]:
> On Sat, Jan 1, 2022 at 5:36 PM Karim Belabas
> <[email protected]> wrote:
>> Bad Input Bug: M1 must be a positive definite quadratic form, but
>>
>> (16:33) gp > qfsign(M1)
>> %1 = [7, 3]
> 
> Looks like there is some protection against PD:
> 
> ? M0=[1,0;0,0];qfauto(M0,M0)
>   ***   at top-level: M0=[1,0;0,0];qfauto(M0,M0)
>   ***                              ^-------------
>   *** qfauto: domain error in qfisom: form is not positive definite
>   ***   Break loop: type 'break' to go back to GP prompt

This is not a foolproof protection (as your other example shows), only a
trivial sanity check. When the matrix is only positive (but need not have
maximal rank), the preliminary functions we use do finish correctly AND
determine whether the form is positive definite, for free. When there is
a negative eigenvalue, nothing is guaranteed and the preliminary
function will usually fail...

We *could* slow down slightly the function by always including a
preliminary call to qfsign(), but we made a general PARI/GP design decision
not to add sanity checks that do not come entirely for free, see

  http://pari.math.u-bordeaux.fr/faq.html#BIB

Cheers,

    K.B.
--
Karim Belabas, IMB (UMR 5251)  Tel: (+33) (0)5 40 00 26 17
Universite de Bordeaux         Fax: (+33) (0)5 40 00 21 23
351, cours de la Liberation    http://www.math.u-bordeaux.fr/~kbelabas/
F-33405 Talence (France)       http://pari.math.u-bordeaux.fr/  [PARI/GP]
`
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.