符号理論で有限体に初めて触れたクソザコが 群・環・体の勉強をちょっとだけやったメモ

# 目的
数か月後には、群・環・体についてどうせ全部忘れてしまうだろうから、読み返して思い出せるように要点を整理

# Step01. 定義に親しむ: 群・環・体
**定義の理解**: 群・環・体、どれも定義自体は難しくないし、具体例を挙げることも簡単なので最初の一歩はらくちん。

**具体例**: 例えば $\mathbb{R}, \mathbb{C}$ は四則演算に閉じているので体だけど、$\mathbb{Z}$ だと逆数が分数になりうるので体にはならず、ユークリッド整域となる（剰余算や素元分解が定義できる環となる）。

**体から作る多項式環**: 体 $K$ の元を係数に持つ多項式の集合を環にでき、 $K[X]$ と書く。環なので、元である多項式同士の和と積が定義できていないといけないのだが、それらは「自然に」定義すれば上手くいく（同じ次数の係数同士の算術を $K$ 上の算術を使う、とか）。**符号理論でめっちゃ使う**。後でもっと深堀りする。

# Step02. 類別と部分群
**類別と同値関係**: 集合を 互いに重なり合わない複数の集合に分割することを類別という。イメージとしては「色分け」。例えば $\mathbb{Z}$ は 3色に色分けできる:「3で割った余りが0」というチームレッド、「3で割った余りが1」というチームブルー、「3で割った余りが2」のチームグリーン。さて、類別には「同値関係」という概念を導入する必要がある。そりゃそうで「こいつとは同じ類、あいつは違う類」というためにはイコールによく似た二項関係が必要。さっきの例では「3 を法とした合同関係」を同値関係として採用して $\mathbb{Z}$ を3つの同値類に分けた。

**部分群で類別できる**: 上記は 集合論での範囲での議論。ここから先が面白い。群 $G$ の部分群 $H$ が与えられると、$H$ によって $G$ を類別できる。$H$ によって同値関係 $～_H$ が定められるといってもよい。そのやり方： $G$の各元 $g$ に対し、$gH$ （$H$の各元にgを演算してできたものを要素とする集合）を考える。こうして作った$|G|$個は、互いに共通部分を持たないか全く同一である。同じじゃないのが $n$ 個あったとすると、$G$ を $H$ を使って $n$ 色に塗り分けられた、というわけ。

**具体例**: $\mathbb{Z}$ を群とみなそう。演算として「小学校で習う足し算」を採用する。 $3\mathbb{Z}$ (3の倍数からなる整数) は $\mathbb{Z}$ の部分群なので $3\mathbb{Z}$ は $\mathbb{Z}$ を色分けできるはず。そこで、$\mathbb{Z}$ からとりあえず一つの元 0 を選んで、 $3\mathbb{Z} + 0$ をやってみると $C(0) = \\{0, ±3, ±6, ...\\}$ を得る。次に$\mathbb{Z}$ から別の元 1 を選んで、$3\mathbb{Z} + 1$ をすると $C(1) = \\{1, 4, 7, ...\\}$ を得る。同様に2 を選ぶと $C(2) = \\{2, 5, 8, ...\\}$ を得る。この三つで全ての元を覆うので、同値類が3つあることになる。念のため他の元でもやってみる。3を選ぶと、 $\\{0, ±3, ±6, ...\\}$ という集合を得られるが、これは $C(0)$ と同じ（0と3は同じ同値類に含まれているのであたりまえ） 、・・・以下同様。以上、群 $\mathbb{Z}$ に対して部分群 $3\mathbb{Z}$ を定め、$\mathbb{Z}$ を 3つの同値類 $\\{C(0), C(1), C(2)\\}$に類別できた。同値関係を日本語で解釈してみよう。同値類の各要素を見てみると「互いの距離が3の倍数離れている二つの要素は同値関係が成立する」といってもよさそうだし「3を法とした合同関係が同値関係である」ともいえる。

# Step03. 発展的な群・環・体
**正規部分群と商群**: 群 $G$ の部分群 $H$ による同値類を $G/H$ と表記する。$H$ が（単なる部分群でなく）正規部分群の場合、$G/H$ は群になる。つまり、$G/H$ の元である集合同士の演算を 群公理を満たすように構成できる。もっと言うと「集合同士の演算」を「集合の代表同士の $G$ 上の演算」にしてその結果を含む同値類を「集合同士の演算」の結果とするのだ。$3\mathbb{Z} + 1$ と $3\mathbb{Z} + 2$ の足し算をしたければ、代表として1, 2 を選出して、そこで足し算をすると 3 になり、3を含む同値類 は $3\mathbb{Z}$となる。だから、$(3\mathbb{Z} + 1) + (3\mathbb{Z} + 2) = 3\mathbb{Z}$。こういった「同値類同士の演算を、代表元を使った演算に還元する」という手法はいつでも使えるわけではない。使えるような同値関係を定める部分群 $H$ があればラッキー。このラッキーさは「同値関係と群演算が両立する」と表現する。$H$が正規部分群であればそれを満たす。まとめると、群 $G$ から正規部分群 $H$ を見つけると、$H$ が定める同値関係は群演算と両立するので、$G/H$ は群になり、同値類同士の演算を定義できる。この群を商群と呼ぶ。

