Igor Schein on Tue, 10 Sep 2002 18:55:40 -0400


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

Re: bnfisnorm() broken again


On Tue, Sep 10, 2002 at 04:49:58PM +0200, Karim BELABAS wrote:
> On Mon, 9 Sep 2002, Igor Schein wrote:
> > On Tue, Sep 10, 2002 at 03:38:40AM +0200, Karim BELABAS wrote:
> > > On Mon, 9 Sep 2002, Igor Schein wrote:
> > > > ? bnfisnorm(bnfinit(x^3-2),5)
> > > >   ***   division by zero in dvmdii
> > >
> > > A few oversights in the new implementation of rnfisnorm in the non-Galois
> > > case [had forgotten to test it over Q except for quadratic fields...]
> > >
> > > Fixed.
> >
> > How about this:
> >
> > ? bnfisnorm(bnfinit(x^3-x-1),13)
> >   ***   incorrect type in lift.
> 
> Right, the special case where the solution is trivial (rnfisnorm(x) --> [1,x]).
> The code over Q in bnfisnorm() did not handle it properly.
> 
> Note: in the CVS code, bnfisnorm is quite useless  [ it used to be justified
> by the weird input format for rnfisnorm ].
> 
>   N = rnfisnorminit(y, x^3-x-1); [ or rnfisnorminit(y, bnf) if you wish ]
>   rnfisnorm(N, 13);
> 
> works just as well. And is faster since bnfisnorm is a trivial wrapper for
> the above code anyway [ N is (a little) costly to compute, esp. if you give
> bnfisnorm a bnf which is Galois over Q, and do not use the right flag to
> mention that fact ].

? rnfisnorm(rnfisnorminit(y^2 + 29*y + 21,x^3 - 10*x^2 - 3*x - 5),2)
  ***   precision too low in isunit.

Looks like internal precision is used to compute units, and user
cannot influence it. Also, I can't figure out which flags to use to
speed up rnfisnorminit() in the example above.

Thanks

Igor