Lewati ke konten utama

Bagian 23.7 Sage

Sekali lagi, kecakapan kita dalam menelaah lapangan dengan Sage memungkinkan kita mempelajari konsep-konsep utama teori Galois dengan mudah. Kita akan menelaah Contoh 7 secara menyeluruh dengan menggunakan perangkat komputasi kita.

Subbagian 23.7.1 Grup Galois

Kita akan mengulang Contoh 23.2.12 dan menganalisis secara saksama lapangan pemisah dari polinomial \(p(x)=x^4-2\text{.}\) Kita mulai dengan suatu perluasan lapangan awal yang memuat sekurang-kurangnya satu akar.
Kode Sage (cadangan statis)
x = polygen(QQ, 'x')
N.<a> = NumberField(x^4 - 2); N
Keluaran referensi (cadangan statis)
Number Field in a with defining polynomial x^4 - 2
Metode .galois_closure() akan membuat suatu perluasan yang memuat semua akar polinomial pendefinisi suatu lapangan bilangan.
Kode Sage (cadangan statis)
L.<b> = N.galois_closure(); L
Keluaran referensi (cadangan statis)
Number Field in b with defining polynomial x^8 + 28*x^4 + 2500
Kode Sage (cadangan statis)
L.degree()
Keluaran referensi (cadangan statis)
8
Kode Sage (cadangan statis)
y = polygen(L, 'y')
(y^4 - 2).factor()
Keluaran referensi (cadangan statis)
(y - 1/120*b^5 -  19/60*b) *
(y - 1/240*b^5 + 41/120*b) *
(y + 1/240*b^5 - 41/120*b) *
(y + 1/120*b^5 +  19/60*b)
Dari faktorisasi tersebut, jelas bahwa L merupakan lapangan pemisah dari polinomial itu, meskipun faktorisasinya tidak indah. Selanjutnya, grup Galois dari perluasan lapangan ini mudah diperoleh.
Kode Sage (cadangan statis)
G = L.galois_group(); G
Keluaran referensi (cadangan statis)
Galois group 8T4 ([4]2) with order 8 of x^8 + 28*x^4 + 2500
Kita dapat menelaah grup ini dan mengidentifikasinya. Perhatikan bahwa karena lapangan tersebut merupakan perluasan berderajat \(8\text{,}\) grupnya dideskripsikan sebagai grup permutasi pada \(8\) simbol. (Hanyalah kebetulan bahwa grup tersebut memiliki \(8\) elemen.) Karena hanya sedikit grup nonabelian berorde \(8\text{,}\) tidak sulit menebak jenis grup tersebut.
Kode Sage (cadangan statis)
G.is_abelian()
Keluaran referensi (cadangan statis)
False
Kode Sage (cadangan statis)
G.order()
Keluaran referensi (cadangan statis)
8
Kode Sage (cadangan statis)
G.list()
Keluaran referensi (cadangan statis)
[(), (1,2,8,7)(3,4,6,5),
(1,3)(2,5)(4,7)(6,8), (1,4)(2,3)(5,8)(6,7),
(1,5)(2,6)(3,7)(4,8), (1,6)(2,4)(3,8)(5,7),
(1,7,8,2)(3,5,6,4), (1,8)(2,7)(3,6)(4,5)]
Kode Sage (cadangan statis)
G.is_isomorphic(DihedralGroup(4))
Keluaran referensi (cadangan statis)
True
Selesai. Namun, mungkin hasil itu belum terlalu memuaskan. Mari kita menggali lebih dalam untuk memperoleh pemahaman yang lebih baik. Kita akan memulai kembali dan membuat lapangan pemisah dari \(p(x)=x^4-2\) sekali lagi, tetapi perbedaan utamanya adalah bahwa kita akan membuat akar-akarnya sangat jelas agar dapat menelaah grup Galois dan lapangan-lapangan tetap dengan lebih saksama. Dalam prosesnya, kita akan melihat contoh lain tentang bagaimana aljabar linear memungkinkan perhitungan tertentu. Konstruksi berikut seharusnya sudah dikenal sekarang.
Kode Sage (cadangan statis)
x = polygen(QQ, 'x')
p = x^4 - 2
N.<a> = NumberField(p); N
Keluaran referensi (cadangan statis)
Number Field in a with defining polynomial x^4 - 2
Kode Sage (cadangan statis)
y = polygen(N, 'y')
p = p.subs(x=y)
p.factor()
Keluaran referensi (cadangan statis)
(y - a) * (y + a) * (y^2 + a^2)
Kode Sage (cadangan statis)
M.<b> = NumberField(y^2 + a^2); M
Keluaran referensi (cadangan statis)
Number Field in b with defining polynomial y^2 + a^2 over
its base field
Kode Sage (cadangan statis)
z = polygen(M, 'z')
(z^4 - 2).factor()
Keluaran referensi (cadangan statis)
(z - b) * (z - a) * (z + a) * (z + b)
Hal penting yang perlu diperhatikan di sini adalah bahwa kita telah menyusun lapangan pemisah sedemikian sehingga keempat akar, a, -a, b, -b, merupakan fungsi yang sangat sederhana dari pembangkit-pembangkitnya. Dalam notasi yang lebih tradisional, a adalah \(2^{\frac{1}{4}}=\sqrt[4]{2}\text{,}\) dan b adalah \(2^{\frac{1}{4}}i=\sqrt[4]{2}i\) (atau negatifnya).
Kita akan merasa lebih mudah melakukan perhitungan dalam menara yang diratakan, suatu konstruksi yang kini sudah dikenal.
Kode Sage (cadangan statis)
L.<c> = M.absolute_field(); L
Keluaran referensi (cadangan statis)
Number Field in c with defining polynomial x^8 + 28*x^4 + 2500
Kode Sage (cadangan statis)
fromL, toL = L.structure()
Kita dapat kembali ke polinomial semula (atas bilangan rasional), dan meminta akar-akarnya dalam menara yang diratakan, yang dirancang khusus untuk memuat akar-akar tersebut.
Kode Sage (cadangan statis)
roots = p.roots(ring=L, multiplicities=False); roots
Keluaran referensi (cadangan statis)
[1/120*c^5 +  19/60*c,
 1/240*c^5 - 41/120*c,
-1/240*c^5 + 41/120*c,
-1/120*c^5 -  19/60*c]
Hmm. Apakah hasil itu tampak benar? Jika Anda melihat kembali faktorisasi yang diperoleh dalam lapangan yang dikonstruksi dengan metode .galois_closure(), hasilnya memang tampak benar. Namun, kita dapat memperoleh hasil yang lebih baik.
Kode Sage (cadangan statis)
[fromL(r) for r in roots]
Keluaran referensi (cadangan statis)
[b, a, -a, -b]
Ya, itulah akar-akarnya.
Perintah End() akan membuat grup automorfisme dari lapangan L.
Kode Sage (cadangan statis)
G = End(L); G
Keluaran referensi (cadangan statis)
Automorphism group of Number Field in c with
defining polynomial x^8 + 28*x^4 + 2500
Kita dapat memeriksa bahwa masing-masing automorfisme ini menetapkan setiap bilangan rasional. Jika suatu homomorfisma lapangan menetapkan 1, homomorfisma tersebut akan menetapkan bilangan bulat, dan dengan demikian menetapkan semua pecahan bilangan bulat.
Kode Sage (cadangan statis)
[tau(1) for tau in G]
Keluaran referensi (cadangan statis)
[1, 1, 1, 1, 1, 1, 1, 1]
Jadi, setiap elemen dari G menetapkan bilangan rasional elemen demi elemen; dengan demikian, G merupakan grup Galois dari lapangan pemisah L atas bilangan rasional.
Proposisi 23.1.5 bersifat mendasar. Proposisi tersebut menyatakan bahwa setiap automorfisme dalam grup Galois suatu perluasan lapangan menghasilkan permutasi akar-akar suatu polinomial yang koefisiennya berada dalam lapangan dasar. Semua unsur itu tersedia di sini. Jadi, kita akan mengevaluasi setiap automorfisme dari grup Galois pada masing-masing dari empat akar polinomial kita, yang dalam setiap kasus seharusnya menghasilkan akar lain. (Kita menggunakan konstruktor Sequence() hanya untuk memperoleh keluaran yang tersusun rapi.)
Kode Sage (cadangan statis)
Sequence([[fromL(tau(r)) for r in roots] for tau in G], cr=True)
Keluaran referensi (cadangan statis)
[[b, a, -a, -b],
[-b, -a, a, b],
[a, -b, b, -a],
[b, -a, a, -b],
[-a, -b, b, a],
[a, b, -b, -a],
[-b, a, -a, b],
[-a, b, -b, a]]
Setiap baris keluaran merupakan daftar akar yang telah dipermutasikan, sehingga bersesuaian dengan suatu permutasi atas empat objek (akar-akar tersebut). Sebagai contoh, baris kedua menunjukkan automorfisme kedua yang mempertukarkan a dengan -a, dan b dengan -b. (Perhatikan bahwa baris pertama merupakan hasil automorfisme identitas, sehingga secara mental kita dapat menggabungkan baris pertama dengan baris lainnya untuk membayangkan bentuk “dua baris” dari suatu permutasi.) Kita dapat memberi nomor 1 sampai 4 pada akar-akar tersebut dan membuat setiap permutasi sebagai elemen dari \(S_4\text{.}\) Langkah ini sebenarnya berlebihan, tetapi kemudian kita dapat membangun grup permutasi dengan membiarkan semua elemen tersebut membangkitkan suatu grup.
Kode Sage (cadangan statis)
S4 = SymmetricGroup(4)
elements = [S4([1, 2, 3, 4]),
            S4([4, 3, 2, 1]),
            S4([2, 4, 1, 3]),
            S4([1, 3, 2, 4]),
            S4([3, 4, 1, 2]),
            S4([2, 1, 4, 3]),
            S4([4, 2, 3, 1]),
            S4([3, 1, 4, 2])]
