中国剩余定理

来自testwiki
跳转到导航 跳转到搜索

Template:NoteTA

中國剩餘定理,又稱孫子定理中國餘數定理,是数论中的一個关于一元线性同余方程组的定理,说明了一元线性同余方程组有解的准则以及求解方法。该定理在中国古代也被称为「韓信點兵」、「求一术」(宋 沈括)、「鬼谷算」(宋 周密)、「隔-{zh-cn:墻;zh-tw:牆;}-算」(宋 周密)、「剪管術」(宋 杨辉)、「秦王暗點兵」、「物不知數」等。

物不知数

一元线性同余方程组问题最早可见于中國南北朝时期(公元5世纪)的数学著作《孫子算經》卷下第二十六题,叫做“物不知數”问题,原文如下: Template:Quote 即,一個整數除以三-{zh-cn:余;zh-tw:餘;}-二,除以五-{zh-cn:余;zh-tw:餘;}-三,除以七-{zh-cn:余;zh-tw:餘;}-二,求這個整數。《孫子算經》中首次提到了同余方程组问题,以及以上具体问题的解法,因此在中文数学文献中也会将中国剩余定理称为孙子定理。孫子沒正式證明,但後來印度數學家及天文學家阿耶波多給出具體過程,徹底解決了此定理的任何給定實例。[1]

最初对“物不知数”问题作出完整系统解答的是宋朝数学家秦九韶,载于1247年《数书九章》卷一、二《大衍类》中,从而使这一问题变为定理。明朝数学家程大位在《算法统宗》中将解法编成易于上口的《孙子歌诀》[2]Template:Quote 这个歌诀给出了模数为3、5、7时候的同余方程的秦九韶解法。意思是:将除以3得到的余数乘以70,将除以5得到的余数乘以21,将除以7得到的余数乘以15,全部加起来後再减去105或者105的整数倍,得到的数就是答案(除以105得到的余数则为最小答案)。比如说在以上的物不知数问题里面,使用以上的方法计算就得到

70×2+21×3+15×2=233=2×105+23.

因此按歌诀求出的结果就是23。

《数书九章》最初由伟烈亚力在19世纪初译为英文,而西方世界最早的完整系统解法由高斯在1801年提出。

形式描述

用现代数学的语言来说明的话,中国剩余定理给出了以下的一元线性同余方程组:

