Karim BELABAS on Thu, 5 Sep 2002 23:04:33 +0200 (MEST)

[Date Prev] [Date Next] [Thread Prev] [Thread Next] [Date Index] [Thread Index]

Re: rnfisnorm

On Mon, 2 Sep 2002, Martin Bright wrote:
> I'm encountering strange behaviour with rnfisnorm in GP/PARI 2.2.3.  The
> example in the manual works fine, but if I change it a bit:
> ? bnf = bnfinit(y^2-35);
> ? p = x^2-42;
> ? rnf = rnfequation(bnf,p,1);
> ? ext = [p, rnf[2], bnfinit(rnf[1])];
> ? rnfisnorm(bnf,ext,10,0)
>   ***   inconsistent data in inverseimage.
> ? rnfisnorm(bnf,ext,17,0)
>   ***   bug in GP (Segmentation Fault), please report
> Am I doing something stupid, or should it work?

I had never checked that function. As it stands, rnfisnorm is badly broken [I
could even crash gp playing with it]. This is true in all versions of PARI
featuring this routine, not only the 2.2.3-alpha...

The "ext" paremeter described in the manual does not make sense.
One needs to set

  ext = [p, rnf[3], bnfinit(rnf[1])];
               ^^^--------------------  _not_ rnf[2]


  to patch the function [ because rnf[3] is used in quite a different way
than (the useless) rnf[2] would ].

I have fixed this in the unstable CVS  [and don't want to backport this yet].
Since you are testing an alpha version of PARI, you might as well update from
CVS and get an up to date development version.

Thanks for spotting this!


P.S: It makes more sense to introduce rnfisnorminit(bnf, p) as in

  S = rnfisnorminit(bnf, p)  \\ black box encapsulating everything we need
  rnfisnorm(S, x, flag)  \\ solve Ny = x for arbitrary RHS

Since the function never worked, I'm not breaking backward compatibility by
changing the interface, and it's more convenient this way. I will do this

P.S2: There is a special case where the function _would_ work: iff rnf[3] is 0.
[ that is iff Res_Y(bnf.pol(Y), p(X,Y)) is squarefree, which is never the
case if p does not depend from Y (unless bnf = Q) ]
Karim Belabas                    Tel: (+33) (0)1 69 15 57 48
Dép. de Mathematiques, Bat. 425  Fax: (+33) (0)1 69 15 60 19
Université Paris-Sud             Email: Karim.Belabas@math.u-psud.fr
F-91405 Orsay (France)           http://www.math.u-psud.fr/~belabas/
PARI/GP Home Page: http://www.parigp-home.de/