数体ふるい法のアルゴリズムを読んでいると分からない言葉が出てきてすぐ挫折します。。1行読むのにも一苦労。とりあえず、数学力が足りません。ということでちょっとずつ勉強していこうと思う。
今日は、群、環、体について。英語では、group、ring、fieldとよばれます。1つずつ概念を抑えていこうと思います。ここでは具体例を考えながら、その性質を考えていきます。以下では、
ここに記載されている定義にしたがって議論を進めます。
まず、全体的な話。これらの概念は、集合+その集合に対する演算をひとくくりにした概念です。集合だけではなく、それにたいする演算も統一的に扱って議論を進めたい場合にこのgroupとかring、filedといった概念が必要になります。
group
群では、集合S上の要素x, yについて二項演算opを施した結果もまた集合Sに含まれます。たとえば、整数の集合Zを考えます。Zの要素に対して二項演算+を実行します。すると結果は整数になります。
"整数 + 整数 = 整数"なんて当たり前じゃないか、と思うかもしれないですが、これはよく考えるととても面白いことです。
群の定義を見ると、いくつかの例は簡単に思いつきます。例えば、整数の集合と演算子+は群を成します。しかし、正の整数と+は群を成しません。単位元が存在しないからです。正の整数 + {0}の集合にすると、単位元は存在します。しかし逆元が存在しないため、群にはなりません。
次に、整数の集合と*を考えてみます。単位元は1です。しかし、逆元が存在しません。一般に整数nの逆元は1/nとなりますが、これは必ずしも整数にはなりません。それでは、整数じゃなくて実数集合を考えてみます。これは、群になるような感じがしますが、0に対する逆元は存在しません。よってこれも群ではありません。実数集合から0を除いたものと演算*は群をなします。
上記では、無限集合を考えましたが、有限集合の場合を考えてみます。{0, 1}という集合を考えます。これに対して演算ORを考えます。これは群をなすでしょうか?
まず、演算ORは集合に対してclosedです。単位元は0です。演算はassociativeです。但し、1に対する逆元が存在しません。よって、{0, 1}と演算ORは群をなしません。では演算ANDに対してはどうでしょうか?演算はclosed、単位元は1、演算はassociativeですが、0に対する逆元がありません。有限集合で群をなすものはそう簡単には見つけられないのでしょうか。。
法3の世界を考えます。剰余類の完全代表系は、{0, 1, 2}です。この法の世界において演算+を考えます。演算はclosed、単位元は1、演算はassociativeです。すべての要素について逆元は存在するでしょうか?(0, 1, 2)に対して、(0, 2, 1)が逆元になります。よって、この系は群をなします。
ring
環は集合Sと二つの演算add、mulを統一的に扱うための概念です。群では考える演算子は1つでしたが環では2つです。それぞれ、足算と掛け算に似たような性質を持つためここではadd、mulと表記します。定義を見ると、(S, add, mul)が環であるとき、(S, add)は群をなすようです。つまり、(S, add)が群であるということは、(S, add, mul)が環であるための必要条件らしいです。
まず、対象の集合が無限集合である環を考えてみます。整数の集合と+はアーベル群をなすので、これに*を加えると環になるか考えてみます。アーベル群とは、演算がcommutativeな群のことです。
ちょっと話を脱線します。普通演算子はcommutativeな気がします。commutativeじゃない群(アーベル群じゃない群)ってどういうのがあるんでしょうか?
"-"はcommutativeじゃありません。整数集合と"-"は群を成すでしょうか?演算は集合に対してclosed、単位元は存在しません。n - 0 = nですが、0 - n = -nとなってしまうので演算-に対する単位元は存在しません。んー、これは困った。除算についても同様の議論で、群になりません。
行列の演算はどうでしょうか?行列の掛け算はcommutativeじゃないです。正方行列と演算*は群をなすでしょうか?演算はclosedです。単位元は単位行列です。行列の積はassociativeです。逆元の存在はややこしい。行列式が0だと逆行列が存在しないのでダメでは・・・?ぐぬぬ。。ということで集合の設定を変えます。
「正則行列集合と演算子*は群を成すか?」正則行列同士の積は正則行列になります。ということで、演算は集合に対してclosed。単位元は単位行列。正則行列なので、逆行列が存在し、これが逆元になります。行列の積はassociative。よってこれは群です。しかし、行列の積はcommutativeじゃないので、これはアーベル群ではありません。出ました!これが群だけどアーベル群じゃない例ですね。
話を元に戻します。環の話です。整数集合と+, *は環をなすか?まず、整数集合と+はアーベル群を成します。*はcommutativeです。*は+に対してdistributiveです。ということで、これは環ですね。こうやってみると、環は演算子addについては厳しい制約を課しますが、mulについては緩いです。
では、有限集合の環を考えてみます。群のところでみたように、法3の世界でその剰余類の完全代表系と加算+は群をなしました。これに乗算*を加えると、これらは環をなすでしょうか?まず、{0, 1, 2}と+はアーベル群をなします。*はcommutativeで、+に対してdistributiveです。よってこれは環です。
field
最後、体です。定義によると、体は環です。さらに、体では、演算addに対する単位元以外の要素集合とmulが群をなすことを要求します。環でゆるゆるだったmulに対する条件を厳しくしたものが体であるといえます。
無限集合の体を考えてみます。整数集合と+, *は環でした。では、これは体でしょうか?つまり、0以外の整数と*は群を成すか?答えはNoです。逆元1 / nが整数になるとは限らないからです。よって、整数集合と+, *は環ですが、体ではありません。
では、実数の集合と+, *を考えてみましょう。実数集合と+はアーベル群です。また、*はcommutative、+に対してdistributiveなので、これは環です。では、これは体でしょうか?+の単位元0以外の実数集合と*は群を成すでしょうか?これは群のところで議論したように、答えはYesです。よって、実数集合と+, *は体です。
いよいよ終盤戦です。有限集合の体を考えてみましょう。法3の下で、{0, 1, 2}, *, +は環でした。これは体でしょうか?{1, 2}は法3の下で*に対して群をなすでしょうか?まず、演算が集合に対してclosedか否か。{1, 2}から任意の2つの要素をとって*を適用しても(mod 3)で0にはなりません。よってclosedです。単位元は1で、すべての要素に対する逆元も存在します。また、*はassociativeです。よって、これは体であるといえます。
どうやら、法の世界での体には面白い法則があるようです。今度は法4の下で同様の議論をしてみます。まず、{0, 1, 2, 3}と+について考えます。以下の表に演算+に対する結果をまとめます。
演算は集合に対してclosedで、単位元0を集合内にもっています。また、表から明らかなようにすべての要素が逆元をもっています。+はassociativeかつ、commutativeです。よって、これはアーベル群です。
+ | 0 | 1 | 2 | 3 |
0 | 0 | 1 | 2 | 3 |
1 | 1 | 2 | 3 | 0 |
2 | 2 | 3 | 0 | 1 |
3 | 3 | 0 | 1 | 2 |
では、{0,1,2,3}, +, *は環でしょうか?*はassociativeかつ+に対してdistributiveです。よってこれは環です。ここまでは法3のときと同じです。
それでは、{0, 1, 2, 3}, +, *は体でしょうか?つまり、{1,2,3}, *は群でしょうか?法4のもとでの乗算の結果を表に書いてみます。
* | 0 | 1 | 2 | 3 |
0 | 0 | 0 | 0 | 0 |
1 | 0 | 1 | 2 | 3 |
2 | 0 | 2 | 0 | 2 |
3 | 0 | 3 | 2 | 1 |
対象となる集合は{1,2,3}なので、0のところは一応書きましたが無視してください。ここで、1の行と3の行は、2の行と違っています。よく見てください。1の行は、(0,1,2,3)となっていて、0-3までの数字がすべて出て来ます。3の行も(0,3,2,1)となっていて同様です。しかし、2の行は、(0,2,0,2)となっていて、{1,3}が出てきません。これは法の4と2が共通因数を持っているからです。これが体とどう関係があるのか見てみます。
{1, 2, 3}と*が群をなすか?まず、演算がclosedになっていません。2*2 = 0 (mod 4)なので、集合{1,2,3}に対して閉じていません。単位元はあります。1です。associativityもOKです。逆元はどうでしょう?2に対する逆元はありません。これは、2と4が互いに素ではないためです。
なぜaとbが互いに素でない場合、ax = 1 (mod b)となるようなxは存在しないのでしょうか?これは、目盛りがb個ついている時計を考えれば分かります。この時計の針を毎回a目盛りずつ進めると、どんなにまわしてもgcd(a, b)単位でしか針はまわらないのは明らかです。よってgcd(a, b) = 1出ない限り、ax = 1 (mod b)となるようなxは存在しません。
ということで、{0, 1, 2, 3}と+, *は環ですが、体ではありません。上記の逆元の存在の理論から、一般に、法pにおける剰余類の完全代表系と+, *からなる系は、pが素数なら体になる。pが素数でなければ、環だが、体ではない。となります。おもしろいですねー。