在网上看到很多证明欧拉函数是积性函数的证明,其中一部分就使用到了矩阵的方式加以证明
当然笔者并没有完全理解到整个证明过程,于是只是将其中的部分m与n互质-构成的矩阵的特性说明记录如下
如果m与n互质,那么就可以构成如下的m列与n行的矩阵,这个矩阵里列举了从1到m*n的所有数,
1、先从每一行观察(刚好是模m的一个完全剩余系):
很容易发现第一行里有φ(m)个与 m 互质的数
而一个数 r 若与 m 互质,则 k * m + r也与m互质-(可通过欧几里得算法又称辗转相除法证得), 因此每一行都会有φ(m)个与 m 互质的数
即每一行的m个数组成的集合,刚好是模m的一个完全剩余系,这里补充一下完全剩余系的概念
从模n的每个剩余类中各取一个数,得到一个由n个数组成的集合,叫做模n的一个完全剩余系。完全剩余系常用于数论中存在性证明。
2、再从每一列观察(刚好是模n的一个完全剩余系)
先说结论,任意一列都是模n的完全剩余系,也就是说没有两个数他们对 n 取模后相等,
那么任意一列都有φ(n)个与n互质的数,那么就能推导出φ(n)*φ(m)便等于φ(n*m)
这里所以为什么任意一列都是 n 的完全剩余系呢?,先证明如下
首先我们假设有两个数对n取余后相等:k1*m+b = k2*m+b (mod n),那么我们可以改写为k1*m+b = t1*n+r ; k2*m+b= t2*n+r,
两两相减则: (k1-k2)m = (t1-t2)n,又因为m和n互质,所以m不能提供n的因数,那么(k1-k2)就必然是n的倍数了(所以最开始才要求m和n必须互质)
然后又因为k1和k2都是在0~n-1这个范围里的,所以任意两个相减都不会产生n的倍数,那么假设不成立,没有两个数对n取余后相等,证毕
尊重别人的劳动成果 转载请务必注明出处:https://www.cnblogs.com/5201351/p/17229511.html
作者:一名卑微的IT民工
出处:https://www.cnblogs.com/5201351
本博客所有文章仅用于学习、研究和交流目的,欢迎非商业性质转载。
由于博主的水平不高,文章没有高度、深度和广度,只是凑字数,不足和错误之处在所难免,希望大家能够批评指出。
博主是利用读书、参考、引用、复制和粘贴等多种方式打造成自己的文章,请原谅博主成为一个卑微的IT民工!