中国剩余定理简史

F
FoxMe
楼主 (未名空间)

中国剩余定理是中国古代数学的巅峰之作,体现了中国在数学和天文学历法等长达千年的领先地位。 欢迎批评指正,不过洋人也无争议。

1. 韩信点兵,物不知数等是余数问题的经典例子。古代数学家为什么研究余数问题?
当然不是为了点兵,也不是为了好玩。余数问题的背景是天文历法。九章算数尽管没有余数问题,但可以确信汉代数学家已经掌握了其解法。理由如下:当今公元纪年采用某宗教一传说人物作为元年,极不科学。而汉代历法采用上元,即上次日月和壁,五星连珠(加其它条件)为元年。这里只能用余数定理,因为天文观测的天体位置永远是余数,无法知道之前某行星跑了多少圈。汉代数学家最厉害的是能算出来上元是14万多年之前,这里没法穷举,因为大周期是两千多万年,令人叹为观止。 这些结果都记录在《
汉书》的历法中,只有数据没有解法,估计其方法是朝廷最高机密。古代只有皇家制定历法,私人是禁止的(要掉脑袋的)。

2. 南北朝时期的《孙子算经》,学术水平比九章算术差得很远,但是有几道经典题很
有名,如鸡兔同笼,物不知数等。物不知数这题出现在《孙子算经》,反映此术流传到民间。物不知数这题问:

今有物不知其数,三三数之剩二,五五数之剩三,七七数之剩二,问物几何?

最简单的解题方法是穷举法,即从1一直到最小公倍数105,会发现23是解。 古人编了
首歌:三人同行七十希,五樹梅花廿一支,七子團圓正半月,除百零五便得知。意思是2*70+3*21+2*15=233=23 mod 105。

用现代的语言,这里70,21,15组成正交基,如70=1 模3, 70=0 模 5或7。

3. 宋代数学家秦九韶在巨著《数书九章》里给出了此类余数问题的一般方法,称为“
大衍求一术”。遗憾的是,这竞是中国古典数学的绝唱。科举取消数学之后,也就没人学了,到了明朝已经没什么人能看懂前朝的数学书,历法自然也不准了,还得请洋人帮忙。

高斯在现代数论开山之作《算术探索》开篇即研究余数问题。幸好有个英国人到过中国,指出此问题中国早已研究,这才称为中国剩余定理,否则就是高斯剩余定理了!(不由猜测他是不是看过中国的文献。)

4. 现代应用。今天是星期四,请问明年的今天是星期几?当然不许查日历😊
答案是星期五。因为365=1模7,只要加1就行了。 所以余数很有用。如果多用几个余
数就更厉害了,举个工程应用的例子:手机摄像头的动态范围有限(拿手机对着太阳拍照就知道)。如果我们用模3,模5,模7分别拍,用中国余数定理就可实现动态范围105,扩大了很多。听起来很神奇,其实道理和物不知数一样。这个技术去申请专利没问题。 为什么中国余数定理这么厉害?因为它可以把一个大的东西分成小的,并且不损失
任何信息。这个正交变换叫中国余数变换,是数学中最有用的变换之一,其作用相当于工程中的快速傅立叶变换。 她的魅力是:小学生就能学,可是如果博士生学会了,就
可研究新技术。这是中国古代数学家对人类文明的重大贡献,至今仍在发挥重要作用。

最前沿的应用在后量子密码(不是所谓的量子密码)。基于大数分解的RSA等密码体制
,在量子计算机出来之后将土崩瓦解。为了设计能对抗量子攻击的密码,目前最好的方法是用多项式代替整数(即所谓晶格密码)。这里中国余数定理在多项式的快速运算中起到关键作用,可能几年后我们每次上网的时候都要用到中国余数定理了。