elements
Keluaran referensi (cadangan statis)
[(), (1,4)(2,3), (1,2,4,3), (2,3), (1,3)(2,4),
 (1,2)(3,4), (1,4), (1,3,4,2)]
Kode Sage (cadangan statis)
P = S4.subgroup(elements)
P.is_isomorphic(DihedralGroup(4))
Keluaran referensi (cadangan statis)
True
Perhatikan bahwa sekarang kita telah membangun suatu isomorfisma dari grup Galois ke suatu grup permutasi dengan hanya menggunakan empat simbol, bukan delapan simbol seperti sebelumnya.

Subbagian 23.7.2 Lapangan Tetap

Dalam latihan Sage sebelumnya, kita menghitung lapangan tetap dari satu automorfisme lapangan untuk lapangan-lapangan hingga. Hal itu “mudah” dalam arti bahwa kita cukup menguji setiap elemen lapangan untuk melihat apakah elemen tersebut ditetapkan, karena lapangannya hingga. Sekarang kita memiliki suatu perluasan lapangan takhingga. Bagaimana kita akan menentukan elemen mana yang ditetapkan oleh masing-masing automorfisme, atau oleh subgrup automorfisme?
Jawabannya adalah menggunakan struktur ruang vektor dari menara yang diratakan. Sebagai perluasan berderajat \(8\) dari bilangan rasional, \(8\) pangkat pertama dari elemen primitif c membentuk suatu basis apabila lapangan tersebut dipandang sebagai ruang vektor dengan bilangan rasional sebagai skalarnya. Mengetahui perilaku setiap automorfisme lapangan pada basis ini sudah cukup untuk menentukan automorfisme tersebut secara lengkap. Secara eksplisit,
\begin{align*} \tau(x)&=\tau\left(\sum_{i=0}^7\,q_ic^i\right)&&q_i\in{\mathbb Q}\\ &=\sum_{i=0}^7\,\tau(q_i)\tau(c^i)&&\tau\text{ adalah automorfisme lapangan}\\ &=\sum_{i=0}^7\,q_i\tau(c^i)&&\text{bilangan rasional tetap} \end{align*}
Jadi, kita dapat menghitung nilai suatu automorfisme lapangan pada sembarang kombinasi linear pangkat-pangkat elemen primitif sebagai kombinasi linear dari nilai automorfisme lapangan tersebut pada pangkat-pangkat elemen primitif saja. Basis ini dikenal sebagai “basis pangkat”, yang dapat kita peroleh dengan mudah melalui metode .power_basis(). Kita akan memulai dengan sebuah contoh tentang cara menggunakan basis ini. Kita akan mengilustrasikannya dengan automorfisme keempat dari grup Galois. Perhatikan bahwa metode .vector() merupakan sarana praktis yang mengubah kombinasi linear pangkat-pangkat c menjadi vektor koefisiennya saja. (Perhatikan pula bahwa \(\tau\) sepenuhnya ditentukan oleh nilai \(\tau(c)\text{,}\) karena sebagai automorfisme lapangan berlaku \(\tau(c^k)=(\tau(c))^k\text{.}\) Namun, kita masih perlu bekerja dengan seluruh basis pangkat untuk memanfaatkan struktur ruang vektor.)
Kode Sage (cadangan statis)
basis = L.power_basis(); basis
Keluaran referensi (cadangan statis)
[1, c, c^2, c^3, c^4, c^5, c^6, c^7]
Kode Sage (cadangan statis)
tau = G[3]
z = 4 + 5*c+ 6*c^3-7*c^6
tz = tau(4 + 5*c+ 6*c^3-7*c^6); tz
Keluaran referensi (cadangan statis)
11/250*c^7 - 98/25*c^6 + 1/12*c^5 + 779/125*c^3 +
6006/25*c^2 - 11/6*c + 4
Kode Sage (cadangan statis)
tz.vector()
Keluaran referensi (cadangan statis)
(4, -11/6, 6006/25, 779/125, 0, 1/12, -98/25, 11/250)
Kode Sage (cadangan statis)
tau_matrix = column_matrix([tau(be).vector() for be in basis])
tau_matrix
Keluaran referensi (cadangan statis)
[  1       0       0        0  -28       0        0          0]
[  0  -11/30       0        0    0  779/15        0          0]
[  0       0  -14/25        0    0       0  -858/25          0]
[  0       0       0  779/750    0       0        0  -4031/375]
[  0       0       0        0   -1       0        0          0]
[  0    1/60       0        0    0   11/30        0          0]
[  0       0   -1/50        0    0       0    14/25          0]
[  0       0       0  11/1500    0       0        0   -779/750]
Kode Sage (cadangan statis)
tau_matrix*z.vector()
Keluaran referensi (cadangan statis)
(4, -11/6, 6006/25, 779/125, 0, 1/12, -98/25, 11/250)
Kode Sage (cadangan statis)
tau_matrix*(z.vector()) == (tau(z)).vector()
Keluaran referensi (cadangan statis)
True
Baris terakhir menyatakan fakta bahwa tau_matrix merupakan representasi matriks dari automorfisme lapangan, yang dipandang sebagai transformasi linear pada struktur ruang vektor. Sebagai representasi suatu homomorfisma lapangan yang dapat dibalik, matriks tersebut dapat dibalik. Sebagai permutasi akar berorde \(2\text{,}\) invers matriks tersebut adalah dirinya sendiri. Namun, fakta-fakta ini hanya memverifikasi bahwa kita telah memperoleh objek yang tepat; kita tertarik pada sifat-sifat lainnya.
Untuk mengonstruksi lapangan tetap, kita ingin menemukan elemen-elemen yang ditetapkan oleh automorfisme. Dengan melanjutkan penggunaan tau di atas, kita mencari elemen z (yang ditulis sebagai vektor) sedemikian sehingga tau_matrix*z=z. Elemen-elemen ini merupakan vektor eigen untuk nilai eigen \(1\text{,}\) atau elemen ruang nol dari (tau_matrix - I) (ruang nol diperoleh dengan .right_kernel() dalam Sage).
Kode Sage (cadangan statis)
K = (tau_matrix-identity_matrix(8)).right_kernel(); K
Keluaran referensi (cadangan statis)
Vector space of degree 8 and dimension 4 over Rational Field
Basis matrix:
[    1     0     0     0     0     0     0     0]
[    0     1     0     0     0  1/38     0     0]
[    0     0     1     0     0     0 -1/22     0]
[    0     0     0     1     0     0     0 1/278]
Setiap baris matriks basis merupakan vektor yang merepresentasikan suatu elemen lapangan, yaitu 1, c + (1/38)*c^5, c^2 - (1/22)*c^6, c^3 + (1/278)*c^7. Mari kita menelaah lebih dekat elemen-elemen tetap ini dalam bentuk yang kita kenali.
Kode Sage (cadangan statis)
fromL(1)
Keluaran referensi (cadangan statis)
1
Kode Sage (cadangan statis)
fromL(c + (1/38)*c^5)
Keluaran referensi (cadangan statis)
60/19*b
Kode Sage (cadangan statis)
fromL(c^2 - (1/22)*c^6)
Keluaran referensi (cadangan statis)
150/11*a^2
Kode Sage (cadangan statis)
fromL(c^3 + (1/278)*c^7)
Keluaran referensi (cadangan statis)
1500/139*a^2*b
Setiap elemen yang ditetapkan oleh tau merupakan kombinasi linear dari keempat elemen ini. Kita dapat mengabaikan kelipatan rasional yang ada; elemen pertama hanya menyatakan bahwa bilangan rasional ditetapkan, dan elemen terakhir hanyalah hasil kali dari dua elemen di tengah. Jadi, pada dasarnya tau menetapkan bilangan rasional, b (yaitu \(\sqrt[4]{2}i\)), dan a^2 (yaitu \(\sqrt{2}\)). Lebih lanjut, b^2 = -a^2 (pemeriksaannya diberikan berikut ini), sehingga kita dapat membentuk setiap elemen tetap dari tau hanya dengan mengadjoin b=\(\sqrt[4]{2}i\) pada bilangan rasional. Jadi, elemen-elemen yang ditetapkan oleh tau adalah \({\mathbb Q}(\sqrt[4]{2}i)\text{.}\)
Kode Sage (cadangan statis)
a^2 + b^2
Keluaran referensi (cadangan statis)
0