**イデアルと商環**: 商群と同様の議論を環で展開できる。環 $A$ から上手くイデアル $B$ を見つけられれば、環の演算（加法・乗法）と $B$ で定められる同値関係が両立する。したがって $A/B$ は環になる（＝同値類同士の演算が定まる）。特に、$A$ がユークリッド整域、かつ、$B$ が素元 $p$ からなる単項イデアル $(p)$ である場合、商環 $A/(p)$ は体になる。例えば、多項式環 $\mathbb{R}[X]$ （注:ユークリッド整域でもある）に対して、既約多項式 $X^2+1$ は素元で、単項イデアル $(X^2+1)$ を作れて（注: $X^2+1$を約元に持つ多項式の集合）、それによる同値類も決まる（例えば 元 $X^2+3$ が属する同値類は、 $(X^2+1) + X^2+3$となり、代表元として例えば $2$ が得られる。$2$ を求めるために剰余算をした)。そして、$\mathbb{R}[X]/(X^2+1)$ は体になる。

# Step04. 環・体の拡大
**K(X):= 有理式体**: $K$ をユークリッド整域とする（つまり体でもいい）。$K(X)$ は有理式体と呼ばれ、分母・分子に $K[X]$（$K$ の多項式環) の元を選んで作った $X$ の多項式の分数からなる体である（例: $(X^2 + 1) / (X + 1)$ とか）。

**K[γ]:= 環の拡大, K(γ):= 体の拡大**, : 環 $K$ に新しい一つの元 γ を付け加えて作った新しい環を $K[γ]$ と表記する。体 $K$ に新しい一つの元 γ を付け加えて作った新しい体を $K(γ)$ と表記する。 $K[γ]$ の見た目は多項式環 $K[X]$ に形式的に γ を代入したように見えるが、それは意図通り。なぜなら $K[X]$ の要素の各 $X$ にγを形式的に代入した数で、この新しい環の元を全て表現できるから。同様に$K(γ)$ の見た目は有理式体 $K(X)$ に形式的に γ を代入したように見えるが、それは意図通り。

**具体例**: $\mathbb{R}(i)$ は 実数体に虚数単位を付け加えた拡大体。$\mathbb{Q}(\sqrt{2})$ は有理数体に 2の二乗根を付け加えた拡大体。

**商環と拡大体の超重要な関係**: $K(γ)=K[γ] ≅ K[X]/(f(X))$ ただし γ は既約多項式$f(X)$ の根。この定理は「拡大体には対応する商環 が存在する」と読めるし、「拡大体での乗算には、多項式環での剰余算 が対応する」とも読める。具体例: $\mathbb{R}(i) ≅ \mathbb{R}[X]/(X^2+1)$  ただし $i$ は虚数単位。この定理は拡大体を作るときの有力なツールとなる。

**具体例 =複素数の四則演算の正当化**: 拡大体 $\mathbb{R}(i)$ での四則演算を導こう。定理は $\mathbb{R}(i) ≅ \mathbb{R}[X]/(X^2+1)$ となる。拡大体の元 $a+bi$ を 商環の元（＝同値類） $(X^2+1)+a+bX$ に対応付ける。（この同値類の代表元は $a+bX$ となるので、$i$ を $X$ に形式的に置き換えると対応する代表元が得られるという風にも読める）。拡大体の元同士の乗算は、同値類同士の乗算に対応。そして、同値類同士の乗算は、代表元の演算で考えられて、結局 $X^2+1$ を使った剰余算に帰着: $(a+bX)(c+dX) ～ (ac-bd) + (ad+bc)X$。この結果を同値類の言葉に変換し、さらに複素数の言葉に変換すると $(a+bi)(c+di) = (ac-bd) + (ad+bc)i$ となり、よく知った結果になる。加法についても同様なので略。

# Step05. そして有限体へ
$\mathbb{Z}_2$: 0 と 1 のみからなる体。足し算: 0+0 = 1+1 = 0, 0+1=1+0 = 1で定義。掛け算: 0×0 = 0×1 = 1×0 = 0, 1×1 = 1で定義。足し算の逆元は、 -0 = 0, -1 = 1、掛け算の逆元 1^{-1} = 1。元が二つしかないのでビット演算と完全に対応。足し算は XOR(C言語等では `^`)。掛け算は AND (C言語等では `&`)に対応。

$\mathbb{Z}/(2)$: ユークリッド整域 $\mathbb{Z}$ において 素元である 2 から作った単項イデアル (2)で商環をつくる。商環の位数は 2 となる。代表元として 0, 1 を選出して演算を考えると Z_2 と同型になる（前述の定理から明らかである、というよりもこの事実から $\mathbb{Z}_2$ の演算を機械的に導出することができる）



$\mathbb{Z}_2[X]/(X^2+X+1)$: 既約多項式 $X^2+X+1$ の解をα とおくと、 αによる拡大体を考えていることに相当。同値類は 4つあって、代表元で表すと $\\{0, 1, X, X+1\\}$。代表元の演算を $X^2+X+1$ を使った剰余算としてよいので商環での演算を機械的に構成できる。また、拡大体の元を $\\{0, 1, α, α^2\\}$ とかけるので、同型写像を用いて、拡大体での演算も機械的に構成できる。


# 参考
『なっとくする群・環・体』野崎氏

# ひとこと
- 「集合 → 加群 → 環 → 整域 → ユークリッド整域 → 体」と成長していく
    - 群は、加法や乗法を演算という名称で一般化して扱いたいときに使う
- $\mathbb{R}(i) ≅ \mathbb{R}[X]/(X^2+1)$ の理解が初心者の目標といえる
- 多項式に出てくる $X$ って何者だよと今でも思っている
- 「正規部分群・イデアルとは何か？」よりも「正規部分群・イデアルによって何が実現できるのか？」に注目した方がよい。重要なのは「演算と同値関係が両立する」だとか「代表元での演算に還元する」だとか「同値類同士の演算がwell definedになる」ということが目標でそのために正規部分群だとかイデアルだとかの性質が要請される。
- 有限体の記述が荒い。位数・標数についてや、有限体の同型性についても書きたかった