この記事では群論の重要定理であるラグランジュの定理の簡単な説明と、 群論を用いたCodeforces 334 (Div. 1) B. Moodular Arithmeticの解法について説明する。
この記事は
- 群の定義
- 部分群の定義
- 群の位数の定義
- 既約剰余類群
を知っている人を対象として書いた。
さて、ラグランジュの定理とは次の定理のことである。
この定理の証明方法と、応用方法を順に説明する。
ラグランジュの定理
ラグランジュの定理を導くのに必要な2つの定理を紹介する。
1つ目の定理は次のようなもの。
2つ目の定理は次のようなもの。
定理1と定理2を組み合わせるとラグランジュの定理が導ける。
これを言い換えたものが冒頭で紹介したラグランジュの定理だ。
巡回群
これだけでは少し不便なので、もう一つ定理を紹介しよう。
ちなみに\(\langle g \rangle\)は \(g\)が生成する巡回群と呼ぶ。 この定理とラグランジュの定理を組み合わせれば、巡回群の位数は群の位数の約数になることがわかるだろう。
問題の解法
Codeforces 334 Div.1 Bでは\(1,k,\ldots,k^{s-1}\)で集合の要素を類別した。これは既約剰余類群\((\mathbb{Z}/p\mathbb{Z})^{\ast}\)を巡回群\(\langle k \rangle\)を用いて \[ (\mathbb{Z}/p\mathbb{Z})^{\ast}=a_1\langle k \rangle \cup a_2\langle k \rangle \cup \cdots \cup a_d\langle k \rangle \] と分解することに対応する。さて準備段階でしていた議論を思い出すと、それぞれの集合はすべて同じサイズだから、 \[ |(\mathbb{Z}/p\mathbb{Z})^{\ast}|=d|\langle k \rangle| \] が成り立つ。\(|(\mathbb{Z}/p\mathbb{Z})^{\ast}|=p-1\)、\(|\langle k \rangle|=\mathrm{ord}(k)\)なので、 \[ d=\frac{p-1}{\mathrm{ord}(k)} \] になり、グループ数\(d\)を無事求めることができた。後は\(\mathrm{ord}(k)\)を求めるだけ。
ラグランジュの定理を使うと\(\mathrm{ord}(k)\)は\(p-1\)の約数であることがわかる。 そのため、\(p-1\)の約数\(d_1,d_2,\ldots,d_s\)の中で \(k^{d_i}=1\)を満たす最小の\(d_i\)を求めれば、それが位数。 よって位数は\(O(\sqrt{n})\)で求まる。
その他の応用
ラグランジュの定理を使うと次のような定理が示せる。
最強感ハンパない。元の位数が\(|G|\)の約数であることを考えれば実は自明。
さて、既約剰余類群\((\mathbb{Z}/m\mathbb{Z})^{\ast}\)に対してこの定理を適用すると、なんとオイラーの定理が現れる。
すごい。
まとめ
群を使うと構造がすぐに理解できて便利。