Subbagian 23.7.3 Korespondensi Galois

Seluruh struktur sublapangan dari lapangan pemisah kita ditentukan oleh struktur subgrup dari grup Galois (Teorema 23.2.10), yang isomorfik dengan suatu grup yang kita kenal baik. Apa saja subgrup dari grup Galois kita, jika dinyatakan sebagai grup permutasi? (Demi keringkasan, kita hanya mendaftarkan pembangkit dari setiap subgrup.)
Kode Sage (cadangan statis)
sg = P.subgroups();
[H.gens() for H in sg]
Keluaran referensi (cadangan statis)
[((),),
 ((1,4)(2,3),),
 ((2,3),),
 ((1,4),),
 ((1,2)(3,4),),
 ((1,3)(2,4),),
 ((1,4)(2,3), (2,3)),
 ((1,4)(2,3), (1,2,4,3)),
 ((1,4)(2,3), (1,2)(3,4)),
 ((1,4)(2,3), (2,3), (1,2,4,3))]
Kode Sage (cadangan statis)
[H.order() for H in sg]
Keluaran referensi (cadangan statis)
[1, 2, 2, 2, 2, 2, 4, 4, 4, 8]
tau di atas merupakan elemen keempat dari grup automorfisme, dan permutasi keempat dalam elements adalah permutasi (2,3), yakni pembangkit (berorde 2) untuk subgrup kedua. Jadi, karena merupakan satu-satunya elemen taktrivial dari subgrup ini, kita mengetahui bahwa lapangan tetap yang bersesuaian adalah \({\mathbb Q}(\sqrt[4]{2}i)\text{.}\)
Mari kita analisis subgrup lain yang berorde 2 tanpa seluruh penjelasan sebelumnya, dan memulainya dari subgrup tersebut. Subgrup keenam dibangkitkan oleh automorfisme kelima, jadi mari kita tentukan elemen-elemen yang ditetapkannya.
Kode Sage (cadangan statis)
tau = G[4]
tau_matrix = column_matrix([tau(be).vector() for be in basis])
(tau_matrix-identity_matrix(8)).right_kernel()
Keluaran referensi (cadangan statis)
Vector space of degree 8 and dimension 4 over Rational Field
Basis matrix:
[     1      0      0      0      0      0      0      0]
[     0      1      0      0      0  1/158      0      0]
[     0      0      1      0      0      0   1/78      0]
[     0      0      0      1      0      0      0 13/614]
Kode Sage (cadangan statis)
fromL(tau(1))
Keluaran referensi (cadangan statis)
1
Kode Sage (cadangan statis)
fromL(tau(c+(1/158)*c^5))
Keluaran referensi (cadangan statis)
120/79*b - 120/79*a
Kode Sage (cadangan statis)
fromL(tau(c^2+(1/78)*c^6))
Keluaran referensi (cadangan statis)
-200/39*a*b
Kode Sage (cadangan statis)
fromL(tau(c^3+(13/614)*c^7))
Keluaran referensi (cadangan statis)
3000/307*a^2*b + 3000/307*a^3
Elemen pertama menunjukkan bahwa bilangan rasional ditetapkan (hal ini sudah kita ketahui). Mengalikan elemen kedua dengan skalar menghasilkan b - a sebagai elemen tetap. Dengan mengalikan elemen tetap ketiga dan keempat dengan skalar, kita mengenali bahwa keduanya dapat diperoleh dari pangkat-pangkat b - a.
Kode Sage (cadangan statis)
(b-a)^2
Keluaran referensi (cadangan statis)
-2*a*b
Kode Sage (cadangan statis)
(b-a)^3
Keluaran referensi (cadangan statis)
2*a^2*b + 2*a^3
Jadi, lapangan tetap dari subgrup ini dapat dibentuk dengan mengadjoin b - a pada bilangan rasional, yang dalam notasi matematika adalah \(\sqrt[4]{2}i - \sqrt[4]{2} = (1-i)\sqrt[4]{2}\text{,}\) sehingga lapangan tetapnya adalah \({\mathbb Q}(\sqrt[4]{2}i - \sqrt[4]{2}) = {\mathbb Q}((1-i)\sqrt[4]{2})\text{.}\)
Kita dapat membuat lapangan tetap ini, meskipun dalam bentuk yang dibuat di sini, lapangan tersebut bukan secara harfiah suatu sublapangan dari L. Kita akan menggunakan ekspresi untuk b - a yang merupakan kombinasi linear dari pangkat-pangkat c.
Kode Sage (cadangan statis)
subinfo = L.subfield((79/120)*(c+(1/158)*c^5)); subinfo
Keluaran referensi (cadangan statis)
(Number Field in c0 with defining polynomial x^4 + 8
 with c0 = 1/240*c^5 + 79/120*c,
 Ring morphism:
   From: Number Field in c0 with defining polynomial x^4 + 8
         with c0 = 1/240*c^5 + 79/120*c
   To:   Number Field in c with defining polynomial x^8 + 28*x^4 + 2500
   Defn: c0 |--> 1/240*c^5 + 79/120*c)
