| 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]