Karim BELABAS on Tue, 22 Oct 2002 19:48:04 +0200 (MEST)

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

Re: polredabs(,16) for quadhilbertreal

On Mon, 21 Oct 2002, Igor Schein wrote:
> On Sat, Oct 19, 2002 at 06:42:20PM +0200, Bill Allombert wrote:
>> quadhilbertreal call polredabs0  via makescind via rnfpolredabs.
>> Should it be possible to use polredabs(,16) to avoid hanging on the factorization ?

Yes, I have made the necessary changes [ I had not implemented the relevant
portions of rnfpolredabs ].

> Based on my experience, as of current implementation, I wouldn't want
> to see it as a default, as long as it's not a default for polredabs()
> itself.  I've see polynomials where polredabs(,16) is a noop until
> you, say, increase primelimit.  So maybe, make lazy factorization a
> default for all related functions, but leave an option to do a
> complete one with a certain flag.  Or, even make lazy factorization a
> global default().  As long as there's consistency, I have no
> problem.

I think this is irrelevant for quadhilbert. The problem with partial (lazy)
factorisation is when a "large" prime actually divides the field
discriminant. In general (assume K = Q[X]/(P)), you write disc(P) = D * f^2,
and you know that

   v_p(disc(K)) <= v_p(D) for all p, with equality if p <= factorization bound

polredabs then LLL-reduces an order of discriminant D. If D >> disc(K), you
get little or no reduction.

For quadhilbert the ramification is under control, by definition, so the
fields which arise will have smooth discriminants and the above should never
occur [ until bnrstark() is able to treat huge conductors... ].

I've added the relevant nf_PARTIALFACT flags. Any regression ?

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/