Karim Belabas on Fri, 17 Jun 2005 18:39:09 +0200


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

Re: Galois test


* Igor Schein [2005-06-17 17:47]:
> On Fri, Jun 17, 2005 at 03:38:56PM +0200, Karim Belabas wrote:
>> * Ariel Pacetti [2005-06-17 13:56]:
>>> Is there a routine for checking wether a number field extension is Galois?
>>> I couldn´t find one, but probably there is some "naive" way to do that
>>> like:
>>>
>>> nffactor(nfinit(P),P)
>>>
>>> and check wether all the factors have degree one or not. Is there a better
>>> (or faster) way? (like no using nfinit which takes too long if the
>>> polynomial is big enough).
>>
>> There's no built-in routine.  You may
>>
>> -- check factorisation pattern mod a few primes first, which quickly
>>    weeds out (most) non-Galois fields.
>>
>> -- use nfroots instead of nffactor (smaller bounds used).
>>
>> -- possibly use factornf when you want to skip the 'nfinit' part.
>>
>> -- still use nfinit _but_ read
>>
>>      http://www.math.u-psud.fr/~belabas/pari/doc/faq.html#nfpartialfact
>>
>>    first. In particular the following hack is often helpful:
>>
>>         nfinitpartial(P) = nfinit( [P, nfbasis(P,1)] )
>
> I am using the following function:
>
> isgalois(pol, gal) = if(polisirreducible(pol),if(!gal,gal=nfgaloisconj(pol,4));if(#Set(gal)==poldegree(pol),return(1)));return(0)

1) This returns the wrong answer if the Galois group is not weakly super
solvable (it's OK in degree < 36, then...).

2) Why do you need #Set(gal) instead of #gal ?

    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]