Loading [MathJax]/jax/element/mml/optable/BasicLatin.js

アルゴリズム論特論(塩田)第7回 (1) 剰余類

戻る / 次へ

剰余類

 まずは定義から。
Def.1 法 n の合同関係により a の属する同値類を
ˉa
と表して、a の属する「法 n の 剰余類 ( じょうよるい ) 」と呼ぶ。 その実体は集合であって、
ˉa={na と合同な整数たち}
である。
Rem.2 ab(modn)    ˉa=ˉb
 前々回「 はイコール感覚で使える」というフレーズが出てきましたが、 本当にイコールにしてしまおう、という表記法です。
Ex.3 n=7, a=2 のとき、集合として
¯2={,12,5,2,9,}
であり、
=¯(12)=¯(5)=¯2=¯9=
です。
Def.4 法 n の剰余類全ての集合を Z/nZ と表し、 ゼット・オーバー n ゼットと読む。
Z/nZ={¯0,¯1,,¯(n1)}
であり、Z/nZ には n 個の要素がある。

剰余類の四則演算

 法演算を剰余類で表現すると
Th.5 Z/nZ には次のようにして加減乗除の四則演算が定義できる。 ˉa+ˉb=¯(a+b)ˉaˉb=¯(ab)ˉa×ˉb=¯(a×b)ˉa÷ˉb=¯(a×1b) ただし除算においては、除数 bgcd を満たすものに限り、\inv{b} は法 n での b の逆数を表す。
 うかっと見ると意味が分かりませんが、 左辺は剰余類同士の演算で、それを右辺の式で定義しよう、という式です。

 例えば n=7 のとき、
\ol{2} = \ol{9}, \quad\ol{3} = \ol{10}
なので
\ol{2} \times \ol{3} = \ol{(2 \times 3)}
でもあるし、
\ol{2} \times \ol{3} = \ol{9} \times \ol{10} = \ol{(9 \times 10)}
でもあるのですが、第5回 Th.6 から
\ol{(2 \times 3)} = \ol{(9 \times 10)}
が保証されているので矛盾が生じない訳です( well-defined, と言います)。 除算も同様に第6回 Th.5 から矛盾が生じません。