抽象的で分り難いガロアの基本定理の証明を sf を使って具体例を作りながら追って行きます。Galois 理論の数値実験での結果を利用します。
最初に Galois の基本定理の証明を示します。たぶん抽象的で分り難いと思います。誤魔化されたような気分になると思います。次の節で具体例を使って検証します。具体例を見る事で証明をちゃんと理解できます。しばらくは抽象的証明に付き合ってください。
Galois の基本定理は、拡大体と自己同型群を考えたとき、その部分体と部分群の間に下のような不変体の関係があると主張するものです。
これを証明するために多項式の微分を利用した次の Galois の Lemma を使います
for ∀β ∈ K(α), Hα(β) == βだからです。
反対側の K(α) ⊃ L^Hα の証明は少し面倒です。β∈L^Hα ならば β∈K(α) であることを、多項式の微分を使って βを具体的に K(α) の範囲内で構成してやることで証明します。そのために幾つかの道具立てが必要になります。
まず、H の Hαによる左剰余類分解 {h_1,h_2, ...,h_n} を作ります
n H == h_i Hα ------ H の Hαによる左剰余類分解 i==1 (証明の単純化のため h_1 == e 単位元を選択しているものとします。){h_1,h_2, ...,h_n} と、前提で与えたられた α より
{α1, α2, ..., αn} ≡ {h_1(α), h_2(α), ..., h_n(α)} ----- (1.1.1-1)を作ります。またK(α) の範囲内: K(α) 要素の組み合わせで表そうとしている β∈L^Hαから
{β1, β2, ..., βn} ≡ {h_1(β), h_2(β), ..., h_n(β)} ----- (1.1.1-2)を作ります。この二つの数列を使って次の多項式 f(x),g(x) を作ります。
n f(x) ≡ Π (x-αi) ------------------------------------------ (1.1.1-3) i==1 n g(x) ≡ Π βi f(x)/(x-αi) ---------------------------------- (1.1.1-4) i==1ところで f(x),g(x) は ∀h ∈ H に対して不変です。
h {α1, α2, ..., αn} == { h h_1(α), h h_2(α), ..., h h_n(α)} h {β1, β2, ..., βn} == { h h_1(β), h h_2(β), ..., h h_n(β)}であり、入れ替えがあっても、可換体上の多項式の値は同じだからです。ですから
f(x) ∈ K[x] -------------------------------------------------- (1.1.1-5) g(x) ∈ K[x]といえます。ここで多項式 f(x) の微分を f'(x) 考えます。
f'(x) ≡ (x-α2)(x-α3) ..... (x-αn-1)(x-αn) + (x-α1)(x-α3) ..... (x-αn-1)(x-αn) + (x-α1)(x-α2) ..... (x-αn-1)(x-αn) ・ ・ ・ ・ ・ ・ ・ ・ + (x-α1)(x-α2) ..... (x-αn-2)(x-αn)h_1 は単位現にしていたので x に α == α1 を代入すると
β f'(α) == β (α-α2)(α-α3) ..... (α-αn-1)(α-αn) == g(α) ( h_1==e であるので β1 == β です) f'(α) != 0 ∴ β == g(α) / f'(α) ∈ K(α) ------------------------------- (1.1.1-6) ( ∵ (1.1.1-5) 式より f'(α), g(α) ∈ K(α) )が言えます。∀β∈ L^Hα が K(α) 要素の有理式で表現できたことになり、K(α) ⊃ L^Hα がいえました。K(α) L^Hα ⊃ K(α) も成り立つので K(α) == L^Hα となります。 Galois の Laemma が証明されました。
Galois Lemma によって K から任意の要素 α をとりだし k(α) を作ってやれば L^Hα= k(α) とできる。K != k(α) ならば、L と k(α )について同じことを再度行ってやる。β ∈ K and β not∈ k(α) に対して L^Hαβ == k(α,β) とできる。L/k は有限次の拡大だったから、どこかで L^Hαβ...ω == k(α,^β, ..., ω) となり、ガロアの基本定理が証明されたことになる。
これで証明は終わりですが、Galois の Lamma の証明は納得できますでしょうか。私は、この証明を最初にみたときには、循環論法のように思えました。結局 、HαとH_αの、見た目も意味もよく似た記号を理解できていませんでした。(1.1.1-3), (1.1.1-4) でやろうとしている意味が判っていなかったのでした。この二つの式の意味を、次の節で示す Galois の Lemma の具体例を作ることでやっと理解できました。
# Am,Bm,Cm,Dm,Em,Fm,Gm,Hm 演算表 |A:Am:e B:Bm C:Cm D:Dm E:Em F:Fm G:Gm H:Hm ------+-------------------------------------------------- A:Am:e| e Bm Cm Dm Em Fm Gm Hm B:Bm | Bm Cm Dm e Gm Hm Fm Em C:Cm | Cm Dm e Bm Fm Em Hm Gm D:Dm | Dm e Bm Cm Hm Gm Em Fm | E:Em | Em Hm Fm Gm e Cm Dm Bm F:Fm | Fm Gm Em Hm Cm e Bm Dm G:Gm | Gm Em Hm Fm Bm Dm e Cm H:Hm | Hm Fm Gm Em Dm Bm Cm eの L{1,q,q^2,q^3, i,qi,q^2i,q^3i}==Q(q,i) ベクトル空間に対する Am, Bm, ... Hm sf 行列ファイル変数を利用していきます。
まず、L==Q(q,i),K==Q と考えます。部分群 H には G(Q(q,i)/Q) である D2 を考えます。Q に追加する α∈L として純虚数 i を考えてみます。そして Galois Lemma で出てきた多項式 f'(x), g(x) の実例を作ってみます。
i を不変にする D2 部分群 Hα は {e, Bm, Cm,Dm} です。i は <0,0,0,0, 1,0,0,0> でしたから、下の sf 計算によって Am, Bm, Cm,Dm ∈ Hαが分ります
>sf "Am<0,0,0,0, 1,0,0,0>" < 0, 0, 0, 0, 1, 0, 0, 0 > >sf "Bm<0,0,0,0, 1,0,0,0>" < 0, 0, 0, 0, 1, 0, 0, 0 > >sf "Cm<0,0,0,0, 1,0,0,0>" < 0, 0, 0, 0, 1, 0, 0, 0 > >sf "Dm<0,0,0,0, 1,0,0,0>" < 0, 0, 0, 0, 1, 0, 0, 0 > >sf "Em<0,0,0,0, 1,0,0,0>" < 0, 0, 0, 0, -1, 0, 0, 0 > >sf "Fm<0,0,0,0, 1,0,0,0>" < 0, 0, 0, 0, -1, 0, 0, 0 > >sf "Gm<0,0,0,0, 1,0,0,0>" < 0, 0, 0, 0, -1, 0, 0, 0 > >sf "Hm<0,0,0,0, 1,0,0,0>" < 0, 0, 0, 0, -1, 0, 0, 0 >Hα が {e, Bm, Cm,Dm} であることより L^Hα ⊃ Q(i) が言えます。
L^Hα ⊂ Q(i) を示すために f(x), g(x) を作ります。
D2 / {e,Bm,Cm,Dm} == {e, Em} == {h_1, h_2} です。{e,Em} の代わりに {e, Fm} などでも構わないのですが、いまは Em を選択しておきます。選択した Em に対応する f(x) を求めます。
{h_1, h_2} が決まったので、i == <0,0,0,0, 1,0,0,0> から {α1,α2}=={h_1α,h_2α} を下の様に作ります。
>sf "α1 = <0,0,0,0, 1,0,0,0>" < 0, 0, 0, 0, 1, 0, 0, 0 > >sf "α2 = Em α1" < 0, 0, 0, 0, -1, 0, 0, 0 >上のように α1, α2 は一次独立とは限りませんが α1 != α 2 です
f'(x)==(x-α1)+(x-α2) == 2 x + (-α1-α2)を計算します。sf を使うまでもありませんが、
>sf "(-α1-α2)" < 0, 0, 0, 0, 0, 0, 0, 0 >であり
f'(x) == 2 x ∈ Q[x]です。
f'(α) == 2 α == 2i == <0,0,0,0, 2,0,0,0>∈ Q[i]です。
(1.1.1.2) 式より
β = <1,0,0,0, 2,0,0,0> # 1+2i β1 = 1 β < 1, 0, 0, 0, 2, 0, 0, 0 > β2 = Em <1,0,0,0, 2,0,0,0> < 1, 0, 0, 0, -2, 0, 0, 0 >です。
g(x) = β1(x-α2) + β2(x-α1) = (β1+β2)x + (-β1 α2 - β2 α1)です。
g(x) 多項式の一次の係数 β1+β2は単純にベクタの足し算で求められます。
β1+β2 < 2, 0, 0, 0, 0, 0, 0, 0 >でも g(x) 多項式の 0次の係数 (-β1 α2 - β2 α1) はベクタの積が入ってくるので分割して計算します。 α == i,β==1+2iのときの g(x): 0 次項は (-β1α2 - β2α1) です。β1α2 のような L{1,q,q^2,q^3, i,qi,q^2i,q^3i} ベクタの積は二段階の積に分割して計算します。
α2 == < 0, 0, 0, 0, -1, 0, 0, 0 > なので β1 α2 == α2 β1 == -i β1 == -i<1,0,0,0, 2,0,0,0> == < 2,0,0,0, -1,0,0,0> α1 == < 0, 0, 0, 0, 1, 0, 0, 0 > なので β2 α1 == α1 β2 == i β2 == i< 1, 0, 0, 0, -2, 0, 0, 0 > == <2,0,0,0, 1,0,0,0>二つのベクタ β1α2, β2α1 ベクタ表現をの符号を反転して足し合わせます。
# (-β1α2 - β2α1) - < 2,0,0,0, -1,0,0,0> - <2,0,0,0, 1,0,0,0> < -4, 0, 0, 0, 0, 0, 0, 0 >データ数が多くなったり、複雑になったときも、データを入れ替えてやるだけで誤りなく計算できるからです。
これで (-β1α2 - β2α1) == << -4, 0, 0, 0, 0, 0, 0, 0 >> が計算できました。多項式 g(x) の係数を求められました。
g(x) == 2 x - 4確かに g(α)/f'(α) によって
# g(α)/f'(α) (2i-4)/(2i) # == β:1+2i < 1+2i >と β==1+2i を作ることができました。
α として L == Q(i, α) となりそうな 1+q を追加してみます。すなわち α = <1,1,0,0, 0,0,0,0> とします。α として 1+q ではなく、q を選択すると単純すぎて、任意の α が選べる Galois Lemma の意味が見づらくなりそうです。
「2 Galois Lemma 数値実験 Q(i)」では {e,Bm,Cm,Dm} が Q(i) の不変体でした。こんどは Hα=={e} であることが下の計算より分ります。
>sf "α1 = <1,1,0,0, 0,0,0,0>" >sf "Bm α1" < 1, 0, 0, 0, 0, 1, 0, 0 > >sf "Cm α1" < 1, -1, 0, 0, 0, 0, 0, 0 > >sf "Dm α1" < 1, 0, 0, 0, 0, -1, 0, 0 >ですから、左剰余類
H_α == {h_1, h_2, h_3, h_4 } == {e, Bm, Cm, Dm}が定まります。これによって {α1,α2,α3,α4} が下のように定まります。
>sf "α1= 1 <1,1,0,0, 0,0,0,0>" < 1, 1, 0, 0, 0, 0, 0, 0 > >sf "α2=Bm <1,1,0,0, 0,0,0,0>" < 1, 0, 0, 0, 0, 1, 0, 0 > >sf "α3=Cm <1,1,0,0, 0,0,0,0>" < 1, -1, 0, 0, 0, 0, 0, 0 > >sf "α4=Dm <1,1,0,0, 0,0,0,0>" < 1, 0, 0, 0, 0, -1, 0, 0 >{α1,α2,α3,α4} が決まれば f'(x) が計算できます
//@@ @@subFile p _rt= <_prm{1}[0]_prm{2}[0] +2 _prm{1}[1]_prm{2}[3]+2_prm{1}[2]_prm{2}[2] +2_prm{1}[3]_prm{2}[1] - _prm{1}[4]_prm{2}[4] -2 _prm{1}[5]_prm{2}[7] -2 _prm{1}[6]_prm{2}[6] -2 _prm{1}[7]_prm{2}[5] _prm{1}[0]_prm{2}[1] +_prm{1}[1]_prm{2}[0]+2_prm{1}[2]_prm{2}[3] +2_prm{1}[3]_prm{2}[2] - _prm{1}[4]_prm{2}[5] - _prm{1}[5]_prm{2}[4] -2_prm{1}[6]_prm{2}[7] -2 _prm{1}[7]_prm{2}[6] _prm{1}[0]_prm{2}[2] +_prm{1}[1]_prm{2}[1]+ _prm{1}[2]_prm{2}[0] +2_prm{1}[3]_prm{2}[3] - _prm{1}[4]_prm{2}[6] - _prm{1}[5]_prm{2}[5] -2_prm{1}[6]_prm{2}[4] -2 _prm{1}[7]_prm{2}[7] _prm{1}[0]_prm{2}[3] +_prm{1}[1]_prm{2}[2]+ _prm{1}[2]_prm{2}[1] +_prm{1}[3]_prm{2}[1] - _prm{1}[4]_prm{2}[7] - _prm{1}[5]_prm{2}[6] -_prm{1}[6]_prm{2}[5] - _prm{1}[7]_prm{2}[4] _prm{1}[0]_prm{2}[4] +2 _prm{1}[1]_prm{2}[7]+2_prm{1}[2]_prm{2}[6] +2_prm{1}[3]_prm{2}[5] + _prm{1}[4]_prm{2}[0] +2 _prm{1}[5]_prm{2}[3] +2 _prm{1}[6]_prm{2}[2] +2 _prm{1}[7]_prm{2}[1] _prm{1}[0]_prm{2}[5] +_prm{1}[1]_prm{2}[4]+2_prm{1}[2]_prm{2}[7] +2_prm{1}[3]_prm{2}[6] + _prm{1}[4]_prm{2}[1] + _prm{1}[5]_prm{2}[0] +2_prm{1}[6]_prm{2}[3] +2 _prm{1}[7]_prm{2}[2] _prm{1}[0]_prm{2}[6] +_prm{1}[1]_prm{2}[5]+ _prm{1}[2]_prm{2}[4] +2_prm{1}[3]_prm{2}[7] + _prm{1}[4]_prm{2}[2] + _prm{1}[5]_prm{2}[1] +_prm{1}[6]_prm{2}[0] +2 _prm{1}[7]_prm{2}[3] _prm{1}[0]_prm{2}[7] +_prm{1}[1]_prm{2}[6]+ _prm{1}[2]_prm{2}[5] +_prm{1}[3]_prm{2}[4] + _prm{1}[4]_prm{2}[3] + _prm{1}[5]_prm{2}[2] +_prm{1}[6]_prm{2}[1] + _prm{1}[7]_prm{2}[0]> @@endSubFile //@@@
f'(x) == 4 x^3 - 12 x^2 + 12 x -4 ∈ Q(i)[x] ⊃ Q[x]となることは、下のように x^3, x^2, x^1, x^0 各項の係数を計算してやることで解ります。
f'(x)=(x-α2)(x-α3)(x-α4) + (x-α1)(x-α3)(x-α4) + (x-α1)(x-α2)(x-α4) + (x-α1)(x-α2)(x-α3)x^3 の項の係数は 4 です。x^2 の項の係数は下の式となります。
x^2: (-α2-α3-α4) + (-α1-α3-α4) + (-α1-α2-α4) + (-α1-α2-α3)下の sf 式で計算します
//@@ (-α2-α3-α4)\ + (-α1-α3-α4)\ + (-α1-α2-α4)\ + (-α1-α2-α3) //@@@ < -12, 0, 0, 0, 0, 0, 0, 0 >x^1 の項の係数は下の式となります。
x^1: (α2α3+α2α4+α3α4) + (α1α3+α1α4+α3α4) + (α1α2+α1α4+α2α4) + (α1α2+α1α3+α2α3)下の sf 式で計算します
//@@ # x^1: (@p(α2,α3)+@p(α2,α4)+@p(α3,α4))\ + (@p(α1,α3)+@p(α1,α4)+@p(α3,α4))\ + (@p(α1,α2)+@p(α1,α4)+@p(α2,α4))\ + (@p(α1,α2)+@p(α1,α3)+@p(α2,α3)) //@@@ < 12, 0, 0, 0, 0, 0, 0, 0 >x^1 の項の係数は下の式となります。
x^0: (-α2α3α4) + (-α1α3α4) + (-α1α2α4) + (-α1α2α3)下の sf 式で計算します
//@@ -@p(α2,@p(α3,α4))\ -@p(α1,@p(α3,α4))\ -@p(α1,@p(α2,α4))\ -@p(α1,@p(α2,α3)) //@@@ < -4, 0, 0, 0, 0, 0, 0, 0 >
{β1,β2,β3,β4} は {h_1, h_2, h_3, h_4 } == {e, Bm, Cm, Dm} を使って下のように計算します。
>sf "β1= 1 <1,0,0,0, 0,1,0,0>" < 1, 0, 0, 0, 0, 1, 0, 0 > >sf "β2=Bm<1,0,0,0, 0,1,0,0>" < 1, -1, 0, 0, 0, 0, 0, 0 > >sf "β3=Cm<1,0,0,0, 0,1,0,0>" < 1, 0, 0, 0, 0, -1, 0, 0 > >sf "β4=Dm<1,0,0,0, 0,1,0,0>" < 1, 1, 0, 0, 0, 0, 0, 0 >
g(x) は (1.1.1-4) 式より x^3, x^2,x^1,x^0 の各項の係数は下のように定まります。
n g(x) == Π βi f(x)/(x-αi) i==1 == β1(x-α2)(x-α3)(x-α4) + β2(x-α1)(x-α3)(x-α4) + β3(x-α1)(x-α2)(x-α4) + β4(x-α1)(x-α2)(x-α3)x^3 の項の係数は下のように 4 と計算されます
# x^3 (β1+β2+β3+β4) < 4, 0, 0, 0, 0, 0, 0, 0 >x^2 の項の係数は下のように表されます。
x^2:β1(-α2-α3-α4) +β2(-α1-α3-α4) +β3(-α1-α2-α4) +β4(-α1-α2-α3)下の sf 式で計算できます
//@@ @p(β1,(-α2-α3-α4))\ +@p(β2,(-α1-α3-α4))\ +@p(β3,(-α1-α2-α4))\ +@p(β4,(-α1-α2-α3)) //@@@ < -12, 0, 0, 0, 0, 0, 0, 0 >x^1 の項の係数は下のように表されます。
x^1:β1(α2α3+α2α4+α3α4) +β2(α1α3+α1α4+α3α4) +β3(α1α2+α1α4+α2α4) +β4(α1α2+α1α3+α2α3)下の sf 式で計算できます
//@@ @p(β1,(@p(α2,α3)+@p(α2,α4)+@p(α3,α4)))\ + @p(β2,(@p(α1,α3)+@p(α1,α4)+@p(α3,α4)))\ + @p(β3,(@p(α1,α2)+@p(α1,α4)+@p(α2,α4)))\ + @p(β4,(@p(α1,α2)+@p(α1,α3)+@p(α2,α3))) //@@@ < 12, 0, 0, 0, 0, 0, 0, 0 >x^0 の項の係数は下のように表されます。
x^0:β1(-α2α3α4) +β2(-α1α3α4) +β3(-α1α2α4) +β4(-α1α2α3) < -4, 0, 0, 0, 8, 0, 0, 0 >下の sf 式で計算できます
//@@ @p(β1,(-@p(α2,@p(α3,α4))))\ +@p(β2,(-@p(α1,@p(α3,α4))))\ +@p(β3,(-@p(α1,@p(α2,α4))))\ +@p(β4,(-@p(α1,@p(α2,α3)))) //@@@ < -4, 0, 0, 0, 8, 0, 0, 0 >
実際に g(α)/f'(α) によって β=1+qi が求められます
x@=1+2^(1/4), (4x^3-12x^2+12x-4+8i)/(4x^3 - 12 x^2 + 12 x -4) < 1+1.18921i > # 2^(1/4) ==< 1.18921 > ですmaxima を使えば、無限精度で下のように確認計算できます
============= maxima での確認計算 ====================== fdash(x):=4*x^3 - 12*x^2 + 12*x -4; g(x) :=4*x^3-12*x^2+12*x-4+8*%I; alpha :1 + 2^(1/4); letsimp(g(alpha)/fdash(alpha)); 3/4 2 %I + 2 (D8) ----------- 3/4 2
数値実験を行ってみて、Galois Lemma を不完全にしか理解できていないことが良く分かりました。Galois の基本定理の内容は "3 Gaois Lemma の数値実験 Q(i,1+q)" で行ったような Hαが単位元のみの群 {e} になるときに、端的に表れています。そのときには一つの根を α を追加してやるだけで L == K(α) になってしまいます。また証明のときに使った多項式の次数より、 拡大体ベクトル空間との次数の比が自己同型群の位数に等しい [L:K]==#G(L/K) も解かります。Hα != {e} のときは、そうなるまで、同じことを繰り返せばよいことまで分ります。抽象的な Galois Lamma を読んでいるだけでは Hα と H_α のよく似た記号に惑わされて、Lamma の主張している意味を理解できていませんでした。
Galois 理論の証明は抽象的すぎます。長すぎます。ポアソンはガロアの論文を見た後「代数的可解性の根拠を根の性質に求めるのは議論が循環している。係数のみを見て可解性を判定するのでなければならない」といったそうです。そのような判定ができれば、より望ましいのは認めますが無理な要求です。「議論が巡回している」のは誤解です。このような批判は、ポアソンほどの一流の数学者でも、Galois 理論を不完全にしか理解できなかったことを意味します。この数学実験を行ってみて、そのように誤解したのも良く分かります。Galois 理論が当時の数学者に直ぐには理解されなかったのも良く分ります。それだけ高い抽象度で複雑 膨大な証明手続きが続くからです。具体例を作ろうとしても、手計算では極端に単純な場合しか計算できないからです。たぶん数学課の学部生ではガロア理論を理解できずに卒業する方も少なくないと思います。
ここまで行ってきたような計算を手計算では行うのは無理です。途中でミスが入り込んで終止がつかなくなるだけでしょう。ここでは「Galois 理論の数値実験」で作った {Am,Bm,Cm,Dm,Em,Fm,Gm} を使って sf によって計算してきました。このように sf のファイル変数データが再利用可能なものになっていることに注目してください。私がここで行った作業は、別のユーザーによって再利用できます。α==i や α==1+q のときならば、α1α2α3 などのベクタ値も再利用できます。是非とも、ガロア理論の理解のための具体例の計算に再利用してみてください。
他人の数値実験を見ていても面白いものではないと思います。自分で計画した実験を自分で行うからこそ面白いのですから。是非とも御自分でも計算しながら実験をしてみてください。難解だとされる Galois 理論の理解に役立ててください。