关于欧拉函数及其一些性质的美妙证明(1)

关于欧拉函数及其一些性质的美妙证明(1)

欧拉函数是数论中最重要也是最基础的一个函数,这个函数的很多性质及其证明虽然基础,但是显得很“烧脑”,一些数学爱好者往往看了不少资料,最终仍然“莫名其妙”,不能理解它的奥妙所在。这回,我努力用一些更容易看懂的方式,来证明(或者叫说明)欧拉函数许多有趣的性质。

一、什么是欧拉函数?

欧拉是一位极其伟大的数学家,他一生建树颇多,在数论领域也有着很多贡献。欧拉函数就是以他的名字命名的一个数论中的极其基础同时也极其重要的函数。欧拉函数的概念简单易懂,但是带来的性质却让人很难一眼看穿,这也是数论基础知识中很有思维乐趣的地方。

对于一个正整数n,欧拉函数被定义为小于等于n且与n互质的正整数的个数,记为 ϕ(n)

注意,上面说的“小于等于n”的“等于”仅在n=1时才出现,n>1时,n不会与自身互质。

对于较小的数,欧拉函数很容易手工计算,比如与1、2互质的数只有1,与3互质的数有1和2两个,与4互质的数有1和3两个,与5互质的数有1、2、3、4共4个,与6互质的数有1和5两个,于是:

ϕ(1)=1 \ \ ϕ(2)=1 \ \ ϕ(3)=2 \ \ ϕ(4)=2 \ \ ϕ(5)=4 \ \ ϕ(6)=2

从上面可以看出,欧拉函数值肯定是一个正整数,但是欧拉函数不是一个增函数,更不是一个严格增函数。欧拉函数定义简单明确,却具有很多奇妙的性质。

二、欧拉函数的两个有趣性质

1、如果正整数a与n互质,那么 a^{ϕ(n)} ≡1\ \ (mod\ \ n)

这个性质叙述上很简单,但是如果有谁能够立刻明白为什么,或者能够直接判断此性质成立,那么这个人一定具有极为良好的数学直觉和极佳的数学天赋!绝大多数人都很难自行证明这个性质。下面给出一个美妙且并不复杂的证明。

既然小于n且与n互质的数有 ϕ(n) 个,那么我们设这 ϕ(n) 个数是 u_1 、u_2 、...、 u_{ϕ(n)} ,它们每个数都小于n。

然后我们考察这ϕ(n) 个数与a相乘后得到的新的ϕ(n) 个数,为 a·u_1 、a·u_2 、 ...、 a·u_{ϕ(n)} ,它们中任意两个数的差都不能被n整除。这是因为任意两个数的差是

a·u_i-a·u_j=a·(u_i-u_j) ,其中a与n互质,而 (u_i-u_j) 又小于n。

这意味着新的ϕ(n) 个数除以n得到的余数两两不相同。

另外,由于每个u_i 都与n互质,a也与n互质,这就是说每个 a·u_i 都与n互质。我们知道,与n互质的数除以n得到的余数也必然与n互质。也就是说,这新的ϕ(n)个数除以n得到的余数都是小于n且与n互质的数。

而小于n且与n互质的数正好就是 u_1 、u_2 、...、u_{ϕ(n)}

所以我们知道,新的ϕ(n)个数除以n的余数就是u_1 、u_2 、...、u_{ϕ(n)} 。当然,不见得恰巧顺序也一一对应。

有了这个结论,我们显然可以得到以下同余式成立,

a·u_1·a·u_2·...·a·u_{ϕ(n)} ≡u_1·u_2·...·u_{ϕ(n)} \ \ (mod\ \ n)

a^{ϕ(n)} ·u_1·u_2·...·u_{ϕ(n)} ≡u_1·u_2·...·u_{ϕ(n)}\ \ (mod\ \ n)

a^{ϕ(n)} ≡1 \ \ (mod\ \ n)

这个性质又被叫做欧拉定理,是数论中非常有名、非常基础的定理。在比欧拉早几十年的一个著名大牛民间数学家费马曾经得到了一个定理,对于正整数a和素数p,如果p不能整除a,那么

a^{(p-1)}≡1 \ \ (mod\ \ p)

可以被看作是欧拉定理的一个特例。因为对于素数p, ϕ(p)=p-1

有一个与我们日常生活息息相关的非对称加密算法——RSA算法,就是基于欧拉定理设计出来的。感兴趣的朋友可以在网上查一下RSA算法的原理,很容易就可以利用欧拉定理给出证明。