Metode .subfield() mengembalikan sepasang objek. Objek pertama adalah lapangan bilangan baru, yang isomorfik dengan suatu sublapangan dari L. Objek kedua adalah pemetaan injektif dari lapangan bilangan baru tersebut ke L. Dalam kasus ini, citra elemen primitif c0 adalah elemen yang telah kita tetapkan sebagai pembangkit sublapangan. Elemen primitif lapangan baru tersebut memenuhi polinomial pendefinisi \(x^4+8\) — Anda dapat memeriksa bahwa \((1-i)\sqrt[4]{2}\) memang merupakan akar dari polinomial \(x^4 + 8\text{.}\)
Terdapat lima subgrup berorde \(2\text{;}\) kita telah menemukan lapangan tetap untuk dua di antaranya. Tiga subgrup lainnya serupa, sehingga menelaahnya akan menjadi latihan yang baik. Grup automorfisme kita memiliki tiga subgrup berorde 4 dan sekurang-kurangnya satu dari setiap jenis yang mungkin (siklik dan nonsiklik). Untuk menemukan lapangan tetap dari subgrup yang lebih besar, kita harus menemukan elemen-elemen yang ditetapkan oleh semua automorfisme dalam subgrup tersebut. (Di atas, kita dapat dengan mudah mengabaikan automorfisme identitas.) Hal ini memerlukan lebih banyak perhitungan, tetapi akan mempersempit kemungkinan (menjadi lapangan yang lebih kecil), sehingga elemen primitif untuk setiap lapangan akan lebih mudah dideduksi.
Subgrup ketujuh dibangkitkan oleh dua elemen berorde \(2\) dan seluruhnya terdiri atas elemen-elemen berorde \(2\) (kecuali identitas), sehingga isomorfik dengan \({\mathbb Z}_2\times{\mathbb Z}_2\text{.}\) Permutasi-permutasinya bersesuaian dengan automorfisme bernomor 0, 1, 3, dan 6. Untuk menentukan elemen-elemen yang ditetapkan oleh keempat automorfisme tersebut, kita akan membangun kernel untuk masing-masing automorfisme dan, selama prosesnya, membentuk irisan dari keempat kernel. Kita akan bekerja melalui suatu perulangan atas keempat automorfisme.
Kode Sage (cadangan statis)
V = QQ^8
for tau in [G[0], G[1], G[3], G[6]]:
  tau_matrix = column_matrix([tau(be).vector() for be in basis])
  K = (tau_matrix-identity_matrix(8)).right_kernel()
  V = V.intersection(K)
