This paper was converted on www.awesomepapers.org from LaTeX by an anonymous user.
Want to know more? Visit the Converter page.

Constructions using Galois Theory

Claus Fieker Fachbereich Mathematik, Universität Kaiserslautern, Germany fieker@mathematik.uni-kl.de  and  Nicole Sutherland Computational Algebra Group, School of Mathematics and Statistics, University of Sydney, Australia nicole.sutherland@sydney.edu.au
Abstract.

We describe algorithms to compute fixed fields, splitting fields and towers of radical extensions without using polynomial factorisation in towers or constructing any field containing the splitting field, instead extending Galois group computations for this task. We also describe the computation of geometric Galois groups (monodromy groups) and their use in computing absolute factorizations.

Key words and phrases:
Galois Groups, Fixed Fields, Splitting Fields, Radical extensions
2020 Mathematics Subject Classification:
Primary 11R32 11Y40 12F10; Secondary 12F12

1. Introduction

This article discusses some computational applications of Galois groups. The main Galois group algorithm we use has been previously discussed in [FK14] for number fields and [Sut15, KS21] for function fields. These papers, respectively, detail an algorithm which has no degree restrictions on input polynomials and adaptations of this algorithm for polynomials over function fields. Some of these details are reused in this paper and we will refer to the appropriate sections of the previous papers when this occurs.

As the Galois group algorithms used are not theoretically degree restricted, neither are the algorithms we describe here for computing splitting fields. Most Galois group algorithms developed prior to [FK14, Sut15, KS21] used tabulated information and were limited in both theory and practice.

Galois Theory began in an attempt to solve polynomial equations by radicals. As Galois groups in general correspond to splitting fields, it is worthwhile to consider how the computation of a Galois group can aid the construction of such fields. In particular, in solving a polynomial by radicals we compute a tower of radical extensions as a splitting field. Algorithm 2 constructs splitting fields as towers of extensions using the Galois group and can also be used to compute a tower of radical extensions if the Galois group of a given polynomial is soluble (Algorithm 5).

A splitting field as a single extension can be computed as a fixed field (Algorithm 1), however, we go further in stating an algorithm which computes a splitting field as a tower of extensions of the coefficient field of a polynomial in Section 4. The computation of the defining polynomials for the extensions in this tower, described in Algorithm 4, is the main contribution of Section 4 and indeed this paper. These defining polynomials are also proved to be correct (Theorem 5) as well as the splitting fields which are defined by them (Theorem 6).

The use of Algorithm 2 to compute a tower of radical extensions is described in Section 5. First though, we consider the simpler computation of fixed fields of subgroups of Galois groups in Section 3.

Another Galois group computation is that of computing a geometric Galois group, the Galois group of a polynomial ff over (t)\mathbb{Q}(t) considered as a polynomial over (t)\mathbb{C}(t), discussed in Section 6. This is also known as the monodromy group of the bi-variate polynomial with applications in algebraic geometry. Geometric Galois groups help us compute the absolute factorization of a polynomial over (t)\mathbb{Q}(t) (Section 6.5).

The computations mentioned are available in Magma [CBFS19] for some coefficient rings. Examples in this paper are illustrated using Magma.

We begin with some definitions for easy reference.

Definition 1.

A splitting field SfS_{f} of a polynomial fF[x]f\in F[x] is a field, of minimal degree over the field ff, over which ff can be factorized into linear factors.

Definition 2.

The Galois group, Gal(f)\mathop{\mathrm{Gal}}\nolimits(f), of a polynomial ff over a field FF is the automorphism group of Sf/FS_{f}/F where SfS_{f} is a splitting field of ff over FF. Elements of Gal(f)\mathop{\mathrm{Gal}}\nolimits(f) permute the roots of ff.

Invariants and resolvents are an important part of our algorithms. Invariants are discussed extensively in [FK14, Sut15]. Let RR be a commutative unitary domain and I(x1,xn)R[x1,xn]I(x_{1},\ldots x_{n})\in R[x_{1},\ldots x_{n}]. A permutation τSym(n)\tau\in\mathop{\mathrm{Sym}}\nolimits(n) acts on II by permuting x1,xnx_{1}\ldots,x_{n} and we write IτI^{\tau} for this action.

Definition 3.

A polynomial I(x1,,xn)R[x1,,xn]I(x_{1},\ldots,x_{n})\in R[x_{1},\ldots,x_{n}] such that Iτ=II^{\tau}=I for all τH\tau\in H for some group HSnH\subseteq S_{n} is said to be HH-invariant.

When HGH\subset G, a HH-invariant polynomial I(x1,,xn)R[x1,,xn]I(x_{1},\ldots,x_{n})\in R[x_{1},\ldots,x_{n}] is a GG-relative HH-invariant polynomial if StabGI=H\mathop{\mathrm{Stab}}\nolimits_{G}I=H.

For a GG-relative HH-invariant polynomial II,

Q(G,H)(y)=τG//H(yIτ(x1,,xn)),Q_{(G,H)}(y)=\prod_{\tau\in G//H}(y-I^{\tau}(x_{1},\ldots,x_{n})),

is a GG-relative HH-invariant resolvent polynomial where G//HG//H denotes a right transversal, a system of representatives for the right cosets HτH\tau.

To ensure, when necessary, that a resolvent polynomial has a root in FF which is a single root, as used in [Sta73, Theorem 5], a suitable Tschirnhausen transformation can be applied to all variables of the invariant we are using, giving a change of variable ([Tig01] Section 6.4). For more information see [Sut15, Section 3.7].

2. Galois Group Computation

All our algorithms here depend on the following infrastructure constructed to compute Galois groups in the first place. Here we summarize the results we are going to use: Starting with a polynomial fF[x]f\in F[x] for a field FF where we can do computations, we assume

  1. (1)

    an oracle to compute approximations to the roots of ff in a constructive field, e.g. for F=F=\mathbb{Q}, this will be an unramified extension of a pp-adic field, for F=𝔽q(t)F=\mathbb{F}_{q}(t) this will be a Laurent-series field over an extension of 𝔽q\mathbb{F}_{q}. In general, this is a completion at a finite place.

  2. (2)

    an oracle that bounds the size of all roots in a “canonical” field corresponding to the completions at the infinite places

  3. (3)

    an oracle to “lift” or reconstruct elements in FF from elements in the finite completions and a bound on the size in the infinite completions.

  4. (4)

    given any subgroup UU of the Galois group and any maximal subgroup HH of UU, find a UU-relative HH-invariant with integral coefficients.

  5. (5)

    given any invariant find a bound on the size of the evaluation at the roots in the infinite completions in any ordering

Those oracles are readily available from the implementation in Magma and described in [FK14, Sut15, KS21].

3. Fixed Fields

The Fundamental Theorem of Galois Theory displays a correspondence between subgroups of Galois groups and their fixed fields. We state the following algorithm to compute fixed fields of subgroups UU of these Galois groups.

The computation is similar to the computation of the Galois group. We compute an invariant and roots to some useful precision and from this we can compute a polynomial with at least one root fixed by UU and with degree that of the index of UU in GG. If UU is smaller than the Galois group then none of the roots will lie in the coefficient ring of ff. This polynomial will define the fixed field of the given subgroup and can be mapped back to be over the coefficient ring of the original polynomial.

Algorithm 1 (Compute a Fixed Field of a subgroup of a Galois group ([FK06])).

