幂模p与原根
如果 a a 和互素,费马小定理告诉我们, ap−1≡1 (mod p) a p − 1 ≡ 1 ( m o d p )
辣么这个指数 p−1 p − 1 是唯一的使得结果为1的嘛
我们选一些 a a 和看一下
对于 a=3,p=7 a = 3 , p = 7 :指数只有为6时才取到1。
模p余1的a的最小次幂:
从表中可以看出,似乎有这样的性质:
- 最小指数 e e 似乎整除
- 总有一些指数需要到指数 p−1 p − 1
为了方便,我们定义 a a 模的阶指 ep(a)=[使得ae≡1(mod p)的最小e] e p ( a ) = [ 使 得 a e ≡ 1 ( m o d p ) 的 最 小 e ]
a a 和要是互素的。
规定 ep(a)≥1 e p ( a ) ≥ 1 显然 ep(a)≤p−1 e p ( a ) ≤ p − 1
次数整除性质 设a是不被素数 p p 整除的整数,假设,则次数 ep(a) e p ( a ) 整除 n n ,特别地总整除 p−1 p − 1
证明: 次数
ep(a)
e
p
(
a
)
的定义告诉我们
假设 an≡1( mod p) a n ≡ 1 ( m o d p )
设 G=gcd(ep(a),n) G = g c d ( e p ( a ) , n )
并设 (u,v) ( u , v ) 是方程 ep(a)u−nv=G e p ( a ) u − n v = G 的正整数解。(可知一定有解)
现在有两种不同的方法计算
aep(a)u
a
e
p
(
a
)
u
这表明 aG≡1( mod p) a G ≡ 1 ( m o d p ) ,所以必有 ep(a)≤G e p ( a ) ≤ G
另一方面 G | ep(a) G | e p ( a ) ,所以 G=ep(a) | n G = e p ( a ) | n
证毕。
下一个任务是观察具有最大可能次数,即 ep(a)=p−1 e p ( a ) = p − 1 的数a
如果a是这样的数,则幂
必须都是模 p p 不同的。[如果幂不是全不相同,则对某指数有 ai≡aj (mod p) a i ≡ a j ( m o d p ) ,由于a,p互质,则有 1≡aj−i (mod p) 1 ≡ a j − i ( m o d p ) ,由于 j−i<p−1 j − i < p − 1 ,则矛盾]。这 p−1 p − 1 个不同的数取遍了 [1,p−1] [ 1 , p − 1 ] 。
这样的数很重要,为了方便,我们称这样的数 g g 为模的原根,即 ep(g)=p−1 e p ( g ) = p − 1 。
回顾前面的那张表,5的原根是2,3, 7的原根是3,5 ,11的原根是2,6,7,8
可见原根可以不止一个,辣到底有多少个?所有素数都有原根吗?
原根定理 每个素数 p p 都有原根。更精确地,有恰好个模 p p 的原根。
神奇!尽管原根定理没有指出求的原根的具体方法,但一旦能求得一个原根,就可以容易得求出其他原根(后面介绍)。求原根的常用方法是从小到大枚举正整数a=2,3,5,6……。因为原根的分布比较广。(思考为什么没有4)。
为啥没4?因为 4(p−1)2≡2p−1≡1 (mod p) 4 ( p − 1 ) 2 ≡ 2 p − 1 ≡ 1 ( m o d p ) ,即4一定不是原根。(可见2的高次幂都不是)
证明: 对 1∼p−1 1 ∼ p − 1 之间的每个数 a a , ,所以,对整数 p−1 p − 1 的每个因子 d d ,我们可能会问,有多少个等于 d d ,由于要用,我们记这个数为。
则 ψ(p−1) ψ ( p − 1 ) 为模 p p 的原根个数。
设是整除 p−1 p − 1 的任何数,比如说 p−1=nk p − 1 = n k ,则可将多项式 Xp−1−1 X p − 1 − 1 分解成 Xnk−1=(Xn)k−1=(Xn−1)((Xn)k−1+(Xn)k−2+...+(Xn)2+Xn+1) X n k − 1 = ( X n ) k − 1 = ( X n − 1 ) ( ( X n ) k − 1 + ( X n ) k − 2 + . . . + ( X n ) 2 + X n + 1 )
我们数一下这些多项式模 p p 有多少个根。
首先,恰好有 p−1 p − 1 个解,即 [1,p−1] [ 1 , p − 1 ] 这些。
另一方面,
(Xn−1)≡0 (mod p)
(
X
n
−
1
)
≡
0
(
m
o
d
p
)
至多有
n
n
个解,且
至多有 nk−n n k − n 个解。
因此我们得到:
如果上式成立,则 Xn−1 X n − 1 模 p p 恰有个根。这就证明了下述重要事实。
如果 n | p−1 n | p − 1 ,则同余式 Xn−1≡0 (mod p) X n − 1 ≡ 0 ( m o d p ) 恰好有 n n 个根满足
现在再用另一种计数方法计数上面同余式的解的个数。
如果 X=a X = a 是一个解,则 an≡1 (mod p) a n ≡ 1 ( m o d p ) ,因此 ep(a) | n e p ( a ) | n ,即 ep(a) e p ( a ) 对应 n n 的一个因子
从这个角度,
Xn−1≡0 (mod p)
X
n
−
1
≡
0
(
m
o
d
p
)
解的个数等于
综合上面两个角度,我们得到一个结论:
若 n n 整除,则 ∑d|nψ(d)=n ∑ d | n ψ ( d ) = n
这个公式和欧拉函数的形式一样!
实际上这里 ψ ψ 就是 φ φ
首先, φ(1)=1 φ ( 1 ) = 1 ,而 ψ(1)=1 ψ ( 1 ) = 1
下面证明当 n=q n = q 为素数时, ψ(n)=φ(n) ψ ( n ) = φ ( n )
q的因数是1和q,所以 ψ(q)+ψ(1)=q=φ(q)+φ(1) ψ ( q ) + ψ ( 1 ) = q = φ ( q ) + φ ( 1 )
由于 ψ(1)=φ(1) ψ ( 1 ) = φ ( 1 ) ,则 ψ(q)=φ(q) ψ ( q ) = φ ( q )
n=q2 n = q 2 和 n=q1q2 n = q 1 q 2 也可以类似证明
通过从小的 n n 值到较大的的值的研究,说明了对每个 n n 证明的思路。
更正式地,可以给出归纳证明,这里不展示了。
综上,我们已证明对整除 p−1 p − 1 的每个整数 n n ,恰好有个数 a a 使得,取 n=p−1 n = p − 1 ,则 φ(p−1) φ ( p − 1 ) 为原根个数。显然,每个素数至少有一个原根。
阿廷猜想 有无穷多个素数 p p 使得2是模的原根。
广义阿廷猜想 设整数 a a 不是完全平方也不等于,则有无穷多个素数 p p 使得是模 p p <script type="math/tex" id="MathJax-Element-181">p</script>的原根。
一个题目
答案是0
一个拓展