Karim BELABAS on Wed, 14 May 2003 19:38:13 +0200 (MEST)

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

Re: partial factorization

On Wed, 14 May 2003, Igor Schein wrote:
> I am aware of the following functions which support partial
> factorization of discriminant, internally or through an optional flag:
> galoisinit
> nfdisc
> polred
> polredabs

You forgot nfbasis. It's the key to what you want (see below).

> nfinit and bnfinit don't.

They do.

  bas = nfbasis(pol, 1);
  nf  = nfinit( [pol, bas] );
  bnf = bnfinit(nf);

Btw, the [pol, bas] argument is OK for polred and polredabs also
(not galoisinit).

> I was wondering, is it possible to enable
> PF for them, or is there a prohibitive reason not to do that?

Everything exists internally, the only problem is backward compatibility
and silly old GP flags. There are already a few places in the code like

  /* FIXME: backward compatibility */
  #define red_PARTIAL 1
  #define red_ORIG    2

  /* FIXME: backward compatibility. Should use the proper nf_* equivalents */
  #define compat_PARTIAL 1
  #define compat_ROUND2  2

These correspond to external GP flags allocated and hardcoded a long time
ago with little consistency. They are translated internally to the proper
flags from nf.h used throughout the library...


Karim Belabas                     Tel: (+33) (0)1 69 15 57 48
Dép. de Mathématiques, Bât. 425   Fax: (+33) (0)1 69 15 60 19
Université Paris-Sud              http://www.math.u-psud.fr/~belabas/
F-91405 Orsay (France)            http://www.parigp-home.de/  [PARI/GP]