原始元定理の証明
📂整数論原始元定理の証明
定義
1≤a≤pがordp(a)=p−1を満たす場合、法pの原始根と定義される。
定理
全ての素数pはϕ(p−1)個の原始根を持つ。
説明
ordp(a)=p−1を満たすaを原始根と呼ぶ理由は、フェルマーの小定理によりap−1≡1(modp)であるので、正確にordp(a)=p−1であれば、aの累乗で1とpの間の全ての数を表せるからだ。
例えばp=7の原始根a=3を考えると
1≡2≡3≡4≡5≡6≡30(mod7)32(mod7)31(mod7)34(mod7)35(mod7)33(mod7)
今回はaに焦点を当ててp=7を考えると
11≡23≡36≡43≡56≡62≡1(mod7)1(mod7)1(mod7)1(mod7)1(mod7)1(mod7)
ここでp=7の原始根は3,5二つで、
ϕ(7−1)=ϕ(6)=ϕ(3)ϕ(2)=(3−1)(2−1)=2
とピッタリ合っていることが確認できる。一方でϕ(p−1)は少なくとも1であるため、正確な数ではなく存在だけを言及するのに使っても構わない。このオイラーのφ関数ϕは突然出現したように見えるかもしれないが、証明過程で欠かせない核心要素だ。
証明
Part 1.
位数の性質により、全ての1≤a≤(p−1)に対して、今(p−1)を割る全ての約数dに対して関数ψを
ψ(d):=∣{a ∣ 1≤a<p∧ordp(a)=d}∣
のように定義しよう。Part 4でこのψがオイラーのφ関数ϕと実質的に同じ関数であることを示す。
Part 2.
(p−1)を割る約数をnとし、(p−1)=nkであり、(Xp−1−1)を因数分解すると
Xp−1−1===Xnk−1(Xn)k−1(Xn−1)((Xn)k−1+(Xn)k−2+⋯+(Xn)2+(Xn)1+1)
である。フェルマーの小定理により、
Xp−1−1≡0(modp)
はX=1,2,⋯,(p−1)を根として持ち、合同方程式に対する代数学の基本定理により、Xn−1≡0(modp)は多くてもn個の根を持つため、
(Xn)k−1+(Xn)k−2+⋯+(Xn)2+(Xn)1+1≡0(modp)
は多くてもn(k−1)個の根を持つ。もう一度
Xp−1−1≡(Xn−1)((Xn)k−1+(Xn)k−2+⋯+(Xn)2+(Xn)1+1)(modp)
を考えると
- 左辺には正確に(p−1)=nk個の根があり、
- 右辺には多くてもn個の根と、多くてもn(k−1)個の根が存在する。
これを満たすためには、Xn−1≡0(modp)は少なくともn個、つまり正確にn個の根を持たなければならない。要約すると、n∣(p−1)の場合、
Xn−1≡0(modp)
は0≤X<pで正確にn個の解を持つ。
Part 3. i=1∑rψ(di)=n
nの全ての約数をd1,⋯,drと表示してみよう。
nの約数dがd=ordp(a)を満たす場合、位数の定義から
ad=aordp(a)≡1(modp)
である。ここで、与えられたdに対してこの式を満たすaの数はψ(d)となる。
しかし、
an≡ad⋅(dn)≡1(dn)≡1(modp)
であるため、ψ(d)個のX=aはXn−1≡0(modp)の解となる。
整理すると、Xn−1≡0(modp)の解の数は
d∣n∑ψ(d)=ψ(d1)+ψ(d2)+⋯+ψ(dr)
となる。上のPart 2でXn−1≡0(modp)の解の数がnだと述べたので、
d∣n∑ψ(d)=ψ(d1)+ψ(d2)+⋯+ψ(dr)=n
となり、これはオイラーのφ関数の和公式と類似している。
Part 4. ϕ(n)=ψ(n)
全ての自然数nに対してϕ(n)=ψ(n)が成り立つことを示せばよい。
ψに関する計算は、特に言及がない限り、i=1∑rψ(di)=nを用いて得られたものである。
- Case 1. n=1
ϕ(1)=1でありψ(1)=1であるため、ϕ(1)=ψ(1) - Case 2. 素数qに対してn=qの場合
ϕ(q)=q−1でありψ(q)+ψ(1)=qであるため、ϕ(q)=q−1=ψ(q) - Case 3. 素数qに対してn=q2の場合
q2の約数は1,q,q2だけであるため、ϕ(q2)+ϕ(q)+1=q2=ψ(q2)+ψ(q)+1
である。両側からCase 1, 2の結果で項を減じれば、ϕ(q2)=ψ(q2) - Case 4. 異なる素数q1,q2に対してn=q1q2の場合
q1q2の約数は1,q1,q2,q1q2だけであるため、ϕ(q1q2)+ϕ(q1)+ϕ(q2)+1=q1q2=ψ(q1q2)+ψ(q1)+ψ(q2)+1
である。両側からCase 1, 2の結果で項を減じれば、ϕ(q1q2)=ψ(q1q2) - Otherwise.
他の場合は、Case 3, 4の結果をそのまま項に分ければ、ϕ(n)=ψ(n)を得る。
Part 5.
Part 2, 3で我々はn∣(p−1)を満たす全てのnに対して、ϕ(n)個のaがordp(a)=nを満たすことを確認した。ここでk=1、つまりn=p−1である場合、ordp(a)=p−1であるため、aは法pの原始根になる。したがって、素数pはϕ(p−1)個の原始根を持つ。
■