最近在看有限域相关的资料,相信如果你要深究有限域的相关理论,肯定绕不开一个著名的定理就是“裴蜀定理”。关于为啥集合{1,2,3...n(质数)}必存在乘法逆元就用到了此定理。
“裴蜀定理”说,对于任意两个整数x,y,假设他们的GCD(最大公约数)为D,则肯定存在a,b两个整数使得ax+by=D成立
搜了百度,已经有一些证明,但是证明思路太过高深,无法直观的从头理解证明的思路,这里整理了一些自己的思考,以免遗忘,特做些笔记。
首先,因为D是x和y的GCD,所以可以假设x=jD,y=kD,则ax+by=ajD+bkD=(aj+bk)D,其实为了证明ax+by=D成立就相当于要证明(aj+bk)=1成立,其中j和k互质,不然就与“D是最大公约数”矛盾。
那么“裴蜀定理”就变成了,两个互质的整数j,k,肯定存在a,b两个整数使得aj+bk=1成立
为了阅读习惯,我们还是用x,y代替j,k,但这里的x,y是互质的。
我们假设y>x,(对y<x只是对换一下符号,道理是一样的),那ax+by到底代表啥含义呢?
对于a,b都是正数,那ax+by越加越大,没有意义,所以我们取b>0,a<0,那么ax+by的含义就变成了下图中x和y的边界点之间的距离,先看模式1的r1
不难看出,其实r1就是y mod x,其中r1<x
为直观,假设一个y用2个x填充,余下的部分小于x,所以填到2个x就暂时停止,我们也可以用N个x代替2个x,以代表更一般的情况,在模式1中我们已经看出x和y的边界点之间的距离既r1就是y mod x,而a和b是无穷无尽的,ax+by其实就是求某个x的边界点和某个y的边界点之间的距离,需要说明的是,x和y互质,所以x的边界点永远不会和y的边界点重合,假设模式2紧接在模式1后,为了保证x的连续,我们把模式2中的b点接到模式1中的a点,那么对于模式2中的最后那段x来讲,如果以y的边界点为基点来看,那么这段x(虚线画的x)将被“前移”,它的前部将被2个r1填充,以此类推,在N次的b点和a点连接后,最后那段x将被N个r1填充,直到最后剩余的部分小于r1我们暂时停止,而此时的ax+by就是余下的部分既r2
为了直观,图中的x里画了4个r1填充,当然我们可以用N来代替4以表示更一般的情况,其实我们不难看出,r2就是x mod r1,其中r2<r1
是不是看出点苗头?我们刚才分析模式1的时候得出r1=y mod x,而这里r2=x mod r1,(下一次的r是上一次的除数除以上一次的余数)
(题外话,还记得求两个数m和n的最大公约数怎么求么?就是用m除以n,然后用余数再除n,再用余数除余数,不停循环,直到余数为0)
如果接下去,我们能得出下一个边界点距离是r1 mod r2,那么情况就很理想了,因为这个距离在不断缩小,且符合符合统一的模式(下一次的r是上一次的除数除以上一次的余数),而又永远不会重合,那么最终结果只能是1
而要得出下一个边界点的距离并不难,用同样的思路,假设模式4是和模式3一样的图形(因为a和b是无限的,所以完全可以复现出一个和模式3一样的图形),且紧接在模式3后,为了保证x的连续性,那么我们将模式4中的头一个x接到模式3的最后一个x后面,其实在模式4中以y的边界点为基点来看,每个x都将“往后”移r2,那模式4中的最后一个x相对于模式3中的最后一个x来讲相当于“后移了”r2,也就相当于x的分界点c点与y的分界点D距离“缩短”了r2,以此类推,直到x,y分界点之间的距离小于r2我们暂时停止,不难得出r3=r1 mod r2,图中r3没有画出
综上,x和y的边界点之间的距离随着模式无限的扩展,会变得越来越小r1=y mod x,r2=x mod r1, r3=r1 mod r2...且有固定规律,下一次的r为上一次除数除以上一次的余数,而x和y互质,两个边界点永远不会重合,既r(n)>0,结合这些信息,r(n)最终就是x和y的GCD,而两个互质的整数的GCD为1
裴蜀定理表面上看是证明一个加法等式,其实实质上是求一个余数。