5. 以下是我的想象。汉代天文历法,需求解十多个未知数的余数方程。想必皇家天文
台里用算筹建了那个时代的超级计算机,由运筹如飞的神童操作,计算结果能预测日月食等。于是海内皆服,天下太平。何止是日月食,连五星周期都非常精确。《太初历》是当时最先进的天文历法,是对天文学的不朽贡献。《九章算术》和《太初历》说明汉代的科学成就遥谣领先世界,我们的前辈曾经创造了灿烂的文明。并且这些都有史料证实,无可争议。不像有些文明,不少是传说,却被当作信史。中国现代数学教育彻底切断了和古典数学的联系,造成不少人的错误映像,以为中国古代无科学,是非常遗憾的。其实完全可以融合起来,可能是今后的努力方向。

为什么以前中国数学很牛,后来不行了?既不是中国数学本身的缺陷,也不是明清的中国人变愚昧了。最根本的原因,是中国长期停留在封建社会,阻碍了科技进步。明清的专制统治,比汉唐时代极大退步。唐朝三省可以驳回皇帝的命令,相当于三权鼎立。
直到宋朝,中国的数学一直在连续发展,领先于世界。古希腊在之后的一千多年却廷滞了。根本原因还是封建制度,这一点上朱元璋“功不可没”,把丞相都取消了,变成集权专制。科举直到宋朝都有数学,明清取消了,考没用的八股。

b
bobolan88

属实 古代计算天象 算法保密 对外宣称天子是从上天那里提前得知日月食日期的 好加强统治。造反的人算不出天象 就没人拥护

【 在 FoxMe (FoxMe) 的大作中提到: 】
: 中国剩余定理是中国古代数学的巅峰之作,体现了中国在数学和天文学历法等长达千年
: 的领先地位。 欢迎批评指正,不过洋人也无争议。
: 1. 韩信点兵,物不知数等是余数问题的经典例子。古代数学家为什么研究余数问题?
: 当然不是为了点兵,也不是为了好玩。余数问题的背景是天文历法。九章算数尽管没有
: 余数问题,但可以确信

★ 发自iPhone App: ChinaWeb 1.1.5
b
bobolan88

看来中国剩余定理没有啥好争议的。那个口诀算法就清楚表明了通解形式。中国古代算闰很先进,同余、连分数的等效方法早就有了。
F
FoxMe

很高兴你能接受。我写此贴的主要参考文献是《中国数学史大系》,网上可下。不是我自己的观点,基本是书上的。

九章算术是计算机(当时用算筹)算法的鼻祖。

求最大公约数的辗转相除法,在西方称为欧几里得算法。几乎可以肯定,该算法不是欧几里得发明的 (即使假设书是他写的)。

还有秦九韶的“大衍求一术”,现在人们还在用,西方称为Bezout定理,即如果x和y互素,则存在a和b使得

ax + by = 1

"求一"就是求这个“1”。

都让西人占了便宜。

【 在 bobolan88 (波波熊) 的大作中提到: 】
: 看来中国剩余定理没有啥好争议的。那个口诀算法就清楚表明了通解形式。中国古代算
: 闰很先进,同余、连分数的等效方法早就有了。

b
bobolan88

属实 口诀是给工匠等应用人员用的 他们不需要懂原理 口诀一般是算法形式或数值计
算方法的指导。看到现在的算法和数值计算公式 都知道背后有深奥理论支撑。中国古
代口诀反应水下冰山巨大体积

【 在 FoxMe (FoxMe) 的大作中提到: 】
: 很高兴你能接受。我写此贴的主要参考文献是《中国数学史大系》,网上可下。不是我
: 自己的观点,基本是书上的。
: 九章算术是计算机(当时用算筹)算法的鼻祖。
: 求最大公约数的辗转相除法,在西方称为欧几里得算法。几乎可以肯定,该算法不是欧
: 几里得发明的 (即使假设书是他写的)。
: 还有秦九韶的“大衍求一术”,现在

★ 发自iPhone App: ChinaWeb 1.1.5