V
Keluaran referensi (cadangan statis)
Vector space of degree 8 and dimension 2 over Rational Field
Basis matrix:
[    1     0     0     0     0     0     0     0]
[    0     0     1     0     0     0 -1/22     0]
Di luar bilangan rasional, terdapat satu elemen tetap.
Kode Sage (cadangan statis)
fromL(tau(c^2 - (1/22)*c^6))
Keluaran referensi (cadangan statis)
150/11*a^2
Setelah menghilangkan kelipatan skalar, elemen primitif kita adalah a^2, yang secara matematis adalah \(\sqrt{2}\text{,}\) sehingga lapangan tetapnya adalah \({\mathbb Q}(\sqrt{2})\text{.}\) Sekali lagi, kita dapat membangun lapangan tetap ini, tetapi mengabaikan pemetaannya.
Kode Sage (cadangan statis)
F, mapping = L.subfield((11/150)*(c^2 - (1/22)*c^6))
F
Keluaran referensi (cadangan statis)
Number Field in c0 with defining polynomial x^2 - 2
with c0 = -1/300*c^6 + 11/150*c^2
Satu subgrup lagi. Subgrup kedua dari terakhir memiliki permutasi berorde 4 sebagai pembangkit, sehingga merupakan grup siklik berorde 4. Permutasi-permutasi dalam subgrup tersebut bersesuaian dengan automorfisme 0, 1, 2, dan 7.
Kode Sage (cadangan statis)
V = QQ^8
for tau in [G[0], G[1], G[2], G[7]]:
  tau_matrix = column_matrix([tau(be).vector() for be in basis])
  K = (tau_matrix-identity_matrix(8)).right_kernel()
  V = V.intersection(K)
