Karim Belabas on Mon, 01 Mar 2004 15:10:49 +0100


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

Re: bnfsunit


* Olivier Wittenberg [2004-03-01 14:54]:
> bnfinit has an option (flag 1) to force the computation of a system of
> fundamental units, but bnfsunit doesn't have one. I guess that's why
> bnfsunit sometimes aborts with "missing units in bnfnewprec" (I'm
> using Pari 2.2.7 alpha). Is there a good reason for this discrepancy ?
> How can I otherwise force the computation of a system of fundamental
> S-units ?

bnfsunit's first argument is a bnf. When you get this message, just make sure
that this bnf contains fundamental units. E.g

  bnf = bnfinit(pol, 1);
  bnfsunit(bnf, S)

The units in exact form are a priori not needed for this computation. You get
the error when the input is known to insufficient accuracy and some data
needs to be recomputed to higher precision. For _this_ the exact units are
needed.

Note that computing fundamental units in exact form may be a very costly
process ( a theorem of Lenstra says the units are generated by elements of
small height, but the generators of a _minimal_ system have huge height
if the regulator is large )

Cheers,

    Karim.
-- 
Karim Belabas                     Tel: (+33) (0)1 69 15 57 48
Dep. de Mathematiques, Bat. 425   Fax: (+33) (0)1 69 15 60 19
Universite Paris-Sud              http://www.math.u-psud.fr/~belabas/ 
F-91405 Orsay (France)            http://pari.math.u-bordeaux.fr/  [PARI/GP]