Bill Allombert on Wed, 22 Jun 2005 14:01:13 +0200


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

Re: Galois test


On Fri, Jun 17, 2005 at 06:48:29AM -0500, Ariel Pacetti wrote:
> 
> 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).

(We assume P irreducible here)

In principle, you should be able to do that with nfgaloisconj().
Unfortunately, currently nfgaloisconj() is only reliable when it is
given a nf, but this is rather a bug than a feature.

If you only have a polynomial, the simplest way is to do:
#polcompositum(P,P)==poldegree(P)

Now, there are several speed-up: you can do
install("numberofconjugates","lGD0,L,");
numberofconjugates(P)==poldegree(P)

If it returns false, the number field is not Galois.
If it is return true the number field is very probably Galois.

If it is very probably Galois, you can check it with galoisinit():
trap(talker,0,galoisinit(P))!=0
If it return true, the number field is Galois.
If it return false, it might still be Galois, in that case you 
can check it with
#polcompositum(P,P)==poldegree(P)

In practice, you can just go ahead with galoisinit() and look at the
warning and error message to know what you should expect.

Cheers,
Bill.