V
Keluaran referensi (cadangan statis)
Vector space of degree 8 and dimension 2 over Rational Field
Basis matrix:
[1 0 0 0 0 0 0 0]
[0 0 0 0 1 0 0 0]
Jadi, kita hitung elemen primitifnya.
Kode Sage (cadangan statis)
fromL(tau(c^4))
Keluaran referensi (cadangan statis)
-24*a^3*b - 14
Karena bilangan rasional ditetapkan, kita dapat menghilangkan \(-14\) dan kelipatan tersebut, lalu mengambil a^3*b sebagai elemen primitif. Secara matematis, elemen ini adalah \(2i\text{,}\) sehingga kita dapat menggunakan \(i\) saja sebagai elemen primitif dan lapangan tetapnya adalah \({\mathbb Q}(i)\text{.}\) Selanjutnya, kita dapat membangun lapangan tetap tersebut (dan mengabaikan pemetaan yang juga dikembalikan).
Kode Sage (cadangan statis)
F, mapping = L.subfield((c^4+14)/-48)
F
Keluaran referensi (cadangan statis)
Number Field in c0 with defining polynomial x^2 + 1
with c0 = -1/48*c^4 - 7/24
Masih ada satu subgrup lain yang berorde \(4\text{,}\) yang analisisnya akan kita serahkan sebagai latihan. Terdapat pula dua subgrup trivial (identitas dan seluruh grup) yang tidak terlalu menarik ataupun mengejutkan.
Jika cara di atas terasa terlalu merepotkan, Anda selalu dapat meminta Sage mengerjakan semuanya dengan metode .subfields().
Kode Sage (cadangan statis)
L.subfields()
Keluaran referensi (cadangan statis)
[(Number Field in c0 with defining polynomial x, Ring morphism:
  From: Number Field in c0 with defining polynomial x
  To:   Number Field in c with defining polynomial x^8 + 28*x^4 + 2500
  Defn: 0 |--> 0, None),
(Number Field in c1 with defining polynomial x^2 + 112*x + 40000, Ring morphism:
  From: Number Field in c1 with defining polynomial x^2 + 112*x + 40000
  To:   Number Field in c with defining polynomial x^8 + 28*x^4 + 2500
  Defn: c1 |--> 4*c^4, None),
(Number Field in c2 with defining polynomial x^2 + 512, Ring morphism:
  From: Number Field in c2 with defining polynomial x^2 + 512
  To:   Number Field in c with defining polynomial x^8 + 28*x^4 + 2500
  Defn: c2 |--> 1/25*c^6 + 78/25*c^2, None),
(Number Field in c3 with defining polynomial x^2 - 288, Ring morphism:
  From: Number Field in c3 with defining polynomial x^2 - 288
  To:   Number Field in c with defining polynomial x^8 + 28*x^4 + 2500
  Defn: c3 |--> -1/25*c^6 + 22/25*c^2, None),
(Number Field in c4 with defining polynomial x^4 + 112*x^2 + 40000, Ring morphism:
  From: Number Field in c4 with defining polynomial x^4 + 112*x^2 + 40000
  To:   Number Field in c with defining polynomial x^8 + 28*x^4 + 2500
  Defn: c4 |--> 2*c^2, None),
(Number Field in c5 with defining polynomial x^4 + 8, Ring morphism:
  From: Number Field in c5 with defining polynomial x^4 + 8
  To:   Number Field in c with defining polynomial x^8 + 28*x^4 + 2500
  Defn: c5 |--> -1/80*c^5 + 1/40*c, None),
(Number Field in c6 with defining polynomial x^4 + 648, Ring morphism:
  From: Number Field in c6 with defining polynomial x^4 + 648
  To:   Number Field in c with defining polynomial x^8 + 28*x^4 + 2500
  Defn: c6 |--> 1/80*c^5 + 79/40*c, None),
(Number Field in c7 with defining polynomial x^4 - 512, Ring morphism:
  From: Number Field in c7 with defining polynomial x^4 - 512
  To:   Number Field in c with defining polynomial x^8 + 28*x^4 + 2500
  Defn: c7 |--> -1/60*c^5 + 41/30*c, None),
(Number Field in c8 with defining polynomial x^4 - 32, Ring morphism:
  From: Number Field in c8 with defining polynomial x^4 - 32
  To:   Number Field in c with defining polynomial x^8 + 28*x^4 + 2500
  Defn: c8 |--> 1/60*c^5 + 19/30*c, None),
(Number Field in c9 with defining polynomial x^8 + 28*x^4 + 2500, Ring morphism:
  From: Number Field in c9 with defining polynomial x^8 + 28*x^4 + 2500
  To:   Number Field in c with defining polynomial x^8 + 28*x^4 + 2500
  Defn: c9 |--> c, Ring morphism:
  From: Number Field in c with defining polynomial x^8 + 28*x^4 + 2500
  To:   Number Field in c9 with defining polynomial x^8 + 28*x^4 + 2500
  Defn: c |--> c9)]