(S):{xa1(modm1)xa2(modm2)xan(modmn)

有解的判定条件,并用构造法给出了在有解情况下解的具体形式。

中国剩余定理说明:假设整数Template:Math其中任两數互质,则对任意的整数:Template:Math,方程组(S)有解,并且通解可以用如下方式构造得到:

  1. M=m1×m2××mn=i=1nmi是整数Template:Math的乘积,并设Mi=M/mi,i{1,2,,n},即Mi是除了mi以外的n1个整数的乘积。
  2. ti=Mi1Mimi数论倒数tiMi1(modmi),i{1,2,,n}.
  3. 方程组(S)的通解形式为:x=a1t1M1+a2t2M2++antnMn+kM=kM+i=1naitiMi,k. 在模M的意义下,方程组(S)只有一个解:x=i=1naitiMi.

证明

从假设可知,对任何i{1,2,,n},由于j{1,2,,n},ji,gcd(mi,mj)=1,所以gcd(mi,Mi)=1. 这说明存在整数ti使得tiMi1(modmi). 这样的ti叫做Mimi的数论倒数。觀察乘积aitiMi可知:

aitiMiai1=ai(modmi),
j{1,2,,n},ji,ajtjMj0(modmi).

所以x=a1t1M1+a2t2M2++antnMn满足:

i{1,2,,n},x=aitiMi+jiajtjMjai+ji0=ai(modmi).

这说明x就是方程组(S)的一个解。

另外,假设x1x2都是方程组(S)的解,那么:

i{1,2,,n},x1x20(modmi).

m1,m2,,mn两两互质,这说明M=i=1nmi整除x1x2. 所以方程组(S)的任何两个解之间必然相差M的整数倍。而另一方面,x=a1t1M1+a2t2M2++antnMn是一个解,同时所有形式为:

a1t1M1+a2t2M2++antnMn+kM=kM+i=1naitiMi,k

的整数也是方程组(S)的解。所以方程组(S)所有的解的集合就是:

{kM+i=1naitiMi;k}.

例子

使用中国剩余定理来求解上面的“物不知数”问题,便可以理解《孙子歌诀》中的数字含义。这里的线性同余方程组是:

(S):{x2(mod3)x3(mod5)x2(mod7)

三个模数 Template:Math=3, Template:Math=5, Template:Math=7 的乘积是 Template:Math=105,对应的 Template:Math=35, Template:Math=21, Template:Math=15. 而可以计算出相应的数论倒数:Template:Math=2, Template:Math=1, Template:Math=1. 所以《孙子歌诀》中的 70、21 和 15 其实是这个“物不知数”问题的基础解:

70=2×35{1(mod3)0(mod5)0(mod7),21=1×21{0(mod3)1(mod5)0(mod7),15=1×15{0(mod3)0(mod5)1(mod7),

而将原方程组中的余数相应地乘到这三个基础解上,再加起来,其和就是原方程组的解:

2×70+3×21+2×15{2×1+3×0+2×02(mod3)2×0+3×1+2×03(mod5)2×0+3×0+2×12(mod7),

这个和是 233,实际上原方程组的通解公式为:

x=233+k×105,k

《孙子算经》中实际上给出了最小正整数解,也就是 k=2 时的解:x=23

交换环上的推广

主理想整环

Template:Math是一个主理想整环Template:Math是其中的Template:Math个元素,并且两两互质。令Template:Math=Template:Math为这些元素的乘积,那么可以定义一个从商环Template:Math映射到环乘积Template:Math同态

ϕ:R/MRR/m1R×R/m2R××R/mkR
x+MR(x+m1R,x+m2R,,x+mkR)

并且ϕ是一个环同构。因此ϕ的逆映射也存在。而这个逆映射的构造方式就如同中国剩余定理构造一元线性同余方程组的解一样。由于Template:MathTemplate:Math=Template:Math互质,所以存在Template:MathTemplate:Math使得

simi+tiMi=1R.

而映射

φ:R/m1R×R/m2R××R/mkRR/MR
(a1+m1R,a2+m2R,,ak+mkR)i=1kaitiMi+MR

就是ϕ的逆映射。

也是一个主理想整环。将以上的Template:Math换成,就能得到中国剩余定理。因为

ai+miR={x;xai(modmi)}

一般的交换环

Template:Math是一个有单位元交换环Template:Math是为环𝐑理想,并且当ij时,Ii+Ij=𝐑,则有典范的环同构

ψ:𝐑/(I1Ik)𝐑/I1××𝐑/Ik
x+I1In(x+I1,x+I2,,x+Ik).

模不两两互质的同余式组

模不两两互质的同余式组可化为模两两互质的同余式组,再用孙子定理直接求解。

84=22×3×7,160=25×5,63=32×7,由推广的孙子定理可得 {x23(mod84)x7(mod160)x2(mod63){x7(mod25)x2(mod32)x7(mod5)x23(mod7) 同解。[3] Template:HideH {x7(mod25)x2(mod32)x7(mod5)x23(mod7) {x7(mod25)x2(mod32)x2(mod5)x2(mod7) {x7(mod25)x2(mod32×5×7)

25=32以及32×5×7=315

315a1(mod32)(31532×10)a1(mod32)5a1(mod32),取數論倒數a=13

32b1(mod315)32b1+315×13(mod315)32b4096(mod315),因gcd(32,315)=1 ,故兩邊可同除以32, 取數論倒數b=409632=128

315×(13)×7+32×128×2=20473

204739767(mod32×315)

所以最小正整數解為9767,通解為x=9767+10080k,kTemplate:HideF


注意求解过程中应先检查同余式组上是否存在矛盾,存在矛盾的同余式组无解。

{x3(mod6)x4(mod10){x1(mod2)x0(mod3)x0(mod2)x4(mod5)

参见

参考资料

  1. Template:Cite web
  2. 李俨《大衍求一术的过去和未来》《李俨.钱宝琮科学史全集》卷6 121页《程大位的孙子歌》辽宁教育出版社. 1998
  3. Template:Cite journal
参考书目
  • 数学的100个基本问题,靳平 主编,ISBN 7-5377-2171-8

Template:Authority control