Given a subgroup UG=Gal(f),fF[x]U\subseteq G=\mathop{\mathrm{Gal}}\nolimits(f),f\in F[x], where FF may be ,(α),𝔽q(t),𝔽q(t)(α)\mathbb{Q},\mathbb{Q}(\alpha),\mathbb{F}_{q}(t),\mathbb{F}_{q}(t)(\alpha) or (t)\mathbb{Q}(t), compute the subfield of Sf/FS_{f}/F fixed by UU.

  1. (1)

    Compute a GG-relative UU-invariant polynomial II.

  2. (2)

    Compute a right transversal G//UG//U.

  3. (3)

    Compute a bound BB on the evaluation of II at the roots {ri}i=1n\{r_{i}\}_{i=1}^{n} and compute the roots to a precision that allows the bound BB to be used.

  4. (4)

    Compute the polynomial gg with roots {Iτ(r1,,rn):τG//U}.\{I^{\tau}(r_{1},\ldots,r_{n}):\tau\in G//U\}.

  5. (5)

    Map the coefficients of gg back to the coefficient ring of ff using BB. The resulting polynomial defines the fixed field of UU.

For more information on Step 3 and 5 see [Sut15, Sections 3.8 and 3.2.1].

Note, here and in subsequent algorithms, we reconstruct a polynomial from its roots. Given that the roots are only known in approximation, we need to find a size–bound in order to deduce a precision so that the above oracles can recover the exact data. Using the fact that the coefficients are elementary symmetric functions in the roots, bounds are immediate. The bounds depend on the degree and, in characteristic zero, the number of monomials to be added.

Theorem 4.

Algorithm 1 computes the fixed field of a subgroup UGal(f),fF[x]U\subseteq\mathop{\mathrm{Gal}}\nolimits(f),f\in F[x] where FF may be ,(α),𝔽q(t),𝔽q(t)(α)\mathbb{Q},\mathbb{Q}(\alpha),\mathbb{F}_{q}(t),\mathbb{F}_{q}(t)(\alpha) or (t)\mathbb{Q}(t).

Proof.

Let UFU^{F} be the fixed field of UU. Each element γSf\gamma\in S_{f} can be written as some polynomial in the roots of ff, that is, as γ=I(r1,,rn)\gamma=I(r_{1},\ldots,r_{n}) for some polynomial II. Let σU\sigma\in U, then σ(γ)=Iσ(r1,,rn)\sigma(\gamma)=I^{\sigma}(r_{1},\ldots,r_{n}) so that σ(γ)=γ\sigma(\gamma)=\gamma and γUF\gamma\in U^{F} when II is UU-invariant. If II is not UU-invariant then IIσI\not=I^{\sigma} and σ(γ)γ\sigma(\gamma)\not=\gamma and so γUF\gamma\not\in U^{F}.

Now let II be a GG-relative UU-invariant polynomial and UFβ=Iτ(r1,,rn)U^{F}\ni\beta=I^{\tau}(r_{1},\ldots,r_{n}) be a root of gg. Since II is UU-invariant at least the identity coset will correspond to an element fixed by UU. Either β\beta generates UFU^{F} and gg is its minimal polynomial and is therefore irreducible or β\beta generates a subfield of UFU^{F} and gg is reducible. Suppose β\beta generates a subfield of UFU^{F}, then β\beta is an element of that subfield which is contained in UFU^{F}. But this subfield will be a fixed field for a group containing UU and II will be invariant outside of UU and hence not a GG-relative invariant. Therefore, β\beta does not generate a subfield of UFU^{F} and generates UFU^{F} itself.

Theorem 4 of [Sta73] guarantees that gg can be mapped back to FF.

The correct bound and precision as discussed in [Sut15, Section 3.8] ensures the accuracy of the polynomial gg.

 

Example 1.

We see that a defining polynomial for a fixed field can be computed fairly quickly.

> Fqt<t> := FunctionField(GF(101));
> P<x> := PolynomialRing(Fqt);
> f := x^6 + 98*t*x^4 + (2*t + 2)*x^3 + 3*t^2*x^2 +
>           (6*t^2 + 6*t)*x + 100*t^3 + t^2 + 2*t + 1;
> time G, _, S := GaloisGroup(f); G;
Time: 0.280
Permutation group G acting on a set of cardinality 6
Order = 12 = 2^2 * 3
    (2, 3)(5, 6)
    (1, 2)(4, 5)
    (1, 4)(2, 5)(3, 6)
> subg := NormalSubgroups(G : IsTransitive);

We take a normal subgroup of GG in a conjugacy class with C6C_{6}.

> TransitiveGroupDescription(subg[1]‘subgroup);
C(6) = 6 = 3[x]2
> time Polynomial(Fqt, a), b where
>              a, b := GaloisSubgroup(S, subg[2]‘subgroup);
x^2 + 93*t^3 + 85*t^2 + 93*t
((((x2 + x5) - (x3 + x6)) * (((x1 + x4) - (x2 + x5)) *
((x1 + x4) - (x3 + x6)))) * ((x1 + (x2 + x3)) - (x4 + (x5 + x6))))
Time: 0.010

 

3.1. Galois Quotients

For any subgroup UU of G=Gal(f)G=\mathop{\mathrm{Gal}}\nolimits(f), GG naturally acts on G/UG/U. The image QQ under this action is the Galois group of the fixed field of UU. Now given a (potential) quotient group QQ, Magma is able to find all homomorphisms of GG onto QQ, thus all possible subgroups UU inducing them. The fields fixed by UU will have Galois group isomorphic to QQ.

  1. (1)

    computing all subgroups of Gal(f)\mathop{\mathrm{Gal}}\nolimits(f) with order equal to the quotient of the order of Gal(f)\mathop{\mathrm{Gal}}\nolimits(f) and the degree of QQ.

  2. (2)

    determining for which of these subgroups UU the permutation action of Gal(f)\mathop{\mathrm{Gal}}\nolimits(f) on the cosets Gal(f)/U\mathop{\mathrm{Gal}}\nolimits(f)/U is isomorphic to QQ and

  3. (3)

    applying Algorithm 1 to these subgroups.


 

Example 2.

We illustrate the use of the quotients by continuing Example 1.

> time GaloisQuotient(S, quo<G | subg[1]‘subgroup>);
[
    $.1^2 + 93*t^3 + 85*t^2 + 93*t,
    $.1^2 + 92*t,
    $.1^2 + 11*t^2 + 22*t + 11
]
Time: 0.010
> [IsIsomorphic(quo<G | subg[1]‘subgroup>, GaloisGroup(g)) :
>                                                      g in $1];
[ true, true, true ]
> time GaloisQuotient(S, quo<G|>);
[
    x^6 + (12*t + 24)*x^5 + (60*t^2 + 38*t + 38)*x^4 + (59*t^3 +
        49*t^2 + 98*t + 66)*x^3 + (38*t^4 + 97*t^3 + 70*t^2 +
        52*t + 79)*x^2 + (91*t^5 + 50*t^4 + 62*t^3 + 83*t^2 +
        79*t + 89)*x + 64*t^6 + 73*t^5 + 21*t^4 + 64*t^3 +
        23*t^2 + 38*t + 30,
    x^6 + 98*t*x^4 + (99*t + 99)*x^3 + 3*t^2*x^2 + (95*t^2 +
        95*t)*x + 100*t^3 + t^2 + 2*t + 1
]
Time: 0.000
> [IsIsomorphic(quo<G | >, GaloisGroup(g)) : g in $1];
[ true, true ]

 

4. Splitting Fields

There are at least three ways a field over which a polynomial splits can be constructed from a known Galois group. The field fixed by only the trivial subgroup will be a splitting field. of minimal degree. Using Algorithm 1 above to compute a fixed field, a splitting field will be computed as a primitive extension of the coefficient field of the polynomial.

We can also compute a splitting field as a tower of algebraic extensions of the coefficient field. We first compute a chain of subgroups from the Galois group and compute their fixed fields but we need to find defining polynomials over a field in the tower rather than over the coefficient field of the input polynomial.

The solution of a polynomial by radicals discussed in Section 5 gives a third way to construct a field in which a polynomial splits — although not of minimal degree for the given polynomial due to the necessity of adjoining roots of unity. It will be a splitting field for a polynomial of larger degree.

In each approach, polynomials gg with roots {Iτ(r1,,rn):τH//U}\{I^{\tau}(r_{1},\ldots,r_{n}):\tau\in H//U\} for some subgroups HH and UU of a Galois group are computed. For the latter two approaches the computation of these defining polynomials is achieved by applying Algorithm 4.

Before we discuss our approach we will give a small example of computing a splitting field using repeated factorization over extensions so we can see what we are improving on and also an example of using the fixed field of the trivial subgroup to compute a splitting field as a single extension.


 

Example 3.

We continue with Example 1.

> tt := Cputime();
> F := ext<Fqt | f>; _<y> := PolynomialRing(F);
> time fact := Factorization(Polynomial(F, f)); fact;
[
    <y + 100*F.1, 1>,
    <y + (26*t*a^5 + (66*t + 66)*a^4 + 48*t^2*a^3 + (34*t^2 +
        34*t)*a^2 + (28*t^3 + 64*t^2 + 27*t + 64)*a + (6*t^3 +
        6*t^2))/(t^3 + 2*t^2 + 4*t + 2), 1>,
    <y^2 + ((13*t*a^5 + (33*t + 33)*a^4 + 24*t^2*a^3 + (17*t^2
        + 17*t)*a^2 + (66*t^3 + 35*t^2 + 70*t + 35)*a + (3*t^3 +
        3*t^2))/(t^3 + 2*t^2 + 4*t + 2))*y + ((68*t + 68)*a^5
        + 38*t^2*a^4 + (9*t^2 + 9*t)*a^3 + (76*t^3 + 70*t^2 +
        39*t + 70)*a^2 + (75*t^3 + 75*t^2)*a + (89*t^4 + 15*t^3
        + 30*t^2 + 15*t))/(t^3 + 2*t^2 + 4*t + 2), 1>,
    <y^2 + ((62*t*a^5 + (2*t + 2)*a^4 + 29*t^2*a^3 + (50*t^2 +
        50*t)*a^2 + (8*t^3 + 4*t^2 + 8*t + 4)*a + (92*t^3 +
        92*t^2))/(t^3 + 2*t^2 + 4*t + 2))*y + ((2*t + 2)*a^5 +
        13*t^2*a^4 + (27*t^2 + 27*t)*a^3 + (24*t^3 + 4*t^2 + 8*t
        + 4)*a^2 + (23*t^3 + 23*t^2)*a + (65*t^4 + 45*t^3 +
        90*t^2 + 45*t))/(t^3 + 2*t^2 + 4*t + 2), 1>
]
Time: 0.020
> FF<b> := ext<F | fact[3][1] : Check := false>;
> _<z> := PolynomialRing(FF);
> time Factorization(Polynomial(FF, DefiningPolynomial(FF)));
[
     <z + 100*b, 1>,
     <z + b + (13*t*a^5 + (33*t + 33)*a^4 + 24*t^2*a^3 + (17*t^2
         + 17*t)*a^2 + (66*t^3 + 35*t^2 + 70*t + 35)*a + (3*t^3
         + 3*t^2))/(t^3 + 2*t^2 + 4*t + 2), 1>
]
Time: 2.050
> time Factorization(Polynomial(FF, $2[4][1]));
[
    <z + 100*b + (75*t*a^5 + (35*t + 35)*a^4 + 53*t^2*a^3 +
        (67*t^2 + 67*t)*a^2 + (72*t^3 + 35*t^2 + 70*t + 35)*a +
        (95*t^3 + 95*t^2))/(t^3 + 2*t^2 + 4*t + 2), 1>,
    <z + b + (88*t*a^5 + (68*t + 68)*a^4 + 77*t^2*a^3 + (84*t^2 +
        84*t)*a^2 + (37*t^3 + 70*t^2 + 39*t + 70)*a + (98*t^3 +
        98*t^2))/(t^3 + 2*t^2 + 4*t + 2), 1>
]
Time: 2.050
> Cputime(tt);
4.130

 

Example 4.

In contrast, we see here the splitting field computed much quicker as a direct extension of F101(t)F_{101}(t) which is the coefficient field of the polynomial.

> time G, _, S := GaloisGroup(f); G;
Time: 0.110
Permutation group G acting on a set of cardinality 6
Order = 12 = 2^2 * 3
    (2, 3)(5, 6)
    (1, 2)(4, 5)
    (1, 4)(2, 5)(3, 6)
> time FunctionField(GaloisSubgroup(S, sub<G | >));
Algebraic function field defined over Univariate rational
function field over GF(101) by
x^12 + 47*t*x^10 + 3*t^2*x^8 + (65*t^3 + 54*t^2 + 7*t
    + 54)*x^6 + (41*t^4 + 18*t^3 + 36*t^2 + 18*t)*x^4 +
    (14*t^5 + 61*t^4 + 21*t^3 + 61*t^2)*x^2 + 80*t^6 +
    77*t^5 + 75*t^4 + 64*t^3 + 31*t^2 + 88*t + 22
Time: 0.030

This total computation time of 0.14s is one fifteenth of the time taken using Factorization.  


Now we present an algorithm to compute a tower of fixed fields of a polynomial given a chain of subgroups of its Galois group. This algorithm, which calls Algorithm 4 to compute defining polynomials, can be used to compute a splitting field when called by Algorithm 3 as well as a tower of radical extensions when called by Algorithm 5.

Algorithm 2 (A splitting field of a polynomial using a chain of subgroups of its Galois group).

Given

  • a polynomial fF[x]f\in F[x], where FF is ,(α)\mathbb{Q},\mathbb{Q}(\alpha) or 𝔽q(t)\mathbb{F}_{q}(t), of degree nn with G=Gal(f)G=\mathop{\mathrm{Gal}}\nolimits(f), and

  • a chain CC of subgroups of GG ending with the trivial subgroup with

  • corresponding invariants in II,

compute a splitting field for ff, of degree #G\#G over FF, as a tower of algebraic extensions of FF.

  1. (1)

    Set K=F,B={1}K=F,B=\{1\} and P={Id(G)}P=\{\mathop{\mathrm{Id}}(G)\}.

  2. (2)

    for each CkGC_{k}\not=G in the chain CC in descending order find the minimal polynomial of a relative primitive element by

    1. (a)

      Compute a right transversal Tk=Ck1//CkT_{k}=C_{k-1}//C_{k}.

    2. (b)

      Compute the resolvent polynomial

      g=τTk(xIkτ(T(r1),,T(rn)))K[x]g=\prod_{\tau\in T_{k}}(x-I_{k}^{\tau}(T(r_{1}),\ldots,T(r_{n})))\in K[x]

      using Algorithm 4 with input f,K,Tk,Ik,Bf,K,T_{k},I_{k},B and PP to define the next extension KK[x]/g(x)K\leftarrow K[x]/g(x) in the towerwhere TT is a Tschirnhausen transformation ([Sut15, Section 3.7]).

    3. (c)

      Set B[αib:bB,1i<#Tk]B\leftarrow[\alpha^{i}b:b\in B,1\leq i<\#T_{k}] where α\alpha is a root of gg, a primitive element of the extension in the tower defined by the resolvent polynomial in Step 2b.

    4. (d)

      Set P[τπ:πP,τTk]P\leftarrow[\tau\pi:\pi\in P,\tau\in T_{k}].

  3. (3)

    return KK as the splitting field of ff corresponding to CC.

Algorithm 1 Step 5 maps elements of the local splitting field back to FF, as done by the computation of the Galois group, [Sut15, Section 3.2.1]. However, when computing a tower of extensions the defining polynomial will be over the current top field in the tower so the coefficients need to be expressed with respect to an absolute basis to allow those coefficients to be mapped into FF by our oracles. This can be achieved using Algorithm 4.

Before considering the details of computing the resolvent polynomial, we first describe the preparation of the chain of subgroups necessary to compute a splitting field as a tower of extensions.

Algorithm 3 (A splitting field of a polynomial using its Galois group).

Given

  • a polynomial fF[x]f\in F[x] of degree nn, where FF is ,(α)\mathbb{Q},\mathbb{Q}(\alpha) or 𝔽q(t)\mathbb{F}_{q}(t),

compute a splitting field for ff of absolute degree the order of Gal(f)\mathop{\mathrm{Gal}}\nolimits(f), as a tower of algebraic extensions of FF.

  1. (1)

    Compute G=Gal(f)G=\mathop{\mathrm{Gal}}\nolimits(f).

  2. (2)

    If GG is the trivial group then ff splits over FF. Stop.

  3. (3)

    Compute a descending chain of subgroups CkC_{k} of GG and matching invariants IkI_{k} starting with C0=GC_{0}=G and I0=0I_{0}=0 by setting d={1,,n}d=\{1,\ldots,n\}, e=[]e=[] and

    1. (a)

      for the stabilizer StabG(e{di})\mathop{\mathrm{Stab}}\nolimits_{G}(e\cup\{d_{i}\}) having smallest size (to fix the largest field) over all ii move the corresponding did_{i} from dd to ee. If this stabilizer is not the last group in the chain CC then append it to CC and the invariant xdix_{d_{i}} to II,

    until dd is empty.

  4. (4)

    Compute the splitting field using Algorithm 2 given f,Cf,C and II.

Note that a different choice of the chain of groups will result in an isomorphic field. The chain of groups chosen in Algorithm 3 is to construct the tower with the largest extensions at the bottom of the tower.

Now we discuss the details necessary to compute a resolvent polynomial over a field in a tower which will be the defining polynomial of the next extension in the tower. Following this we will discuss the bounds required by this Algorithm.

Algorithm 4 (A resolvent polynomial over a field in a tower).

Given

  • a polynomial fF[x]f\in F[x] of degree nn, where FF is ,(α)\mathbb{Q},\mathbb{Q}(\alpha) or 𝔽q(t)\mathbb{F}_{q}(t),

  • a tower KK of extensions of FF corresponding to a chain of subgroups of Gal(f)\mathop{\mathrm{Gal}}\nolimits(f) of length k1k-1,

  • a transversal Tk=Ck1//CkT_{k}=C_{k-1}//C_{k}, and a Ck1C_{k-1}-relative CkC_{k}-invariant IkI_{k},

  • an absolute basis BB of KK, formed by taking the product of power bases {αij}\{\alpha_{i}^{j}\} of KK and its coefficient fields, and a set PP containing all products of permutations in all transversals for the pairs of consecutive groups in the chain already used,

compute the resolvent polynomial gK[x]g\in K[x] which will define the next extension in the tower corresponding to this transversal and invariant.

  1. (1)

    Compute the roots {ri}1in\{r_{i}\}_{1\leq i\leq n} of ff in a local splitting field to enough precision [Sut15, Sections 3.2 and 3.8.1] to find a Tschirnhausen transformation TT such that Ikτ(T(r1),,T(rn))I_{k}^{\tau}(T(r_{1}),\ldots,T(r_{n})) is unique for each τTk\tau\in T_{k}.

  2. (2)

    Compute the necessary bounds for recognizing the coefficients we compute with respect to the absolute basis of KK as elements of FF and the roots {ri}1in\{r_{i}\}_{1\leq i\leq n} of ff in a local splitting field to the necessary precision to use these bounds.

  3. (3)

    Evaluate the invariant IkI_{k} at permutations of {T(ri)}1i<n\{T(r_{i})\}_{1\leq i<n} to gain the conjugates

    [[cτπ:τTk]:πP]=[[Ikτπ(T(r1),,T(rn)):τTk]:πP][[c_{\tau\pi}:\tau\in T_{k}]:\pi\in P]=[[I_{k}^{\tau\pi}(T(r_{1}),\ldots,T(r_{n})):\tau\in T_{k}]:\pi\in P]

    of the primitive element β\beta of the extension being constructed with respect to the extension K/FK/F.

  4. (4)

    Compute all the conjugates of all the non leading coefficients gig_{i} of gg as elementary symmetric functions [ei,π:1i#Tk][e_{i,\pi}:1\leq i\leq\#T_{k}] in [cτπ:τTk][c_{\tau\pi}:\tau\in T_{k}] for each πP\pi\in P.

  5. (5)

    Compute the conjugates of the dual basis di/h(α)d_{i}/h^{\prime}(\alpha) where hh is the relative defining polynomial of KK over the next largest coefficient field in the tower, d(x)=h/(xα)d(x)=h/(x-\alpha) with coefficients did_{i} and α\alpha is a root of hh, a primitive element for KK [Lan02, III, Prop 2]. This is trivial when K=FK=F.

  6. (6)

    For each non leading coefficient gig_{i} of gg, compute the coefficients with respect to the absolute basis of KK by multiplying the iith vector of conjugates [ei,π:πP][e_{i,\pi}:\pi\in P] by the dual basis matrix [mπj]πP,1j#P[m_{\pi j}]_{\pi\in P,1\leq j\leq\#P}.

  7. (7)

    For each non leading coefficient gig_{i} the resulting vector of coefficients can be mapped into FdegK/FF^{\mathop{\mathrm{deg}}\nolimits{K/F}} using the techniques of the relevant Galois group computation, for example [Sut15, Section 3.2.1], and these images can be used in a linear combination with the absolute basis BB of KK to gain the coefficient giKg_{i}\in K. The leading coefficient of gg is 1.

Assuming our input polynomial ff was monic with integral coefficients, all roots rir_{i} of ff are algebraic integers or integral algebraic functions. Since all our invariants are in R[x1,,xn]R[x_{1},\ldots,x_{n}], where R=,𝔽q[t]R=\mathbb{Z},\mathbb{F}_{q}[t], all quantities computed in the algorithm are algebraic integers or integral algebraic functions. The algorithm recursively constructs an absolute basis by forming products of the basis elements of each level, thus obtaining a field basis for the splitting field (and the relevant subfields). However, the integral elements we need may not have integral coefficients with respect to this basis. In order to overcome this, we use a different basis: For any equation order R[x]/hR[x]/h for an integral monic irreducible hh, the integral closure is contained in 1/h(x)R[x]/h1/h^{\prime}(x)R[x]/h, thus scaling the product basis by 1/h(x)1/h^{\prime}(x) renders the coefficients integral. When computing the bounds, this additional multiplication has to be dealt with.

4.1. Bounds

As in [Sut15, Section 3.8] it is necessary to have bounds in order to recognize integral elements of FF from the preimages mapped back from the completion which could have been of a truncation, rather than an exact element. These bounds are required in Step 2 in order to compute the precision the roots of ff should be computed to. In the splitting field case we are not making decisions based on these bounds as done when computing a Galois group but these bounds are necessary to compute a precision to use for the computation of the roots such that the computations of the resulting defining polynomials are accurate.

We describe the computation of these bounds here. Over characteristic 0 fields it is useful to consider power sums of the roots in order to obtain better bounds. By the theorem on elementary symmetric functions, we can compute the power sums first and then use Newton relations to obtain the elementary symmetric functions. While bounds obtained this way still have the same dependence on the degree, the number of terms involved is much smaller, hence in characteristic 0 the bounds obtained this way are better (smaller).

Express the conjugates as

Iτ(T(r1),,T(rn))=jcjiT(ri)dijI^{\tau}\left(T(r_{1}),\ldots,T(r_{n})\right)=\sum_{j}c_{j}\prod_{i}T(r_{i})^{d_{ij}}

(in which form any invariant can be written), remembering that the invariants may have coefficients cj𝔽q[t]c_{j}\in\mathbb{F}_{q}[t] and not only in \mathbb{Z} when the characteristic is not 0 [Sut15, Section 3.7]. The defining polynomial we are calculating is

τTk(xIτ(T(r1),,T(rn)))\prod_{\tau\in T_{k}}(x-I^{\tau}(T(r_{1}),\ldots,T(r_{n})))

but we need bounds on coefficients with respect to an absolute basis.

When ff is over a number field its roots can be embedded in the complex field and their complex modulus can be bounded. When ff is over a function field we can instead bound the degrees of the roots [Sut15, Section 3.8]. Over a characteristic 0 function field we require both types of bounds on the degree and the coefficients as described in [KS21].

We will consider these bound and precision computations for each type of arithmetic field.

4.1.1. Number fields

When FF is the rational field or a number field we can compute a bound on the complex modulus of the roots of ff and evaluate any transformations used at this bound and IkI_{k} at these evaluations. This gives a bound MkM_{k} on the cτπc_{\tau\pi}. We bound the power sums of the cτπc_{\tau\pi} by #TkMk#Tk\#T_{k}M_{k}^{\#T_{k}} with the exponentiation covering the powers of cτπc_{\tau\pi} computed and the product with #Tk\#T_{k} covering the sum of such powers.

Using Hadamard’s inequality we bound the determinant of the dual basis matrix, taking sign into account by multiplying by 2, by

2deg(K/F)(deg(K/F)1)(deg(K/F)1)/2j=1k1Mji=jk1#Ti/disc(K/F)1/2.\lceil 2\mathop{\mathrm{deg}}\nolimits(K/F)(\mathop{\mathrm{deg}}\nolimits(K/F)-1)^{(\mathop{\mathrm{deg}}\nolimits(K/F)-1)/2}\prod_{j=1}^{k-1}M_{j}^{\prod_{i=j}^{k-1}\#T_{i}}/\mathop{\mathrm{disc}}\nolimits(K/F)^{1/2}\rceil.

Coefficients are computed from power sums at the end of Step 7 of Algorithm 4 so mapping back from the local splitting field applies to the power sums rather than the coefficients themselves, hence we bound the power sums.

4.1.2. Global Function Fields

There are several parts to a bound for these coefficients mapped back to KK.

Bounding the degrees of the elementary symmetric functions:

(#TkMk\#T_{k}M_{k}) We bound the degrees of the roots of ff. To bound the evaluation of a transformation at these roots we multiply this degree bound by the degree of the transformation and to bound the evaluation of IkI_{k} we multiply by the total degree of IkI_{k}. The details of this bound when cj𝔽q(t)c_{j}\in\mathbb{F}_{q}(t) rather than in 𝔽q\mathbb{F}_{q} are given in [Sut15, Section 3.8]. This bounds cτπc_{\tau\pi} by MkM_{k}. The elementary symmetric functions in these conjugates will have degree at most #TkMk\#T_{k}M_{k} since there are #Tk\#T_{k} many conjugates all bounded by MkM_{k}.

Compensating for denominators ((#Tk1)Mk(\#T_{k}-1)M_{k}):

Since we map integral elements back from the local splitting field we need to multiply by denominators before applying the map and divide afterwards. These denominators are the product of the evaluation of the derivatives of the defining polynomials in the tower of which KK is the top field, at the root of the defining polynomial used as the primitive element of each extension in the tower. The denominators in the local splitting fields are multiplied with the coefficients before multiplying by the dual basis matrix in Step 6 of Algorithm 4. As they are evaluations of the derivatives of polynomials of degree #Tk\#T_{k} at conjugates they are bounded by (#Tk1)Mk(\#T_{k}-1)M_{k}.

Bounding the result of the matrix multiplication:

(#TkMk\#T_{k}M_{k}) Hadamard’s inequality applies only to matrices over the complex numbers so cannot be used over function fields. However, a degree bound for each

πP(τTkcτπj)mπi,i[1,,#P]\sum_{\pi\in P}(\sum_{\tau\in T_{k}}c_{\tau\pi}^{j})m_{\pi i},\ \ \ i\in[1,\ldots,\#P]

will be the sum of the bound for (τTkcτπj)(\sum_{\tau\in T_{k}}c_{\tau\pi}^{j}), computed above and the bound for the mπim_{\pi i}. So we now only need to bound the entries of the matrix [mπi][m_{\pi i}] in Step 6.

The matrix contains coefficients computed from conjugates bounded by MkM_{k} and as above for the elementary symmetric functions we have a bound of #TkMk\#T_{k}M_{k}.

The final bound:

The product of an elementary symmetric function by a denominator is bounded by #TkMk+(#Tk1)Mk\#T_{k}M_{k}+(\#T_{k}-1)M_{k}. Therefore, the degrees of the entries of the product matrix resulting from Step 6 are bounded by #TkMk+(#Tk1)Mk+#TkMk\#T_{k}M_{k}+(\#T_{k}-1)M_{k}+\#T_{k}M_{k}.

4.1.3. Characteristic 0 Function Fields

Bounds for calculations of polynomials over (t)\mathbb{Q}(t) will be a combination of the bounds for number fields and characteristic pp function fields. Bounds will be on degrees as for the characteristic pp function fields and on coefficients of these functions as for the number fields. Using power sums should be the more efficient approach in this case and there will be no problems arising from attempting to divide by multiples of pp when computing elementary symmetric functions from the power sums using Newton’s relations as was a problem in characteristic pp.

4.2. The remaining details

The invariants and local splitting fields of ff available for use with number fields are mostly described in [FK14], those for use with characteristic pp function fields are mostly described in [Sut15] and those for characteristic 0 function fields in [KS21].

Theorem 5.

Algorithm 4 computes the resolvent polynomial

g=τTk(xIkτ(T(r1),,T(rn)))K[x]g=\prod_{\tau\in T_{k}}(x-I_{k}^{\tau}(T(r_{1}),\ldots,T(r_{n})))\in K[x]

required by Algorithm 2 Step 2b.

Proof.

In Step 3 we computed cτπ=Ikτπ(T(r1),,T(rn))c_{\tau\pi}=I_{k}^{\tau\pi}(T(r_{1}),\ldots,T(r_{n})) in the local splitting field. The leading coefficient of the resolvent polynomial gg is set to 1. The conjugates of the non leading coefficients are computed as elementary symmetric functions in cτπc_{\tau\pi} for each π\pi.

The necessary bounds have been explained above in Section 4.1 and the roots of ff are computed to enough precision to use these bounds as explained in [Sut15, Section 3.8.1] for example.

In Steps 5 to 7 we convert from the conjugates of the coefficients to the coefficients themselves. Since {dj/f(α)}0j<n\{d_{j}/f^{\prime}(\alpha)\}_{0\leq j<n} is a basis dual to {αi}0i<n\{\alpha^{i}\}_{0\leq i<n},

Tr(αidjf(α))={1,j=i0,ji.\mathrm{Tr}\left(\alpha^{i}\frac{d_{j}}{f(\alpha)}\right)=\begin{cases}1,&j=i\\ 0,&j\not=i\end{cases}.

But this trace is the product of the matrix AA whose columns contain conjugates of powers of α\alpha with the matrix whose rows are the conjugates of the elements of the dual basis so these matricies are inverse to each other. For αK\alpha\in K, β\beta in the coefficient ring of KK, {γk}\{\gamma_{k}\} a dual basis for {αi}\{\alpha^{i}\} and {ωl}\{\omega_{l}\} a dual basis for {βj}\{\beta^{j}\}

Tr(Tr(αiβjγkωl))\displaystyle\mathrm{Tr}(\mathrm{Tr}(\alpha^{i}\beta^{j}\gamma_{k}\omega_{l})) =Tr(βjωlTr(αiγk))\displaystyle=\mathrm{Tr}(\beta^{j}\omega_{l}\mathrm{Tr}(\alpha^{i}\gamma_{k}))
={0,ikTr(βjωl),i=k\displaystyle=\begin{cases}0,&i\not=k\\ \mathrm{Tr}(\beta^{j}\omega_{l}),&i=k\end{cases}
={0,jl or ki1,j=l and k=i\displaystyle=\begin{cases}0,&j\not=l\text{ or }k\not=i\\ 1,&j=l\text{ and }k=i\end{cases}

so the product of the dual bases is a dual for the product basis and the corresponding matrices for the product basis and the product of the dual bases are inverses.

The coefficients of gg will be given by the solution of 𝐱A=𝐛\mathbf{x}A=\mathbf{b} where 𝐛\mathbf{b} is the vector [ixiαi,ixi(αi)(n)][\sum_{i}x_{i}\alpha^{i},\ldots\sum_{i}x_{i}(\alpha^{i})^{(n)}] of conjugates. We solve this system by multiplying by the dual basis matrix which is the inverse of AA to obtain the xix_{i} in a local splitting field. Mapping these xix_{i} back to FF we then compute the coefficients ixiBi\sum_{i}x_{i}B_{i} using the absolute basis B={Bi}B=\{B_{i}\}.

Theorem 6.

Algorithm 2 computes a splitting field of a polynomial fF[x]f\in F[x] where F=,(α),𝔽q(t)F=\mathbb{Q},\mathbb{Q}(\alpha),\mathbb{F}_{q}(t) if the chain CC of subgroups ends with the trivial group and Algorithm 3 computes a splitting field of such polynomials.

Proof.

The kkth extension will have degree #Tk\#T_{k} as in Theorem 4, as II being a CkC_{k}-relative Ck+1C_{k+1}-invariant guarantees the roots of gg are not in a subfield of K[x]/gK[x]/g, so the field extension computed by Algorithm 2 will have degree

k#Tk=#G/#C1××#Cl/1=#G\prod_{k}\#T_{k}=\#G/\#C_{1}\times\cdots\times\#C_{l}/1=\#G

over FF, the same degree as a splitting field. Let SfS_{f} be a splitting field for ff over FF so that GG is the Galois group of Sf/FS_{f}/F.

By Theorem 5 the polynomials computed by Algorithm 4 are the resolvent polynomials needed for defining the extensions in the tower.

By the Galois correspondence, each subgroup CkC_{k} in the chain is the Galois group of SfS_{f} as an extension of the fixed field of CkC_{k}. We know that the fixed field of C1C_{1} is given by such a resolvent polynomial gg by Theorem 4. Since Ck+1CkC_{k+1}\subset C_{k} and CkC_{k} is the Galois group over the fixed field of CkC_{k} we can compute the fixed field of Ck+1C_{k+1} similarly as an extension of the fixed field of CkC_{k}. Finally we compute the fixed field of {1}\{1\} as an extension of the fixed field of ClC_{l} but the fixed field of the trivial group is SfS_{f}. Therefore, Algorithm 2 computes a splitting field of ff.

Algorithm 3 returns a splitting field of degree the order of the Galois group so this splitting field will have minimial degree. ∎

 

Example 5.

Continuing Example 4, below the splitting field is computed as a tower of extensions over KK using Algorithm 3 above. We see the field defined by the input polynomial as well as the further extensions required to find the splitting field. While the time taken is twice more than in Example 4 it is also one seventh of Example 3.

> time GSF := GaloisSplittingField(f : Roots := false);
Time: 0.290
> Fqta<aa> := CoefficientField(GSF);
> _<y> := PolynomialRing(Fqta);
> GSF:Maximal;
  GSF
   |   y^2 + (62*t/(t^3 + 2*t^2 + 4*t + 2)*aa^5 + (2*t + 2)/
   |   (t^3 + 2*t^2 + 4*t + 2)*aa^4 + 29*t^2/(t^3 + 2*t^2
   |   + 4*t + 2)*aa^3 + (50*t^2 + 50*t)/(t^3 + 2*t^2 + 4*t
   |   + 2)*aa^2 + (8*t^3 + 4*t^2 + 8*t + 4)/(t^3 + 2*t^2 +
   |   4*t + 2)*aa + (92*t^3 + 92*t^2)/(t^3 + 2*t^2 + 4*t +
   |   2))*y + (2*t + 2)/(t^3 + 2*t^2 + 4*t + 2)*aa^5 + ....
Fqta<aa>
   |         x^6 + 98*t*x^4 + (2*t + 2)*x^3 + 3*t^2*x^2 +
   |            (6*t^2 + 6*t)*x + 100*t^3 + t^2 + 2*t + 1
Univariate rational function field over GF(101)

 

5. Solution of polynomials by radicals

For polynomials with solvable Galois groups we can also construct a tower consisting of radical extensions in which the polynomial splits.

In order to check whether a polynomial can be solved by radicals, we first compute the Galois group and check it is solvable. If so, since a solvable finite group is a group with a composition series CC all of whose quotients are cyclic groups of prime order, we use this series CC of subgroups in Algorithm 2 to compute a tower of cyclic extensions which we can convert to radical extensions. This conversion requires handling the necessary roots of unity. We now detail the steps of this algorithm.

Algorithm 5 (A tower of radical extensions in which a polynomial splits).

Given a polynomial ff of degree nn over F=,(α)F=\mathbb{Q},\mathbb{Q}(\alpha) or 𝔽q(t)\mathbb{F}_{q}(t) compute a tower of radical extensions of FF, of minimal degree over which ff splits using the Galois group of ff.

  1. (1)

    Choose a prime good for the computation of the Galois group of the product of ff and the cyclotomic polynomials for mmth roots of unity for m<nm<n.

  2. (2)

    Compute Gal(f)\mathop{\mathrm{Gal}}\nolimits(f) and check it is solvable. If not return.

  3. (3)

    Determine which roots of unity are needed and compute the Galois group GG of the LCM of ff and the associated cyclotomic polynomials.

  4. (4)

    Compute a chain CC of subgroups, starting with GG, then those which stabilize an increasing number of roots of unity and ending with the composition series of the current last subgroup in the chain CC.

  5. (5)

    Using Algorithm 2, compute the tower of cyclic fields from the LCM of ff and the cyclotomic polynomials, CC and invariants either computed using [FK14, Sut15] or indeterminates corresponding to the roots of unity.

  6. (6)

    Transform cyclic extensions to radical extensions using Algorithm 6.

Note that Step 3 requires the computation of a Galois group of a reducible polynomial which has been discussed in [Sut15, Section 4]. The computation of a good prime for this computation of a Galois group is also described in that section. It is for this reducible polynomial that the tower of radical extensions will be a splitting field.

To determine which roots of unity are necessary in Step 3 we consider the pp-th roots of unity for those primes pp dividing the order of GG. We also consider the qqth roots of unity for those primes qq dividing the p1p-1 and the rrth roots of unity for those primes rr dividing the q1q-1 and so on. We compute GCDs of the cyclotomic polynomials for these roots of unity with ff and so remove any roots of unity from the cyclotomic polynomials which are already roots of ff.

For function fields in any characteristic the cyclotomic polynomials which are used to handle adjoining necessary roots of unity define constant field extensions so instead of using the extension 𝔽q(t)(α)\mathbb{F}_{q}(t)(\alpha) where α\alpha is a root of a polynomial of degree rr over 𝔽q\mathbb{F}_{q} we can instead use the field 𝔽qr(t)𝔽q(t)(α)\mathbb{F}_{q^{r}}(t)\cong\mathbb{F}_{q}(t)(\alpha). Making such extensions of the constant field instead of the function field makes the function field extensions smaller and improves the efficiency of Algorithm 5 and any use of the field afterwards.

It is also possible for global function fields that the cyclotomic polynomials are reducible over the constant field as the constant field already contained some of those roots of unity, unlike the rational field which only contains 2nd roots of unity. Roots of unity which are already included in the constant field do not need to be adjoined.

Note that we could just use the composition series of GG to compute a tower of radical extensions. However, by computing subgroups which stabilise the roots of unity we put these extensions at the base of the tower and for function fields this simplifies the construction of these constant field extensions.

We now state the algorithm we use for Step 6.

Algorithm 6 (Convert a cyclic extension to a radical extension).

Given a cyclic extension K/KK^{\prime}/K of prime degree dd compute an isomorphic radical extension.

  1. (1)

    Compute a generator σ\sigma for the automorphism group of K/KK^{\prime}/K.

  2. (2)
    if dd is equal to the characteristic pp of KK:

    Return

    K[x]/(xdx(bpb))K[x]/(x^{d}-x-(b^{p}-b))

    where

    b=1/Tr(θ)i=1p1iσi(θ),θK,Tr(θ)0.b=1/\mathrm{Tr}(\theta)\sum_{i=1}^{p-1}i\sigma^{i}(\theta),\exists\theta\in K^{\prime},\mathrm{Tr}(\theta)\not=0.
    if d=2d=2:

    Let K/KK^{\prime}/K be defined by x2+a1x+a0x^{2}+a_{1}x+a_{0}. Return

    K[x]/(x2+a0a12/4).K[x]/(x^{2}+a_{0}-a_{1}^{2}/4).
    if d>2d>2:

    Return K[x]/(xdbd)K[x]/(x^{d}-b^{d}) where b=iζiσ(ni)(a)Kb=\sum_{i}\zeta^{i}\sigma^{(n-i)}(a)\in K^{\prime}, aKa\in K^{\prime} such that b0b\not=0 and ζ\zeta is a ddth root of unity.

There are algorithms available for computing automorphisms of number fields [AK99, Klü97] and function fields [Heß04]. While computing automorphisms of large towers of extensions of number fields appears to be efficient for the extensions K/KK^{\prime}/K encountered in computing a tower of radical extensions, the computation of automorphisms of large towers of radical function field extensions appeared prohibitive. From the Composition series and the Galois correspondence the Galois group of K/KK^{\prime}/K is a cyclic group of order dd which is prime. Such groups can be generated by each of their non identity elements so any non identity automorphism can be used as the generating automorphism σ\sigma in the calculation of a radical generator. The cost of this though is the computation of a root of the defining polynomial of KK^{\prime} in KK^{\prime} as we need an image under the chosen generating automorphism σ\sigma.

Theorem 7.

Algorithm 5 computes a tower of radical extensions of minimal degree over which the polynomial ff splits.

Proof.

From Theorem 6 we have that Algorithm 5 Step 5 computes a splitting field for fjcpjf\prod_{j}c_{p_{j}} where cpjc_{p_{j}} are cyclotomic polynomials whose roots are the primitive pjp_{j}th roots of unity.

If a prime qq divides the order of Gal(f)\mathop{\mathrm{Gal}}\nolimits(f) then there will be an extension defined by xqax^{q}-a for some aa appearing in a tower of radical extensions over which ff splits. The roots of this defining polynomial in the splitting field will be {ζqia1/q}0i<q\{\zeta_{q}^{i}a^{1/q}\}_{0\leq i<q} and so we need to include ζq\zeta_{q} in the radical tower to ensure this tower is a splitting field. However, the minimal polynomial of ζq\zeta_{q} is a cyclotomic polynomial of degree ϕ(q)=q1\phi(q)=q-1 so we also will have extensions defined by xrbrx^{r}-b_{r} in the radical tower for rq1r\mid q-1 and some brb_{r}. Hence we must include such ζr\zeta_{r} and so on. For primes which do not divide #Gal(f)\#\mathop{\mathrm{Gal}}\nolimits(f) or any such q1q-1, there will be no extension of this prime degree in the radical tower and such roots of unity are not necessary.

In order to ensure that all quotients of consecutive groups in the chain CC are of prime order, we contruct a composition series of Gal(f)\mathop{\mathrm{Gal}}\nolimits(f) which contains SS, the stabilizer for a subfield generated by roots of unity in the splitting field. Since Gal(f)\mathop{\mathrm{Gal}}\nolimits(f) is solvable and SGal(f)S\subset\mathop{\mathrm{Gal}}\nolimits(f), SS is solvable [Ste89, Theorem 13.2(1)].

Since the subfield is abelian, it is normal and so is its stabilizer, therefore, Gal(f)/S\mathop{\mathrm{Gal}}\nolimits(f)/S is solvable [Ste89, Theorem 13.2(2)]. Since SS and Gal(f)/S\mathop{\mathrm{Gal}}\nolimits(f)/S are solvable, Gal(f)\mathop{\mathrm{Gal}}\nolimits(f) is solvable [Ste89, Theorem 13.2(3)] (as already known) and further there is a composition series for Gal(f)\mathop{\mathrm{Gal}}\nolimits(f) containing SS. Therefore all such stabilizers can be included in a composition series for Gal(f)\mathop{\mathrm{Gal}}\nolimits(f).

Since the chain of subgroups passed in to Algorithm 2 consists of groups whose quotients with consecutive groups are cyclic of prime order from the composition series and as above from the roots of unity, the field extensions in the tower will be cyclic of prime degree.

To see that Algorithm 6 returns a radical extension isomorphic to a given cyclic extension,

if dd is equal to the characteristic pp of KK:

For degree pp extensions in characteristic pp, a wider definition of solvability by radicals can be used [Ste89, p 129]. Essentially instead of computing a Kummer generator we compute an Artin–Schreier generator, a root of an Artin–Schreier polynomial [Ste89, Remark p 147]. Artin–Schreier generators exist in the same way Kummer generators exist [Sti93]. In characteristic pp we have

  • •:

    xpax^{p}-a is inseparable. It only has one distinct root, not pp roots, and its derivative is zero.

  • •:

    In a cyclic degree pp extension K/KK^{\prime}/K there exists β\beta such that βpβK\beta^{p}-\beta\in K [Sti93, A13]. In this case xpxa=i=1p1(x(β+i))x^{p}-x-a=\prod_{i=1}^{p-1}(x-(\beta+i)) defines an Artin–Schreier extension.

From [Lan02, Theorems 6.3 and 6.4], β=1/Tr(θ)i=1p1iσi(θ)\beta=1/\mathrm{Tr}(\theta)\sum_{i=1}^{p-1}i\sigma^{i}(\theta), θK,Tr(θ)0\exists\theta\in K^{\prime},\mathrm{Tr}(\theta)\not=0 is a primitive element such that bpbKb^{p}-b\in K.

if d=2d=2:

Completing the square reveals that α+a1/2\alpha+a_{1}/2 is a zero of x2+a0a12/4x^{2}+a_{0}-a_{1}^{2}/4.

if d>2d>2:

From [vdW49], b=iζiσ(ni)(a)Kb=\sum_{i}\zeta^{i}\sigma^{(n-i)}(a)\in K^{\prime}, where ζ\zeta is a ddth root of unity, is a primitive element such that bdKb^{d}\in K.

 

Example 6.

Below is a degree 6 polynomial which can be solved by radicals, many cannot be. Computing the GaloisSplittingField of this polynomial as shown in Example 5 above results in a degree 2 extension of the degree 6 extension defined by this polynomial. Solving by radicals results in this splitting field being expressed as 3 extensions, the lowest one being a constant field extension hidden in 𝔽1012\mathbb{F}_{101^{2}}. The difference comes from the chain of subgroups used — in this case using the composition series we used more subgroups and so there are more extensions.

> Fqt<t> := FunctionField(GF(101));
> P<x> := PolynomialRing(Fqt);
> f := x^6 + 98*t*x^4 + (2*t + 2)*x^3 + 3*t^2*x^2 +
>           (6*t^2 + 6*t)*x + 100*t^3 + t^2 + 2*t + 1;
> S := SolveByRadicals(f);
> CS<cs> := CoefficientRing(S);
> _<t> := CoefficientRing(CS);
> S:Maximal;
    S
    |
    | $.1^2 + 100*t
    |
  CS<cs>
    |
    | $.1^3 + 8*t + 8
    |
Univariate rational function field over GF(101^2)
Variables: t
> DefiningPolynomial(ConstantField(S));
t^2 + 26
> _<w> := ConstantField(S);
> Roots(Polynomial(S, f));
[
    <S.1 + (51*w + 25)*cs, 1>,
    <100*S.1 + (51*w + 25)*cs, 1>,
    <S.1 + (50*w + 25)*cs, 1>,
    <100*S.1 + (50*w + 25)*cs, 1>,
    <S.1 + 51*cs, 1>,
    <100*S.1 + 51*cs, 1>
]

 

Example 7.

An example with a degree characteristic extension

> F<t> := FunctionField(GF(5));
> P<x> := PolynomialRing(F);
> f := x^5 - x + t;
> GaloisGroup(f);
Permutation group acting on a set of cardinality 5
Order = 5
    (1, 2, 5, 4, 3)
> IsSoluble($1);
true
> SolveByRadicals(f);
Algebraic function field defined over Univariate rational
function field over GF(5) by x^5 + 4*x + t

 

Example 8.

An interesting example with a degree characteristic extension.

> f := x^5 + x^4 + t;
> G := GaloisGroup(f);
> TransitiveGroupDescription(G);
F(5) = 5:4
> IsSoluble(G);
true
> S := SolveByRadicals(f);
> CS<cs> := CoefficientRing(S);
> CCS<ccs> := CoefficientRing(CS);
> S:Maximal;
     S
     |
     |                      $.1^5 + 4*$.1 + 2/t^2*ccs*cs
   CS<cs>
     |
     |                                     $.1^2 + 2*ccs
  CCS<ccs>
     |
     |                                       x^2 + 4*t^3
Univariate rational function field over GF(5)
Variables: t
> Roots(f, S);
[   <S.1^4 + S.1^3 + S.1^2 + S.1, 1>,
    <S.1^4 + 3*S.1^3 + 4*S.1^2 + 2*S.1, 1>,
    <S.1^4 + 2*S.1^3 + 4*S.1^2 + 3*S.1, 1>,
    <S.1^4 + 4*S.1^3 + S.1^2 + 4*S.1, 1>,
    <S.1^4 + 4, 1>
]
> Roots(f, FunctionField(f));
[
    <$.1, 1>
]

From the roots we can see that ff does not split over 𝔽5(t)[x]/f\mathbb{F}_{5}(t)[x]/f.  

6. Geometric Galois groups

Geometric Galois groups have connections to inverse Galois theory and are an alternate approach to computing absolute factorizations. They have also already been used computationally in solving a Japanese geometry problem [HK21].

We present below an algorithm we have developed to compute geometric Galois groups of polynomials f(t)[x]f\in\mathbb{Q}(t)[x]. Further we consider the use of this algorithm to compute the absolute factorization of polynomials f(t)[x]f\in\mathbb{Q}(t)[x]. This algorithm has been available in Magma [CBFS17] since V2.24.

First we make the necessary definitions.

Definition 8.

The geometric Galois group, GeoGal(f)\mathop{\mathrm{GeoGal}}\nolimits(f), of a polynomial f(t)[x]f\in\mathbb{Q}(t)[x] is the Galois group of ff considered as a polynomial over (t)\mathbb{C}(t), Gal(f/(t))\mathop{\mathrm{Gal}}\nolimits(f/\mathbb{C}(t)).

Definition 9.

Given a function field F/k(t)F/k(t), the algebraic closure of kk in FF, K={z:zF|z is algebraic over k}K=\{z:z\in F\ |\ \text{$z$ is algebraic over $k$}\}, is the full or exact constant field of FF.

6.1. Connections to Inverse Galois Theory

Computations of geometric Galois groups have links to Inverse Galois Theory. We summarise below the relevant information from [malle_matzat, Chapter I] to which the references below refer.

  • Every finite group occurs as a Galois group over (t)\mathbb{C}(t) (Corollary 1.5) and as a geometric Galois group over (t)\mathbb{R}(t) (Corollary 1.7) and ¯(t)\bar{\mathbb{Q}}(t) (Corollary 2.3) so that the inverse Galois problem is solved over all rational function fields k¯(t)\bar{k}(t) of characteristic 0.

  • A finite extension Γ/k(t)\Gamma/k(t) is geometric if kk is algebraically closed in Γ\Gamma (Section 1). This occurs when kk is the full constant field of Γ\Gamma.

  • If HH is a Galois group H=Gal(Γ/k(t))H=\mathop{\mathrm{Gal}}\nolimits(\Gamma/k(t)) then this realization is a GG-realization of HH over kk if Γ/k(t)\Gamma/k(t) is a geometric Galois extension with Galois group HH over a rational function field k(t)k(t) (Section 5.1).

Hence any Γ/(t)\Gamma/\mathbb{C}(t) is a geometric extension and the geometric Galois group Gal(Γ/(t))\mathop{\mathrm{Gal}}\nolimits(\Gamma/\mathbb{C}(t)) is a GG-realization over \mathbb{C}. Since every finite abelian group has a GG-realization over \mathbb{Q} (Theorem 5.1), there are geometric extensions Γ/(t)\Gamma/\mathbb{Q}(t) whose geometric Galois groups are equal to Gal(Γ/(t))\mathop{\mathrm{Gal}}\nolimits(\Gamma/\mathbb{Q}(t)).

6.2. Previous Work

Numerous polynomials whose geometric Galois groups are equal to their Galois groups are given in [malle_matzat]. This collection was provided to us in Magma readable form by Jürgen Klüners and has since been since extended by Klüners to include polynomials whose geometric Galois groups differ from their Galois groups.

6.3. Algorithm

Since \mathbb{Q} is a subfield of \mathbb{C}, GeoGal(f)\mathop{\mathrm{GeoGal}}\nolimits(f) will be a subgroup of Gal(f/(t))\mathop{\mathrm{Gal}}\nolimits(f/\mathbb{Q}(t)) — as the field \mathbb{C} is larger than \mathbb{Q} the group is smaller. Therefore again start with computing a Galois group GG — this time over (t)\mathbb{Q}(t). Using Hilbert’s Irreducibility Theorem we can find t1,t2t_{1},t_{2} at which the specializations of the polynomial have Galois group isomorphic to GG. Then compute the Galois group over \mathbb{Q} of the product of the specializations, a subgroup of the direct product of Gal(f/(t))\mathop{\mathrm{Gal}}\nolimits(f/\mathbb{Q}(t)) with itself.

Using inexact fields such as \mathbb{C} often leads to problems with precision, so we avoid computing in \mathbb{C} altogether and instead find the largest algebraic extension of \mathbb{Q} which contains the algebraic numbers we require : the algebraic closure KK of \mathbb{Q} in the splitting field Sf/(t)S_{f}/\mathbb{Q}(t) which is the exact constant field of SfS_{f}. All the constants of Sf/(t)S_{f}/\mathbb{Q}(t) will be in KK since K=SfK=S_{f}\cap\mathbb{C}. We compute the geometric Galois group of ff as the Galois group of ff considered as a polynomial over K(t)K(t), although computations over K(t)K(t) are also unnecessary and KK is not known before hand. The task then is to determine KK, not knowing SfS_{f} and which normal subgroup XX of Gal(f)\mathop{\mathrm{Gal}}\nolimits(f) fixes K(t)K(t). We compute KK at the same time as the geometric Galois group.

There are some bounds on the index of the geometric Galois group in Gal(f/(t))\mathop{\mathrm{Gal}}\nolimits(f/\mathbb{Q}(t)). Also, since the degree of the fixed field of the geometric Galois group, K(t)K(t), is divisible by the degree of the exact constant field of (t)[x]/f\mathbb{Q}(t)[x]/f, the order of the geometric Galois group must divide the quotient of #G\#G by the degree of the exact constant field.

We need only consider the normal subgroups which satisfy these constraints, compute their fixed fields and look at which of these is a rational function field over an extension of the constant field. This gives subgroups of GG which contain the geometric Galois group and the coefficient rings of their fixed fields which are contained in the algebraic closure of \mathbb{Q} in the splitting field of ff over (t)\mathbb{Q}(t).

We summarise the algorithm as follows and then make some notes :

Algorithm 7 (Compute the geometric Galois group of f(t)[x]f\in\mathbb{Q}(t)[x]).

Given a polynomial f(t)[x]f\in\mathbb{Q}(t)[x] compute GeoGal(f)\mathop{\mathrm{GeoGal}}\nolimits(f) as well as the algebraic closure KK of \mathbb{Q} in SfS_{f}.

  1. (1)

    Compute G=Gal(f)G=\mathop{\mathrm{Gal}}\nolimits(f).

  2. (2)

    Specialise tt at small integer values. Choose t=ti,i=1,2t=t_{i},i=1,2 such that Gal(f(ti,x))=G\mathop{\mathrm{Gal}}\nolimits(f(t_{i},x))=G.

  3. (3)

    Compute H=Gal(f(t1,x)f(t2,x))H=\mathop{\mathrm{Gal}}\nolimits(f(t_{1},x)f(t_{2},x)).

  4. (4)

    For normal subgroups XX of GG having index less than [G×G:H][G\times G:H] and index divisible by cc where cc is the degree of the full constant field of (t)[x]/f\mathbb{Q}(t)[x]/f,

    1. (a)

      Compute the defining polynomial of the field KK^{\prime} fixed by XX using Algorithm 1.

    2. (b)

      Check whether this is a polynomial over \mathbb{Q} or whether this defines a constant field extension. If so XX contains GeoGal(f)\mathop{\mathrm{GeoGal}}\nolimits(f) and KKK\supseteq K^{\prime}.

  5. (5)

    The subgroup XX containing GeoGal(f)\mathop{\mathrm{GeoGal}}\nolimits(f) with the largest index in GG and smallest order corresponds to the largest constant field extension in SfS_{f} which is the algebraic closure KK of \mathbb{Q} in SfS_{f}, and is GeoGal(f)\mathop{\mathrm{GeoGal}}\nolimits(f).

Let X=Gal(Sf/K(t))X=\mathop{\mathrm{Gal}}\nolimits(S_{f}/K(t)). The fields and groups we are considering are shown in the following diagram :

Sf/(t)S_{f}/\mathbb{C}(t)(t)\mathbb{C}(t)(t)\mathbb{Q}(t)SfS_{f}K(t)K(t)(ECF((t)[x]/f))(t)(ECF(\mathbb{Q}(t)[x]/f))(t)(t)\mathbb{Q}(t)Sfi{S_{f}}_{i}KiK_{i}\mathbb{Q}GeoGal(f)\mathop{\mathrm{GeoGal}}\nolimits(f)XXdeg ccGG

where KiK_{i} is the residue field of SfS_{f} at ttit-t_{i}, defined by f(ti,x)f(t_{i},x) since 0=f(t,α)f(ti,α)0=f(t,\alpha)\equiv f(t_{i},\alpha) where α\alpha is a root of f(t,x)f(t,x), and KKiK\subseteq K_{i} since all constants have valuation 0 at all primes and so are in all residue fields.

We can narrow down the possible subgroups to consider by deriving constraints on the index of GeoGal(f)\mathop{\mathrm{GeoGal}}\nolimits(f) in Gal(f)\mathop{\mathrm{Gal}}\nolimits(f). Using Hilbert’s Irreducibility Theorem [Lan83] we have

G=Gal(f/(t))=Gal(Sf)=Gal(f(ti,x)/)=Gal(Sfi)G=\mathop{\mathrm{Gal}}\nolimits(f/\mathbb{Q}(t))=\mathop{\mathrm{Gal}}\nolimits(S_{f})=\mathop{\mathrm{Gal}}\nolimits(f(t_{i},x)/\mathbb{Q})=\mathop{\mathrm{Gal}}\nolimits(S_{f_{i}})

for infinitely many tit_{i}\in\mathbb{Q}. Choose t1,t2t_{1},t_{2} such that G=Gal(f(t1,x))=Gal(f(t2,x))G=\mathop{\mathrm{Gal}}\nolimits(f(t_{1},x))=\mathop{\mathrm{Gal}}\nolimits(f(t_{2},x)). Let H=Gal(f(t1,x)f(t2,x))H=\mathop{\mathrm{Gal}}\nolimits(f(t_{1},x)f(t_{2},x)), the Galois group of a reducible polynomial over \mathbb{Q}. As computed by [Sut15, Section 4] HG×GH\subseteq G\times G and since #(G×G)=deg(Sf1)deg(Sf2)=deg(Sf)2\#(G\times G)=\mathop{\mathrm{deg}}\nolimits(S_{f_{1}})\mathop{\mathrm{deg}}\nolimits(S_{f_{2}})=\mathop{\mathrm{deg}}\nolimits(S_{f})^{2} and #H=deg(Sf1f2)\#H=\mathop{\mathrm{deg}}\nolimits(S_{f_{1}f_{2}}) and the difference in these degrees is determined by the intersection of Sf1S_{f_{1}} and Sf2S_{f_{2}}, [G×G:H]=[Sf1Sf2:][G\times G:H]=[{S_{f}}_{1}\cap{S_{f}}_{2}:\mathbb{Q}]. As KSf1Sf2K\subseteq{S_{f}}_{1}\cap{S_{f}}_{2},

[G×G:H][K:]=[G:X].[G\times G:H]\geq[K:\mathbb{Q}]=[G:X].

This is our first bound on the index of XX in Gal(f)\mathop{\mathrm{Gal}}\nolimits(f).

Since KK will contain all the constants of (t)[x]/fSf\mathbb{Q}(t)[x]/f\subseteq{S_{f}} the degree of the exact constant field of (t)[x]/f\mathbb{Q}(t)[x]/f as an extension of \mathbb{Q} must divide [K:][K:\mathbb{Q}]. This narrows down the number of subgroups which are candidates for XX to those whose index is at most our bound and divisible by this field degree.

Lastly we know that the fixed field K(t)K(t) of the subgroup XGX\subseteq G is contained in (t)\mathbb{C}(t) so we can discount any subgroups whose fixed fields are not isomorphic to rational function fields over algebraic extensions of \mathbb{Q}.

Theorem 10.

Algorithm 7 computes the geometric Galois group of f(α)(t)[x]f\in\mathbb{Q}(\alpha)(t)[x].

Proof.

Algorithm 7 computes the Galois group XX of the largest constant field extension K(t)=(α)(t)SfK(t)=\mathbb{Q}(\alpha)(t)\subseteq S_{f}. We have discussed above that c[K:]=[G:X][G×G:H]c\mid[K:\mathbb{Q}]=[G:X]\leq[G\times G:H] so that these restrictions only improve efficiency and do not remove this answer from consideration.

Since K(t)(t)K(t)\subset\mathbb{C}(t) we know that GeoGal(f)=Gal(f/(t))Gal(f/K(t))\mathop{\mathrm{GeoGal}}\nolimits(f)=\mathop{\mathrm{Gal}}\nolimits(f/\mathbb{C}(t))\subseteq\mathop{\mathrm{Gal}}\nolimits(f/K(t)). Let gGal(f/K(t))g\in\mathop{\mathrm{Gal}}\nolimits(f/K(t)) so that gg is an automorphism which permutes the roots of ff. If gg fixes (t)\mathbb{C}(t) then gGal(f/(t))g\in\mathop{\mathrm{Gal}}\nolimits(f/\mathbb{C}(t)). Let y(t)\K(t)y\in\mathbb{C}(t)\backslash K(t), then ySf/(t)y\not\in S_{f}/\mathbb{Q}(t). But all roots of ff are in Sf/(t)S_{f}/\mathbb{Q}(t) so yy cannot be written as an algebraic combination of roots of ff, therefore g(y)=yg(y)=y and gGeoGal(f)g\in\mathop{\mathrm{GeoGal}}\nolimits(f).

6.4. A Non-Trivial Example

Most geometric Galois groups are equal to the Galois group of the polynomial but we show here an example where that is not the case.

We identify transitive groups in the form dTndTn, the nnth transitive group of degree d32d\leq 32 according to the ordering in the database of transitive groups in Magma [CBFS10]. This is the same numbering used in GAP [GG02] when d<32d<32 where the groups have been either confirmed or provided by Hulpke [Hul05]. The transitive groups of degree 32 were provided by [CH08].

 

Example 9.

Let

f=x93x7+(6t+6)x6+3x5+(12t+6)x4+(12t2+84t+11)x3+(6t+6)x2+(12t212t+24)x8t3+24t224t+6(t)[x]f=x^{9}-3x^{7}+(-6t+6)x^{6}+3x^{5}+(12t+6)x^{4}+(12t^{2}+84t+11)x^{3}+\\ (-6t+6)x^{2}+(-12t^{2}-12t+24)x-8t^{3}+24t^{2}-24t+6\in\mathbb{Q}(t)[x]

be a polynomial over (t)\mathbb{Q}(t). This polynomial was computed as a defining polynomial of ((t)[x]/x32)[y]/y32ty(\mathbb{Q}(t)[x]/\langle x^{3}-2\rangle)[y]/\langle y^{3}-2t-y\rangle over (t)\mathbb{Q}(t).

This geometric Galois group and the algebraic closure of the constant field in the splitting field can be computed in Magma by

> F<t> := FunctionField(Rationals());
> P<x> := PolynomialRing(F);
> f := x^9 - 3*x^7 + (-6*t + 6)*x^6 + 3*x^5 + (12*t + 6)*x^4 +
> (12*t^2 + 84*t + 11)*x^3 + (-6*t + 6)*x^2 +
> (-12*t^2 - 12*t + 24)*x - 8*t^3 + 24*t^2 - 24*t + 6;
> time GeometricGaloisGroup(f);
Permutation group acting on a set of cardinality 9
Order = 6 = 2 * 3
    (2, 4)(3, 5)(7, 8)
    (1, 5, 3)(2, 9, 4)(6, 8, 7)
x^6 + 78732
GaloisData of type Q(t)

Time: 1.160

The steps taken to compute this geometric Galois group are detailed below.

  1. (1)

    We compute the Galois group over (t),Gal(f)\mathbb{Q}(t),\mathop{\mathrm{Gal}}\nolimits(f) as 9T89T8, equivalently, S3×S3S_{3}\times S_{3} of order 36.

    > G := GaloisGroup(f); G;
    Permutation group G acting on a set of cardinality 9
    Order = 36 = 2^2 * 3^2
        (2, 7)(4, 8)(6, 9)
        (2, 4)(3, 5)(7, 8)
        (1, 2)(3, 9)(4, 5)(6, 7)
    > TransitiveGroupIdentification(G);
    8 9
    > TransitiveGroupDescription(GaloisGroup(f));
    S(3)[x]S(3)=E(9):D_4
    
  2. (2)

    Specialising ff at t=1,2t=1,2 gives

    f1\displaystyle f_{1} =x93x712x6+3x5+6x461x312x2+24x62,\displaystyle=x^{9}-3x^{7}-12x^{6}+3x^{5}+6x^{4}-61x^{3}-12x^{2}+24x-62,
    f2\displaystyle f_{2} =x93x718x6+3x5+18x4109x318x2214\displaystyle=x^{9}-3x^{7}-18x^{6}+3x^{5}+18x^{4}-109x^{3}-18x^{2}-214

    with Gal(f1),Gal(f2)\mathop{\mathrm{Gal}}\nolimits(f_{1}),\mathop{\mathrm{Gal}}\nolimits(f_{2}) conjugate to 9T89T8.

  3. (3)

    H=Gal(f1f2)H=\mathop{\mathrm{Gal}}\nolimits(f_{1}f_{2}) is an intransitive group of order 216.

    > f1 := Polynomial([Evaluate(x, 1) : x in Coefficients(f)]);
    > f2 := Polynomial([Evaluate(x, 2) : x in Coefficients(f)]);
    > H := GaloisGroup(f1*f2); H;
    Permutation group H acting on a set of cardinality 18
    Order = 216 = 2^3 * 3^3
        (11, 15)(12, 17)(13, 14)
        (1, 7, 6)(2, 5, 4)(3, 9, 8)(10, 16, 18)(11, 13, 17)
                                                (12, 15, 14)
        (2, 9)(3, 4)(5, 8)
        (1, 5, 8)(2, 9, 6)(3, 7, 4)
        (2, 4)(3, 9)(6, 7)(12, 14)(13, 17)(16, 18)
        (10, 11, 15)(12, 18, 17)(13, 14, 16)
    
  4. (4)

    We compute a bound using the order 36 of GG and the order 216 of HH to give us an index bound for GeoGal(f)\mathop{\mathrm{GeoGal}}\nolimits(f) of 36×36/216=636\times 36/216=6. We also know that the exact constant field of the splitting field of ff must contain the exact constant field of (t)[x]/f\mathbb{Q}(t)[x]/f which has degree 3 so the order of GeoGal(f)\mathop{\mathrm{GeoGal}}\nolimits(f) must divide 36/3=1236/3=12.

    > #DirectProduct(G, G)/#H;
    6
    > ExactConstantField(ext<F | f>);
    Number Field with defining polynomial x^3 +
        847813960/821097*x^2 +
        655877533925420992/2022600850227*x +
        357337502918317868824361728/14946763412869551171
        over the Rational Field
    
    1. (a)

      There are 2 normal subgroups of Gal(f)\mathop{\mathrm{Gal}}\nolimits(f), both isomorphic to S3S_{3} of order 6, which satisfy this index and order restriction.

      > subgroups := NormalSubgroups(G : IndexLimit :=
      >              (36*36) div 216, OrderDividing :=
      >              #G div 3);
      > [IsIsomorphic(Sym(3), x‘subgroup) : x in subgroups];
      [ true, true ]
      
    2. (b)

      The corresponding fixed fields are defined by x6+78732x^{6}+78732 and x654x4+729x2+78732t22916x^{6}-54x^{4}+729x^{2}+78732t^{2}-2916.

      > GaloisSubgroup(f, subgroups[1]‘subgroup);
      $.1^6 - 54*$.1^4 + 729*$.1^2 + 78732*x^2 - 2916
      ((x2 + (x7 + x3)) + (2 * ((x9 + x6) + x1)))
      > GaloisSubgroup(f, subgroups[2]‘subgroup);
      x^6 + 78732
      ((2 * (x1 + (x3 + x5))) + (x2 + (x9 + x4)))
      

Only one of the fixed fields has a defining polynomial over \mathbb{Q} : x6+78732x^{6}+78732. The other fixed field, which is defined by x654x4+729x2+78732t22916x^{6}-54x^{4}+729x^{2}+78732t^{2}-2916, is not isomorphic to its exact constant field, which is \mathbb{Q}. Therefore the first fixed field is the exact constant field of the splitting field of ff and the corresponding group, isomorphic to S3S_{3}, is the geometric Galois group of ff.

> ExactConstantField(ext<F | $2>);
Rational Field
Mapping from: FldRat: Q to Algebraic function field defined over
Univariate rational function field over Rational Field by
x^6 - 54*x^4 + 729*x^2 + 78732*t^2 - 2916

 

6.5. Absolute Factorization

We can use the information gained about the full constant field of the splitting field using Algorithm 7 to compute an absolute factorization. Thus we can compute the absolute factorization of f(t)[x]f\in\mathbb{Q}(t)[x] without using calculations over \mathbb{C} by factoring fK(t)[x]f\in K(t)[x]. This approach is different to those described in [CG05].

Definition 11.

The absolute factorization of a polynomial f(t)[x]f\in\mathbb{Q}(t)[x] is the factorization of ff as a polynomial over (t)\mathbb{C}(t).

 

Example 10.

Continuing Example 9 we compute the absolute factorization of

f=x93x7+(6t6)x6+3x5+(12t6)x4+(12t284t+11)x3+(6t6)x2+(12t2+12t+24)x8t324t224t6(t)[x],f=x^{9}-3x^{7}+(-6t-6)x^{6}+3x^{5}+(12t-6)x^{4}+(12t^{2}-84t+11)x^{3}\\ +(-6t-6)x^{2}+(-12t^{2}+12t+24)x-8t^{3}-24t^{2}-24t-6\in\mathbb{Q}(t)[x],

by computing a factorization of ff over (t)[α]=(t)[x]/x6+78732\mathbb{Q}(t)[\alpha]=\mathbb{Q}(t)[x]/\langle x^{6}+78732\rangle, the exact constant field of the splitting field of ff computed whilst calculating the geometric Galois group of ff. There are 3 cubic factors of ff over (t)[α]\mathbb{Q}(t)[\alpha] :

y31/486α4y2+\displaystyle y^{3}-1/486\alpha^{4}y^{2}+ (1/9α21)y+1/1458α42t+2\displaystyle(-1/9\alpha^{2}-1)y+1/1458\alpha^{4}-2t+2
y3+(1/972α41/2α)y2+\displaystyle y^{3}+(-1/972\alpha^{4}-1/2\alpha)y^{2}+ (1/2916α5+1/18α21)y+1/2916α4\displaystyle(1/2916\alpha^{5}+1/18\alpha^{2}-1)y+1/2916\alpha^{4}
+1/6α2t+2\displaystyle+1/6\alpha-2t+2
y3+(1/972α4+1/2α)y2+\displaystyle y^{3}+(-1/972\alpha^{4}+1/2\alpha)y^{2}+ (1/2916α5+1/18α21)y+1/2916α4\displaystyle(-1/2916\alpha^{5}+1/18\alpha^{2}-1)y+1/2916\alpha^{4}
1/6α2t+2\displaystyle-1/6\alpha-2t+2
> K := ext<F | x^6 + 78732>;
> _<y> := PolynomialRing(K);
> Factorization(Polynomial(K, f));
[
    <y^3 + (-1/972*K.1^4 - 1/2*K.1)*y^2 +
        (1/2916*K.1^5 + 1/18*K.1^2 - 1)*y +
        1/2916*K.1^4 + 1/6*K.1 - 2*t + 2, 1>,
    <y^3 + (-1/972*K.1^4 + 1/2*K.1)*y^2 +
        (-1/2916*K.1^5 + 1/18*K.1^2 - 1)*y +
        1/2916*K.1^4 - 1/6*K.1 - 2*t + 2, 1>,
    <y^3 + 1/486*K.1^4*y^2 + (-1/9*K.1^2 - 1)*y -
        1/1458*K.1^4 - 2*t + 2, 1>
]

In this case, we can verify as follows that splitting these factors results in no further constant field extension and thus this factorization is the absolute factorization of ff.

The extension of (t)[α]\mathbb{Q}(t)[\alpha] by the last factor above is a field F18F_{18} of degree 18 over (t)\mathbb{Q}(t) whose exact constant field is of degree 6 over \mathbb{Q}; hence F18=[α]F_{18}\cap\mathbb{C}=\mathbb{Q}[\alpha]. Over F18F_{18} ff factors into linear and quadratic factors. Extending F18F_{18} by one of the quadratics gives a degree 36 field which must be a splitting field of ff as the degree matches the order of Gal(f)\mathop{\mathrm{Gal}}\nolimits(f).

Therefore the factorization of ff into the three cubics above is the absolute factorization of ff, as the other field extensions necessary to factorize ff further, F18F_{18} and SfS_{f}, are not contained in (t)\mathbb{C}(t), which (t)[α]=(t)[x]/x6+78732([x]/x6+78732)(t)\mathbb{Q}(t)[\alpha]=\mathbb{Q}(t)[x]/\langle x^{6}+78732\rangle\cong(\mathbb{Q}[x]/\langle x^{6}+78732\rangle)(t) is.

The work in the last paragraph was a verification for illustrative purposes only and is not necessary for the computation of the absolute factorization.

These calculations were performed after computing the geometric Galois group in a little over 1s, in 0.08s for the absolute factorization and 25 min for the further factorizations, construction of extensions and mostly for computations of algebraic closures of \mathbb{Q}.

 

Acknowledgements

Examples have been run using Magma V2.25-6 [CBFS19] on a Intel® Core i7-3770 CPU @ 3.40GHz with 32GB RAM. Some sections of this paper were most recently discussed during a visit the second author made to Kaiserslautern in 2019 following WIN-E3 while other sections were discussed when the second author visited Kaiserslautern for ANTS XII in 2016. The second author would like to thank A.​ Prof.​​ Donald Taylor for some productive discussions regarding some of the necessary group theory in the paper and Dr Mark Watkins for discussions regarding dual bases.

References

  • [AK99] Vincenzo Acciaro and Jürgen Klüners, Computing Automorphisms of Abelian Number Fields, Mathematics of Computation 68 (1999), no. 227, 1179–1186.
  • [CBFS10] J. J. Cannon, W. Bosma, C. Fieker, and A. Steel (eds.), Handbook of Magma functions (V2.17), Computational Algebra Group, University of Sydney, 2010, http://magma.maths.usyd.edu.au.
  • [CBFS17] J. J. Cannon, W. Bosma, C. Fieker, and A. Steel (eds.), Handbook of Magma functions (V2.23), Computational Algebra Group, University of Sydney, 2017, http://magma.maths.usyd.edu.au.
  • [CBFS19] J. J. Cannon, W. Bosma, C. Fieker, and A. Steel (eds.), Handbook of Magma functions (V2.25), Computational Algebra Group, University of Sydney, 2019, http://magma.maths.usyd.edu.au.
  • [CG05] Guillaume Chèze and André Galligo, Four lectures on polynomial absolute factorization, pp. 339–392, Springer Berlin Heidelberg, Berlin, Heidelberg, 2005.
  • [CH08] J. J. Cannon and D. F. Holt, The transitive permutation groups of degree 32, Experimental Mathematics 17 (2008), 307–314.
  • [FK06] C. Fieker and J. Klüners, Galois group implementations, Magma V2.13 implementation with more recent contributions also from A.-S. Elsenhans, 2006.
  • [FK14] by same author, Computation of Galois groups of rational polynomials, London Mathematical Society Journal of Computation and Mathematics 17 (2014), no. 1, 141 – 158.
  • [GG02] The GAP Group, Gap – groups, algorithms, and programming, version 4.3, 2002.
  • [Heß04] Florian Heß, An algorithm for computing isomorphisms of algebraic function fields, ANTS VI (D. Buell, ed.), LNCS, vol. 3076, Springer, 2004, pp. 263–271.
  • [HK21] Jan E. Holly and David Krumm, Morikawa’s unsolved problem, The American Mathematical Monthly 128 (2021), no. 3, 214–237.
  • [Hul05] Alexander Hulpke, Constructing transitive permutation groups, Journal of Symbolic Computation 39 (2005), no. 1, 1–30. MR 2168238
  • [Klü97] Jürgen Klüners, Über die Berechnung von Automorphismen und Teilkörpern Algebraischer Zahlkörper, Dissertation, Technische Universität Berlin, 1997, http://www.math.tu-berlin.de/\simkant/publications/diss/diss_jk.ps.gz.
  • [Klü17] by same author, personal communication, 2017.
  • [KS21] David Krumm and Nicole Sutherland, Galois groups over rational function fields and explicit Hilbert irreducibility, Journal of Symbolic Computation 103 (2021), 108 – 126.
  • [Lan83] Serge Lang, Fundamentals of Diophantine geometry, Springer-Verlag, New York, 1983.
  • [Lan02] S. Lang, Algebra, Springer, 2002.
  • [Mar77] Daniel A. Marcus, Number fields, Springer, 1977.
  • [MM99] G. Malle and B.-H. Matzat, Inverse Galois theory, Springer, 1999.
  • [Sta73] Richard P. Stauduhar, The determination of Galois groups, Mathematics of Computation 27 (1973), 981–996.
  • [Ste89] I. Stewart, Galois theory, Chapman and Hall, 1989.
  • [Sti93] H. Stichtenoth, Algebraic function fields and codes, Springer, 1993.
  • [Sut15] N. Sutherland, Computing Galois groups of polynomials (especially over function fields of prime characteristic), Journal of Symbolic Computation 71 (2015), 73–97.
  • [Tig01] Jean-Pierre Tignol, Galois’ theory of algebraic equations, World Scientific, 2001.
  • [vdW49] B. L. van der Waerden, Modern algebra, Frederick Ungar Publishing Co., 1949.