Defining and Checking Automorphisms(For finite extensions of the rationals)\251Mike May, S.J., maymk@slu.edu, Saint Louis Universityrestart;As we move through Galois theory, we will be looking at the group, G, of automorphisms of a field extension, K/F. Unfortunately, for students learning field theory, it is often hard to identify what the allowable automorphisms are. This makes looking at properties of the group of automorphisms a near impossible task. This worksheet uses Maple to test proposed automorphisms for finite extensions of the rationals. You should probably have worked through the worksheet on Factoring Examples before attempting this worksheet.
<Text-field layout="Heading 3" style="Heading 3">Set up</Text-field>For this worksheet, we will restrict to the case where F is the field of rationals and K is a finite extension of F. Then K = F[NiMmJSZhbHBoYUc2IyIiIg==, ..., NiMmJSZhbHBoYUc2IyUibkc=] with NiMmJSZhbHBoYUc2IyUiaUc= algebraic over F. To each generator NiMmJSZhbHBoYUc2IyUiaUc=, we associate its minimal polynomial NiMmJSJmRzYjJSJpRw==. An automorphism sigma in G can be defined by giving the images NiMtJSZzaWdtYUc2IyYlJmFscGhhRzYjIiIi , ..., NiMtJSZzaWdtYUc2IyYlJmFscGhhRzYjJSJuRw== of the field generators NiMmJSZhbHBoYUc2IyIiIg==, ..., NiMmJSZhbHBoYUc2IyUibkc= . The question of listing automorphisms in G then reduces to finding the acceptable sets of images of the generators.Following the book, our prime examples will look at the fields obtained by adjoining roots to the polynomial NiMsJiklInhHJSJwRyIiIiUicUchIiI=. We will focus first on the particular case when p is 3 and q is 2. Thus we look at the field obtained by adjoining NiMlJm9tZWdhRw==, a primitive cube root of unity, and cbrt2, a cube root of 2, to the rationals. To check if proposed image sets define define an automorphism we will need the Maple commands factor, alias, RootOf, and subs. You may want to look at the help files for these commands.
<Text-field layout="Heading 3" style="Heading 3">Factoring and Aliases</Text-field>We start by defining NiMlJm9tZWdhRw== and cbrt2, then factoring the polynomials NiMsJiokJSJ4RyIiJCIiIkYnISIi and NiMsJiokJSJ4RyIiJCIiIiIiIyEiIg== over a number of fields. alias(omega=RootOf(x^2 + x + 1), cbrt2=RootOf(x^3 - 2));factor(x^3 - 1); factor(x^3 - 2);factor(x^3 - 1, omega); factor(x^3 - 2, omega);factor(x^3 - 1, cbrt2); factor(x^3 - 2, cbrt2);factor(x^3 - 1, {cbrt2, omega}); factor(x^3 - 2, {cbrt2, omega});Notice that Maple will factor over extension fields, using the second argument of the factor command as a list of algebraic expressions to be adjoined to the base field of the rationals.
<Text-field layout="Heading 3" style="Heading 3">Substitution with a factored polynomial</Text-field>We start by redefining the polynomials in out example.f[1] := x^2 + x + 1; f[2] := x^3 -2;To use a proposed automorphism, we want to be able to replace a generator with an arbitrary image. The command subs(NiMlJmFscGhhRw== = NiMlJWJldGFH, expression); replaces NiMlJmFscGhhRw== with NiMlJWJldGFH in expression. We are particularly interested in doing this when NiMlJmFscGhhRw== is one of the field generators and the expression is the minimum polynomial of NiMlJmFscGhhRw==.g[1] := factor(f[1], {omega, cbrt2}); g[2] := factor(f[2], {omega, cbrt2});h[1] := subs(omega = -(1 + omega), g[1]); h[2] := subs(omega = -(1 + omega), g[2]);It is clear that the substitution process has left NiMmJSJnRzYjIiIi unchanged. The substitution simply switched the factors. Straightforward algebra verifies that the same is true for NiMmJSJnRzYjIiIj. Unfortunately, it is not true that the algebra will always be straightforward. Thus we want Maple to simplify NiMmJSJoRzYjIiIj and refactor for us.factor(simplify(h[1]), {omega, cbrt2}); factor(simplify(h[2]), {omega, cbrt2});
<Text-field layout="Heading 3" style="Heading 3">Choosing images for an automorphism</Text-field>In the example above we noted that the substitution left the polynomials over F unchanged. To do that we needed to send each NiMlJmFscGhhRw== to an element of K that is a root of the same irreducible polynomial. (We factored the polynomials over K so that we could see the possible images for our generators.) Consider the case of our favorite example. The field K is obtained by adjoining NiMlJm9tZWdhRw== and cbrt2, roots of NiMmJSJmRzYjIiIi and NiMmJSJmRzYjIiIj, to the rationals. (In fact, these polynomials split over K.) Since NiMmJSJmRzYjIiIi has 2 roots in K and NiMmJSJmRzYjIiIj has 3 roots in K, we have 6 possible automorphisms of K over F.
<Text-field layout="Heading 4" style="_cstyle275"><Font bold="true" family="Times New Roman" foreground="[0,0,0]" size="10" underline="false">Exercises:</Font></Text-field>1) List the 6 possible automorphisms of K over Q when K = Q[NiMlJm9tZWdhRw==, cbrt2].2) Let K be the splitting field of NiMsJiokJSJ4RyIiJiIiIiIiJCEiIg==. K is obtained by adjoining roots of NiMsJiokJSJ4RyIiJiIiIiIiJCEiIg== and NiMvLSYlJFBoaUc2IyIiJjYjJSJ4RywsKiRGKiIiJSIiIiokRioiIiRGLiokRioiIiNGLkYqRi5GLkYu to Q. Describe the 20 possible automorphisms of K over Q.3) In contrast, the splitting field of NiMsJiokJSJ4RyIiJSIiIiIiJCEiIg== does not have 12 automorphisms over Q. Explain why.
<Text-field layout="Heading 3" style="Heading 3">Working through a particular case</Text-field>Let us focus on the potential automorphism that takes NiMlJm9tZWdhRw== to NiMsJCwmIiIiRiUlJm9tZWdhR0YlISIi and takes cbrt2 to NiMlJm9tZWdhRw== cbrt2. We want to verify that this substitution simply permutes the factors of the factored forms of the minimal polynomials.h[1] := subs(omega = -(1 + omega), cbrt2 = cbrt2 * omega, g[1]); h[2] := subs(omega = -(1 + omega), cbrt2 = cbrt2 * omega, g[2]);h[2] := factor(simplify(h[2]), {omega, cbrt2});rootarray := [1, omega, omega^2, cbrt2, cbrt2 * omega, cbrt2 * omega^2]; rootarray2 := subs(cbrt2=omega*cbrt2, omega=omega^2, rootarray); rootarray3 := simplify(rootarray2);g[1] := factor(f[1], {omega, cbrt2}); g[2] := factor(f[2], {omega, cbrt2});Once again we need to simplify the second equation.The same sequence of commands, subs followed by simplify, lets us check the action of an automorphism on particular elements of a field. Consider the action on rootarray, an array of the roots of NiMmJSJmRzYjIiIi and NiMmJSJmRzYjIiIj.To make the comparison easier, apply simplify to rootarray as well.rootarray1 := simplify(rootarray);It is now clear that our action automorphism simply rearranged rootarray, as expected.
<Text-field layout="Heading 4" style="_cstyle293"><Font bold="true" family="Times New Roman" foreground="[0,0,0]" size="10" underline="false">Exercises:</Font></Text-field>4) Pick another nontrivial automorphism of K = Q[NiMlJm9tZWdhRw==, cbrt2] over Q. Show that your automorphism simply rearranges the roots of NiMmJSJmRzYjIiIi and NiMmJSJmRzYjIiIj.5) Define a nontrivial automorphism on the splitting field of x^5 - 3. Verify that the map permutes the roots of NiMsJiokJSJ4RyIiJiIiIiIiJCEiIg== and of NiMtJiUkUGhpRzYjIiImNiMlInhH.
<Text-field layout="Heading 3" style="_cstyle277"><Font italic="false" underline="false">Verifying that a map is a ring homomorphism</Font></Text-field> The method we have been using to "define automorphisms", actually defines a homomorphism of the additive group of the field. (It is defined on products of the generators and extended by linearity.) To check that we are defining a field automorphism, we need to check that the map respects multiplication. (We need to check that we get the same answer whether we simplify a product before or after performing the map. ) Since the map is defined to respect addition, it suffices to check this with the products of the powers of the generators, with the power of each generator less than or equal to its degree. In our case, with K = Q[NiMlJm9tZWdhRw==, cbrt2], the degree of each generator is the same whether or not the other generators have been adjoined to the field. This means that we only need to consider powers of generators and not products. We want to set up a procedure to systematically check if a proposed map respects multiplication and is this an automorphism. To define the map we need the generators of the field and their images. That lets us define the substitutions. We also want a list of the powers of the generators.gens := [omega, cbrt2]; imgens := [omega^2, omega*cbrt2]; substitutions := {gens[1] = imgens[1], gens[2] = imgens[2]}; genarray := [omega, omega^2, cbrt2, cbrt2^2, cbrt2^3];Next, we want 2 functions, one that simplifies only after substituting, and one that simplifies, then substitutes, then simplifies. phi1 := (a, b) -> simplify(subs(a, b)): phi2 := (a, b) -> simplify(subs(a, simplify(b))):Finally we want to apply the substitutions to the list of elements and compare the results. If the 2 lists agree we have an automorphism.genarray1 := phi1(substitutions, genarray); genarray2 := phi2(substitutions, genarray); print (`Using the substitutions`); print (substitutions); if genarray1 = genarray2 then print (`phi is an automorphism`); else print (`phi is NOT an automorphism`); fi:It is useful to note that if we change the substitutions beyond the 6 candidates, we see that we have not defined an automorphism.gens := [omega, cbrt2]; imgens := [omega^3, omega*cbrt2]; substitutions := {gens[1] = imgens[1], gens[2] = imgens[2]}; genarray1 := phi1(substitutions, genarray); genarray2 := phi2(substitutions, genarray); print (`Using the substitutions`); print (substitutions); if genarray1 = genarray2 then print (`phi is an automorphism`); else print (`phi is NOT an automorphism`); fi:
<Text-field layout="Heading 3" style="_cstyle288"><Font italic="false" underline="false">Non-examples, Traps, and Warnings</Font></Text-field>1) We pointed out above that we only get an automorphism when we send roots to roots. It should be noted that the subs command works with any image. If we define an the image of a root to be anything other than a root of the same minimum polynomial, the map cannot be extended to a ring homomorphism. 2) The procedure defined above properly checks to see if the map defined by sending the generators to specified images can be extended to a homomorphism. It does not check that the map is to the same field. In particular we can define the obvious map from Q[cbrt2] to Q[NiMlJm9tZWdhRw== cbrt2]. It will be an isomorphism of fields but not an automorphism. Note that (x - NiMlJm9tZWdhRw== cbrt2) is not a linear factor of NiMsJiokJSJ4RyIiJCIiIiIiIyEiIg== over Q[cbrt2].factor(x^3 -2, cbrt2);3) Maple's subs command is easily confused by defining substitutions that do no use the generators, even if they define equivalent homomorphisms. Our procedure will not reliably check an action on the field generated by w if the action is defined in terms of NiMtJSVzcXJ0RzYjLCQiIiQhIiI= even though the field generated by NiMlJm9tZWdhRw== is also the field generated by NiMtJSVzcXJ0RzYjLCQiIiQhIiI= . To check that action, we need to define the field of coefficients in terms of NiMtJSVzcXJ0RzYjLCQiIiQhIiI= . Notice that the substitution taking NiMtJSVzcXJ0RzYjLCQiIiQhIiI= to 12 is not an isomorphism, and that, the field generated by NiMtJSVzcXJ0RzYjLCQiIiQhIiI= is the same as the field generated by NiMlJm9tZWdhRw==. f1 := x^2 + x + 1; g1 := factor(f1, {omega}); h1 := subs(omega=12, g1); g2 := factor(f1, {(-3)^(1/2)}); h2 := subs(omega=12, g2);4) We obtained the splitting field of x^3 -2 by adjoining a root for each of 2 polynomials. The other approach is to adjoin several roots to x^3-2. We can do that by adjoining a root to the irreducible part left over after adjoining the first part and factoring. f := x^3 -2; alias(alpha=RootOf(f)); factor(f, alpha); g := simplify(f/(x-alpha)); alias(beta = RootOf(g)); factor(f, [alpha, beta]);