2、对于每个能够整除n的正整数d,其欧拉函数之和恰好为n。或者说,n的所有因子的欧拉函数之和等于n。

这个性质用数学公式表示为,∑_{(d|n)}ϕ(d) =n

这个性质更不容易立刻想通了。从基本概念出发,n的每个因子d,小于d且与d互质的正整数的个数加在一起,居然恰好等于n,好神奇!?

我们验证一下一个小一点的数字,比如n=10,那么n的因子有1、2、5、10。容易计算得到,

ϕ(1)=1\ \ ϕ(2)=1\ \ ϕ(5)=4\ \ ϕ(10)=4

把它们加起来,恰好结果是10。

这个性质用一些高等的数学工具会给出更精炼的证明,不过涉及到的数学知识会深一些。下面我给出的这个证明,相信对于具有扎实初中数学基础的数学爱好者,都应该可以看懂。无论是使用深一些的数学知识还是更初等的数学知识证明,其数学实质都是一样的。

我们首先设n的全部因子为 d_1d_2 、…、 d_k 。对于每个 d_i ,我们再设与 d_i 互质且小于等于 d_iϕ(d_i ) 个数为 β_{i,1} 、β_{i,2} 、...、β_{i,ϕ(d_i ) }

显然,所有的 (β_{i,j},d_i) ,(i=1,2,...,k; j=1,2,...,ϕ(d_i )) 数对们的个数就是要计算的 ∑_{(d|n)}ϕ(d)

下面,我们定义两个集合,并在这两个集合之间建立一一对应,如果这个一一对应建立成功,就说明这两个集合中元素的个数是一样多的,从而就证明了命题。

定义集合 A=\{(β_{i,j},d_i) | (β_{i,j},d_i),(i=1,2,...,k; j=1,2,...,ϕ(d_i ))\},即A是全部 (β_{i,j},d_i) 数对的集合。

定义集合B={1,2,…,n},就是前n个正整数的集合。

下面在集合A到B之间建立一个映射,

f(A→B)\ :\ (β_{i,j},d_i)→β_{i,j}·n/d_i

这个映射是可以成立的,因为任意 1≤β_{i,j}≤d_i ,所以 n/d_i ≤β_{i,j}·n/d_i ≤n ,而且

n/d_i 是整数,所以 β_{i,j}·n/d_i 必然是一个1到n之间的整数。

下面我们来证明这个映射是一个一一对应(双射)。这只需要证明两点,一是A中不同的元素映射成的B中的元素也不同(单射),二是B中每个元素都有A中元素来对应(满射)。

先来证明第一点(单射成立)。

A中的两个不同元素有两种情况,一是i相同但j不同,设为 (β_{i,j},d_i)(β_{i,j'},d_i)j≠j'

此时显然 β_{i,j}≠β_{i,j'} ,所以 β_{i,j}·n/d_i ≠β_{i,j'}·n/d_i ,所以对应的B中元素不同。

二是i就不同,设为 (β_{i,j},d_i)(β_{i',j'},d_{i'})i≠i' ,也即 d_i≠d_{i'} 。因为只要i不同,相应的数对就不同,这种情况下无须j≠j'

这两个A中元素对应的B中元素分别是 β_{i,j}·n/d_i β_{i',j'}·n/d_{i'} ,如果它们相等,有

β_{i,j}·n/d_i =β_{i',j'}·n/d_{i'} ⇒ β_{i,j}·d_{i'}=β_{i',j'}·d_i

因为 \beta_{i,j}d_i 互质,因此上面等式成立意味着\beta_{i,j}要整除 \beta_{i',j'} ;同理,因为 \beta_{i',j'}d_{i'} 互质,因此上面等式成立意味着\beta_{i',j'}要整除 \beta_{i,j} 。这就是说, β_{i,j}=β_{i',j'} ,这意味着 d_{i'}=d_i ,因此与 d_i\ne d_{i'} 矛盾。

于是这种情况下对应的B中元素也不相同。(单射得证)

再来证明第二点(满射成立)。

对于B中任意元素m,令m与n的最大公约数是g。那么显然m/g与n/g互质,且m/g<n/g。于是(m/g,n/g) 这个数对必然是集合A中的一个元素,且按照映射f,这个元素映射到B中的元素就是m。

于是,B中任意元素都会被A中元素对应到。(满射得证)

综上,映射f是一个从集合A到集合B的一一对应,因此A中元素个数与B中元素个数相同。也即下式成立。

∑_{d|n}ϕ(d) =n

这个性质的证明较有思维乐趣,也反映了性质成立的本质原因。

编辑于 2018-08-15 22:32