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