Sepuluh sublapangan dideskripsikan, sesuai dengan yang kita harapkan, mengingat terdapat 10 subgrup dari grup Galois. Setiap entri diawali dengan suatu lapangan bilangan baru yang merupakan sublapangan. Secara teknis, masing-masing bukan himpunan bagian dari L, tetapi objek kedua yang dikembalikan untuk setiap sublapangan adalah suatu homomorfisma injektif, yang secara umum juga dikenal sebagai “pembenaman (embedding).” Setiap pembenaman mendeskripsikan bagaimana suatu elemen primitif dari sublapangan dipetakan menjadi elemen dari L. Beberapa elemen primitif ini dapat dimanipulasi (seperti yang telah kita lakukan di atas) untuk menghasilkan polinomial minimal yang sedikit lebih sederhana, tetapi hasilnya tetap cukup mengesankan. Setiap entri dalam daftar memiliki komponen ketiga, yang hampir selalu berupa None, kecuali apabila sublapangannya adalah seluruh lapangan; dalam hal itu, komponen ketiga merupakan suatu homomorfisma injektif “ke arah sebaliknya.”

Subbagian 23.7.4 Perluasan Normal

Tinjau subgrup ketiga dalam daftar di atas, yang dibangkitkan oleh permutasi (1,4). Sebagai subgrup berorde \(2\text{,}\) subgrup tersebut hanya memiliki satu elemen taktrivial, yang di sini bersesuaian dengan automorfisme ketujuh. Kita menentukan elemen-elemen tetap seperti sebelumnya.
Kode Sage (cadangan statis)
tau = G[6]
tau_matrix = column_matrix([tau(be).vector() for be in basis])
(tau_matrix-identity_matrix(8)).right_kernel()
Keluaran referensi (cadangan statis)
Vector space of degree 8 and dimension 4 over Rational Field
Basis matrix:
[    1     0     0     0     0     0     0     0]
[    0     1     0     0     0 -1/82     0     0]
[    0     0     1     0     0     0 -1/22     0]
[    0     0     0     1     0     0     0 11/58]
Kode Sage (cadangan statis)
fromL(tau(1))
Keluaran referensi (cadangan statis)
1
Kode Sage (cadangan statis)
fromL(tau(c+(-1/82)*c^5))
Keluaran referensi (cadangan statis)
-120/41*a
Kode Sage (cadangan statis)
fromL(tau(c^2+(-1/22)*c^6))
Keluaran referensi (cadangan statis)
150/11*a^2
Kode Sage (cadangan statis)
fromL(tau(c^3+(11/58)*c^7))
Keluaran referensi (cadangan statis)
3000/29*a^3
Seperti biasa, dengan mengabaikan kelipatan rasional, kita melihat pangkat-pangkat a dan menyadari bahwa a saja merupakan elemen primitif untuk lapangan tetap, yang dengan demikian adalah \({\mathbb Q}(\sqrt[4]{2})\text{.}\) Ingat bahwa a merupakan akar pertama kita dari \(x^4-2\text{,}\) dan digunakan untuk membuat bagian pertama dari menara semula, yaitu N. Jadi, N merupakan \({\mathbb Q}(\sqrt[4]{2})\) sekaligus lapangan tetap dari \(H=\langle(1,4)\rangle\text{.}\)
\({\mathbb Q}(\sqrt[4]{2})\) memuat sekurang-kurangnya satu akar dari polinomial taktereduksi \(x^4-2\text{,}\) tetapi tidak semua akarnya (lihat faktorisasi di atas), sehingga tidak memenuhi syarat sebagai perluasan normal. Menurut bagian (4) dari Teorema 23.2.10, grup automorfisme dari perluasan tersebut tidak normal dalam grup Galois penuh.
Kode Sage (cadangan statis)
sg[2].is_normal(P)
Keluaran referensi (cadangan statis)
False
Sesuai dengan yang diharapkan.