剰余類環

数学において、自然数 n を法とする合同類環（ごうどうるいかん）あるいは剰余（類）環（じょうよ[るい]かん、英: residue [class] ring modulo n, 独: Restklassenring modulo n）は、整数を n で割った「剰余」を抽象的な類別として捉えたものである。 本項は剰余類環 Z/nZ の代数的な定義と性質について述べる。合同類別に関するより平易な導入については整数の合同を参照のこと。 n ≥ 2 を自然数とする。n で割った剰余が等しい整数をすべて集めたものを、「n を法とする」合同類あるいは剰余類と呼ぶ。したがって、ふたつの整数が同じ剰余類に属するのは、それらの差が n で整除されるときであり、かつそのときに限る。n を法とする剰余類の全体は、以下に述べる加法と乗法に関して n を法とする合同類環あるいは剰余類環と呼ばれる環を成す。剰余類環はしばしば Z/nZ, Z/n, Zn などで表される。 剰余類に対する加法および乗法は、代表元 (representive, Vertreter) とも呼ばれる、各剰余類に属する任意の元（これは通常の整数）に対して整数としての加法および乗法を行い、その結果として得られる和および積の属する剰余類を対応させるものである。これは a の属する剰余類を [a] と表せば [ a ] + [ b ] := [ a + b ] , [ a ] × [ b ] := [ a × b ] {\displaystyle [a]+[b]:=[a+b],\quad [a]\times [b]:=[a\times b]} と表せる。ここで、この演算が「剰余類に対する演算」としてきちんと定義されていることは、結果（和や積）として求まる剰余類が代表元の取り方に依らないこと、すなわち、a1, b1, a2, b2 を [a1] = [b1] かつ [a2] = [b2] を満たす任意の整数とすれば、 [ a 1 + a 2 ] = [ b 1 + b 2 ] , [ a 1 × a 2 ] = [ b 1 × b 2 ] {\displaystyle [a_{1}+a_{2}]=[b_{1}+b_{2}],\quad [a_{1}\times a_{2}]=[b_{1}\times b_{2}]} が成り立つことから確認できる。 Zn と書くと、素数 p に対する p-進整数全体の成す環 Zp と混同の虞があり、剰余類環を Zn で表すことを好む文脈では、p-進整数の全体は Z ^ p {\displaystyle {\hat {\mathbb {Z} }}_{p}} で表すこともある。Z/nZ と書くのが、面倒だがもっとも誤解は少ないだろう。また、Z/n という表記もあるが稀であり、加えて 1 n Z := { k n ;   k ∈ Z } {\displaystyle {1 \over n}\mathbb {Z} :=\left\{{k \over n};\ k\in \mathbb {Z} \right\}} なる集合と紛らわしい。 記号の濫用だが、記述の面倒を避けるため慣例的に、同値類を表すのに代表元に施す角括弧をしばしば省略して、代表元とそれが属する合同類とを同じ文字で表す。したがってこのとき、同じ合同類を表すのに無数の符牒が与えられていることになる。たとえば、n = 0 および n − 1 = −1 は Z/nZ に属する合同類の間の関係式と考えれば有効な式である。また、慣例的に合同類を表す符牒が無数にあるという不定性を除くために、各合同類から「標準的」(canonical) な代表元を選んで、それと合同類とを同一視することもよく行われる。 このような慣例的規約に従えば、剰余類環 (Z/nZ, +, ×) は 0, 1, ..., n − 1 の n 個の元からなる。また、次の式 ( a + b ) mod n , ( a × b ) mod n {\displaystyle (a+b){\bmod {n}},\quad (a\times b){\bmod {n}}} は整数環 Z における演算から得られる合同類を表すものであるけれども、規約に従えば、それと同時に Z/nZ における演算そのものを表しているものと、直ちに解釈することができる。また、剰余類環における（和や積といった）算術演算を繰り返す計算（すなわち、Z/nZ 係数の多項式 p(X) の、Z/nZ の任意の元 k における値 p(k) の評価）は、それを整数と見て計算した結果について、法 n に関する剰余を取ればよい。この最後の操作をモジュラー簡約 (modular reduction) などともいう。ただし、モジュラー簡約の操作は整数と見ての計算の途中のどんな場所でも行ってよい。 2-冪 n = 2k に対しては、0 に関して対称な代表系 { − n 2 , … , − 1 , 0 , 1 , … , n 2 − 1 } {\displaystyle \left\{-{n \over 2},\ldots ,-1,0,1,\ldots ,{n \over 2}-1\right\}} をとることもできる。これはつまりビット列としての整数の表示、いわゆる二進表示に対応するものである。 任意の自然数 n ≥ 2 に対して Z/nZ は、nZ を零元、1 + nZ を単位元とする可換環を成す。 p が素数ならば剰余類環 Z/pZ は、p を法とする剰余体とも呼ばれる、位数 p の有限体を成し、（体を表す英語 "field" の頭文字をとって）Fp とも書かれる。各元の乗法に関する逆元はユークリッドの互除法を用いて簡単に計算することができる。 一方、n が素数でないならば、n の任意の約数が零因子となって乗法逆元を持たないので、n を法とする剰余環は体にはならない。n との最大公約数 (a, n) が 1 である（つまり n と互いに素である）ような整数 a に対し、合同類 a + nZ は、法 n に関する既約剰余類または既約合同類と呼ばれる。既約剰余類の全体は既約剰余類群（英語版）と呼ばれる群 (Z/nZ)× を成す。これは環 Z/nZ の単数群であり、その位数はオイラー数 φ(n) である。 合同類における算術の一つの例をアナログ時計の文字盤を使って図示することができる。時計の文字盤には「時間」に応じて 1 から 12 までの番号が振られていて「12時」は「0時」と同一であり、「0時」から始めて「1時間」加えるごとに順番に、12の数字のそれぞれを辿ることができる。 「時間」を足し算するには、加えられるほうの時間を起点にして、加えたい時間ぶんだけ時計を進めればよい。たとえば 4 + 5 がいくつになるのか知りたければ、「4時」のところを起点にして「5時間」後にいる場所が「9時」のところなので 4 + 5 = 9 という具合である。これで 9 + 5 がいくつになるか計算してみよう。同様に「9時」のところを基点に、針を「5時間」進めると「2時」のところにいるはずである。つまり、この系のなかでは 9 + 5 = 2 ということになる。さて、どうしてこうなるのか少し考えてみよう。単純に 5 と 9 とを足し合わせると 14 となるのだが、時計の盤面では「14時」は「2時」と一致するから、ここでは 14 = 2 であったわけで、ここでの加法はふつうの和を計算してから12を引けるだけ引いたものということになる。これは 12 を法とする剰余類に相当し、このタイプの足し算は「12 を法とする加法（modulo 12 の加法）」と呼ばれる。このとき、12 を加えることは、どの「時間」x についても 12 + x = x となるから、何の変化ももたらさない。これで「12時」の数字が「0時」のところに配置される理由を説明できる。 乗法は加法から得られる。例えば、3 × 4 を計算したければ、これを 3 + 3 + 3 + 3 という和の形に書き直して、12 を引けばよい。4 × 4 なら「16時」は modulo 12 で「4時」なので 4 × 4 = 4 となる。 そういうわけで、「時間」にこのような加法や乗法を考えたものとして剰余類環 (Z/12Z, +, ×) を表すことができる。 本節で 12 としていたところを、任意の自然数 n に置き換えても同じことができる。たとえば Z/4Z = {0, 1, 2, 3} においては 1 = 1, 2 = 1 + 1, 3 = 1 + 1 + 1, 0 = 1 + 1 + 1 + 1 である。 整数を 2 で割った剰余は 0 か 1 となるから、Z/2Z = {0, 1} であり、これはすべての剰余類環のなかで位数最小のものである。また、2 は素数なのでこれは位数最小の有限体 F2 とも一致する。 法 3 に関する剰余類は 0 := [ 0 ] = { … , − 6 , − 3 ; 0 , 3 , 6 , 9 , 12 , … } {\displaystyle \mathbf {0} :=[0]=\{\ldots ,-6,-3;0,3,6,9,12,\ldots \}} : 3 で割り切れるもの 1 := [ 1 ] = { … , − 5 , − 2 ; 1 , 4 , 7 , 10 , 13 , … } {\displaystyle \mathbf {1} :=[1]=\{\ldots ,-5,-2;1,4,7,10,13,\ldots \}} : 3 で割って 1 余るもの 2 := [ 2 ] = { … , − 4 , − 1 ; 2 , 5 , 8 , 11 , 14 , … } {\displaystyle \mathbf {2} :=[2]=\{\ldots ,-4,-1;2,5,8,11,14,\ldots \}} : 3 で割って 2 余るもの の三種類である。ここでたとえば、1 + 2 を計算したいときは、4 ∈ 1 および 8 ∈ 2 で 4 + 8 = 12 ∈ 0 だから 1 + 2 = 3 とすればよい。このようにして Z/3Z = {0, 1, 2} における演算表 が得られる。(Z/3Z, +, ×) は環であり、この場合さらに体となり、F3 で表される（英語で体を意味する "field" に由来）。 もうひとつ、法 4 に関する剰余類を考えよう。Z/4Z = {0, 1, 2, 3} は 0 = { … , − 4 ; 0 , 4 , 8 , 12 , 16 , … } {\displaystyle \mathbf {0} =\{\ldots ,-4;0,4,8,12,16,\ldots \}} 1 = { … , − 3 ; 1 , 5 , 9 , 13 , 17 , … } {\displaystyle \mathbf {1} =\{\ldots ,-3;1,5,9,13,17,\ldots \}} 2 = { … , − 2 ; 2 , 6 , 10 , 14 , 18 , … } {\displaystyle \mathbf {2} =\{\ldots ,-2;2,6,10,14,18,\ldots \}} 3 = { … , − 1 ; 3 , 7 , 11 , 15 , 19 , … } {\displaystyle \mathbf {3} =\{\ldots ,-1;3,7,11,15,19,\ldots \}} で与えられる。この剰余類の乗法では 2 × 2 = 0 となり、2 は零因子である。したがって、Z/4Z ∖ {0} は乗法について閉じていない。このことから、代数系 (Z/4Z, +, ×) は（4 を法とする剰余類環として）可換環を成すのみで、零因子が乗法逆元を持たないため体にはならない（位数 4 の有限体 F4 は存在するにもかかわらず、である）。 コンピュータなど計算機において多用される固定長の整数型の演算は、剰余類環における演算である。たとえば16ビットの場合 216 = 65536 であるから（しばしば short integer として扱われる）16ビット整数の全体は剰余類環 Z/65536Z を成す。たとえば、足し算 65535 + 1 の結果として計算機は 0 を返し、32768×2 も同様に 0 になる（以上は符号無し（unsigned）の場合）。 剰余類の概念は整数環ではないほかの環に対しても考えることができる。イデアルの概念を定義して、イデアルを法とする剰余類を構成すれば、それらの全体は再び環を成し、環のイデアルによる剰余（類）環あるいは商環と呼ばれる。 ^ あるいは Z/nZ と書く代わりに Z/(n) と書くこともある。これは一般に、環 R の元 a が生成する R の単項両側イデアルはしばしば (a) で表され、それにしたがえば Z のイデアルとして nZ = (n) となることによる。