The Galois theory of number fields deals with the group of automorphisms of a number field, the group of automorphisms of the normal closure of a number field and with the subfields of a given number field. While all three problems are, at least in theory, dealt with easily using the main theorems of Galois theory, they correspond to completely different and independent algorithmic problems.
The first task, that of computing automorphisms of normal extensions of Q (and of abelian extensions of number fields) can be thought of a special case of factorisation of polynomials over number fields: the automorphisms of a number field are in one-to-one correspondence with the roots of the defining equation in the field. However, the computation follows a different approach and is based on some combinatorial properties. It should be noted, though, that the algorithms only apply to normal fields; i.e., they cannot be used to find non-trivial automorphisms of non-normal fields!
The second task, namely that of computing the Galois group of the normal closure of a number field, is of course closely related to the problem of computing the Galois group of a polynomial. The method implemented in Magma allows the computation of Galois groups of polynomials (and number fields) of arbitrarily high degrees and is independent of the classification of transitive permutation groups. The result of the computation of a Galois group will be a permutation group acting on the roots of the (defining) polynomial, where the roots (or approximations of them) are explicitly computed in some suitable p-adic field; thus the splitting field is not (directly) part of the computation. The explicit action on the roots allows one, for example, to compute algebraic representations of arbitrary subfields of the splitting field, even the splitting field itself, provided the degree is not too large.
The last main task dealt with in this chapter is the computation of subfields of a number field. While of course this can be done using the main theorem of Galois theory (the correspondence between subgroups and subfields), the computation is completely independent; in fact, the computation of subfields is usually the first step in the computation of the Galois group. The algorithm used here is mainly combinatorical.
Finally, this chapter also deals with applications of the Galois theory:
Automorphism Groups
Automorphisms(F) : FldAlg -> [ Map ]
AutomorphismGroup(F) : FldAlg -> GrpPerm, PowMap, Map
Example RngOrdGal_Automorphisms (H38E1)
AutomorphismGroup(K, F) : FldAlg, FldAlg -> GrpPerm, PowMap, Map
DecompositionGroup(p) : RngIntElt -> GrpPerm
RamificationGroup(p, i) : RngOrdIdl, RngIntElt -> GrpPerm
RamificationGroup(p) : RngOrdIdl -> GrpPerm
InertiaGroup(p) : RngOrdIdl -> GrpPerm
FixedField(K, U) : FldAlg, GrpPerm -> FldNum, Map
FixedField(K, S) : FldAlg, [Map] -> FldNum, Map
FixedGroup(K, L) : FldAlg, FldAlg -> GrpPerm
FixedGroup(K, L) : FldAlg, [FldAlgElt] -> GrpPerm
FixedGroup(K, a) : FldAlg, FldAlgElt -> GrpPerm
DecompositionField(p) : RngOrdIdl -> FldNum, Map
RamificationField(p, i) : RngOrdIdl, RngIntElt -> FldNum, Map
RamificationField(p) : RngOrdIdl -> FldNum, Map
InertiaField(p) : RngOrdIdl -> FldNum, Map
Example RngOrdGal_Ramification (H38E2)
FrobeniusElement(K, p) : FldNum, RngIntElt -> GrpPermElt
Example RngOrdGal_nf-sig-FrobeniusElement (H38E3)
Galois Groups
GaloisGroup(f) : RngUPolElt[RngInt] -> GrpPerm, SeqEnum, GaloisData
GaloisGroup(K) : FldNum -> GrpPerm, SeqEnum, GaloisData
GaloisProof(f, S) : RngUPolElt, GaloisData -> BoolElt
GaloisRoot(f, i, S) : RngUPolElt, RngIntElt, GaloisData -> RngElt
GaloisRoot(i, S) : RngIntElt, GaloisData -> RngElt
Stauduhar(G, H, S, B) : GrpPerm, GrpPerm, GaloisData, RngIntElt -> RngIntElt, GrpPermElt, BoolElt, RngSLPolElt
IsInt(x, B, S) : RngElt, RngIntElt, GaloisData -> BoolElt, RngElt
Example RngOrdGal_GaloisGroups (H38E4)
Straight-line Polynomials
SLPolynomialRing(R, n) : Rng, RngIntElt -> RngSLPol
Name(R, i) : RngSLPol, RngIntElt -> RngSLPolElt
BaseRing(R) : RngSLPol -> Rng
Rank(R) : RngSLPol -> RngIntElt
SetEvaluationComparison(R, F, n) : RngSLPol, FldFin, RngIntElt ->
GetEvaluationComparison(R) : RngSLPol -> FldFin, RngIntElt
Derivative(x, i) : RngSLPolElt, RngIntElt -> RngSLPolElt
Invariants
GaloisGroupInvariant(G, H) : GrpPerm, GrpPerm -> RngSLPolElt
RelativeInvariant(G, H) : GrpPerm, GrpPerm -> RngSLPolElt
CombineInvariants(G, H1, H2, H3) : GrpPerm, Tup<GrpPerm, RngSLPolElt>, Tup<GrpPerm, RngSLPolElt>, GrpPerm -> RngSLPolElt
IsInvariant(F, p) : RngSLPolElt, GrpPermElt -> BoolElt
Bound(I, B) : RngSLPolElt, RngIntElt -> RngIntElt
Bound(I, B) : RngSLPolElt, RngElt -> RngElt
Subfields and Subfield Towers
GaloisSubgroup(K, U) : FldNum, GrpPerm -> FldNum, UserProgram
GaloisQuotient(K, Q) : FldNum, GrpPerm -> SeqEnum[FldNum]
GaloisSubfieldTower(S, L) : GaloisData, [GrpPerm] -> FldNum, [Tup<RngSLPolElt, RngUPolElt, [GrpPermElt]>], UserProgram, UserProgram
GaloisSplittingField(f) : RngUPolElt -> FldNum, [FldNumElt], GrpPerm, [[FldNumElt]]
Example RngOrdGal_galois-subfield (H38E5)
Solvability by Radicals
SolveByRadicals(f) : RngUPolElt -> FldNum, [FldNumElt], [FldNumElt]
CyclicToRadical(K, a, z) : FldNum, FldNumElt, RngElt -> FldNum, [FldNumElt], [FldNumElt]
Example RngOrdGal_solve-radical (H38E6)
Linear Relations
LinearRelations(f) : RngUPolElt -> Mtrx, GaloisData
LinearRelations(f, I) : RngUPolElt, [RngSLPolElt] -> Mtrx, GaloisData
VerifyRelation(f, F) : RngUPolElt, RngSLPolElt -> BoolElt
Example RngOrdGal_linear-relations (H38E7)
Other
ConjugatesToPowerSums(I) : [] -> []
PowerSumToElementarySymmetric(I) : [] -> []
Subfields
Subfields(K, n) : FldAlg, RngIntElt -> [ < FldAlg, Hom > ]
Subfields(K) : FldAlg -> [ < FldAlg, Hom > ]
The Subfield Lattice
SubfieldLattice(K) : FldNum -> SubFldLat
# L : SubFldLat -> RngIntElt
Bottom(L) : SubFldLat -> SubFldLatElt
Top(L) : SubFldLat -> SubFldLatElt
Random(L) : SubFldLat -> SubFldLatElt
L ! n : SubFldLat, RngIntElt -> SubFldLatElt
NumberField(e) : SubFldLatElt -> FldNum
EmbeddingMap(e) : SubFldLatElt -> Map
Degree(e) : SubFldLatElt -> RngIntElt
e eq f : SubFldLatElt, SubFldLatElt -> BoolElt
e subset f : SubFldLatElt, SubFldLatElt -> BoolElt
e * f : SubFldLatElt, SubFldLatElt -> SubFldLatElt
e meet f : SubFldLatElt, SubFldLatElt -> SubFldLatElt
&meet S : [ SubFldLatElt ] -> SubFldLatElt
MaximalSubfields(e) : SubFldLatElt -> [ SubFldLatElt ]
MinimalOverfields(e) : SubFldLatElt -> [ SubFldLatElt ]
Example RngOrdGal_SubfieldLattice (H38E8)
Galois Cohomology
Hilbert90(a, M) : FldNumElt, Map[FldNum, FldNum] -> FldNumElt
SUnitCohomologyProcess(S, U) : {RngOrdIdl}, GrpPerm -> {1}
IsGloballySplit(C, l) : , UserProgram -> BoolElt, UserProgram
IsSplitAsIdealAt(I, l) : RngOrdFracIdl, UserProgram -> BoolElt, UserProgram, [RngOrdIdl]
Bibliography
[Next][Prev] [Right] [____] [Up] [Index] [Root]
Version: V2.19 of
Mon Dec 17 14:40:36 EST 2012