新浪博客

大衍求一术

2011-03-10 17:16阅读:

大衍求一术

  任何一门科学,都有各自的精确度要求。1967年,在第十三届国际计量大会上,规定铯 Cs133原子基态的两个超精细结构能级( F=4,mF=0),( F=3,mF=0)之间的跃迁频率为9192631770赫兹,相应的射线束连续9192631770个周期的时间为一秒。铯频率标准具有准确度高(达10-12量级),稳定度好(10-14量级)的优点。在计时上,天文钟三年差一秒,石英钟三百年差一秒,铯原子钟三百万年差一秒。用铯原子钟计时当然是最好的,不过,对于农业、历史、考古、医药等,用“地球钟”,即误差不大于一日的记时体系就足够了。换句话说,运用干支表示法和中学中常用的计算方法,在误差要求不大于24小时条件下,算历,或者说求朔望(即平朔)和定节气,是不困难的。要作到这点,必须引入大衍求一术:
  《周易·系辞》云:“大衍之数五十,其用四十有九,分为二以象两,挂一以象三,揲之以四以象四时,归奇于扐以象闰,五岁再闰,故再扐而后挂。”这里,“四时”,即是冬春夏秋。“象闰”,指回归年和十二个朔望月有十日之差,故累积起来,每 查看更多精彩图片年,即二年多,便有一个闰月。“五岁再闰’,指五年之内,还要再闰第二次。大衍之术,最早何时用于算历,不得而知,但其下限,应在《周易·系辞》成书之前。
  在《系辞》成书年代,演大衍术一术用蓍草作工具;秦汉后,多用算筹作工具;宋元之后,算盘作为一种更大程度上为方便的工具,以
取代了算筹。
  《数书九章》卷一《古历会积》介绍了大衍求一术的算历过程。下面我们仅借较为简单的《余米推数》来介绍大衍术的原理和运算。在演算中,我们使用阿拉伯数字。
  例:今有物不知数,以19除之余1,以17除之余14,以12除之余1,问物几何。
  解:设定母为α,有α1=19,α2=17,α3=12
  衍母为 M,有
  Mmin(α1·α2·α 3……α n)= 19 x 17 x 12= 3876
衍数为 Gi, 
Gi=
查看更多精彩图片

  有:G1= 17 x 12= 204
    G2= 19 x 12= 228
    G3= 19 x 17= 323
  奇数为gi,gi查看更多精彩图片

  g1=14,g2=7,g3=11
一、求“以19除之余 1”的乘率K1
l、“分为二以象两”;即将奇数g1,定母a1,分别列上下,如右
   14
  
  19
2、“挂一以象三”:左上角加一筹
1  14
  
  19
3、“揲之以四,以象四时”,以 14除 19,商添在左下角,余数 5代替被除数
1  14
  
1   5
4、“归奇于扐以象闰”:将右上方数14除以右下数5,其商乘以左下数 1后,并入左上数1成为3,余数4代替被除数14.
3   4
  
1   5
5、“五年再闰”:将右方两数,展转相除,其商分别依次加到左方上下
   两数.
3   4
  
4   1
6、“八年三闰”:右上4除以3(不能除以1,否则右上角不能为1,达不到求一的目的),左下角4乘以除数(注意,不是商数),且并入左上角.右上出现1,所以乘率为左上角之数15.
15   1
  
4   1
二、求“以17除之余14”的乘率 K2
l、分为二以象两:
    7
  
  17
2、挂一以象三:
1   7
  
  17
3、揲之以四以象四时
1   7
  
2   3
4、归奇于扐以象闰:右上方出现1,故乘率k2= 5
5   1
  
2   3
三、求“以12除之余1”的乘率K3
1、分为二以象两,挂一以象三
1  11
  
  12
2、揲之以四,以象四时
1  11
  
1   1
3、归奇于扐以象闰
11   1
  
1   1

  右上出现l,所以k3=11
于是, 1X 15 X 17 X 12 = 19的倍数 +1=17的倍数 =12的倍数 =3060
14 x 5 x 19 x 12=19的倍数 =17的倍数 +14=12的倍数 =15960
+) 1 X 11 X 17 X 19=19的倍数 =17的倍数 =12的倍数 +1=3553

22573 =19的倍数 +1=17的倍数 +14=12的倍数 +1=22573
—) 5 X 3876=19的倍数 =17的倍数 =12的倍数 =19380

3193= 19的倍数 +1=17的倍数 +14=12的倍数 +l=3193
  答:该数是3193
  用现代数学表示,则是解一次同余式:
  N≡ 1(mod 19),≡14(mod 17),≡ 1(mod 12)
 ki 查看更多精彩图片 ≡l(mod ai
Gi 查看更多精彩图片 >ai,gi<ai
 有Gi ≡gi(mod ai),kiGi≡kiGi(mod ai
 ∴ kigi≡1(mod ai ),
 又C1=g1;C2=g2Cl+l;……;Cn=ki
 计算得k1=15,k2=5,k3=11
3060 ≡ 1(mod 19),≡ 0(mod 17),≡ 0(mod 12)
15960≡ 0(mod 19),≡ 14(mod17),≡ 0(mod 12)
+) 3553≡ 0(mod 19),≡ 0(mod 17),≡ l(mod 12)

22573≡ l(mod 19),≡ 14(mod17),≡ 1(mod 12)
—) 19380≡ 0(mod 19),≡ 0(mod 17),≡ 0(mod 12)

3193≡ 1(mod 19),≡ 0(mod 17),≡ 1(mod 12)
  (文科读者如读不懂本节,可以不读,因为在以后的换算中,用不着它。在那里,我们利用了太初年间的观测数据,已将问题简化,已将大衍术从天文历法家手中解放出来,使得它成为每一个只懂四则运算的小学生都可以运算的数学手段了)。

此文发表在《湘潭师专学报》,自然科学版,1983年1期
右上出现1是演算结束的充要条件。
  如今展转相除中商数为gi
   余数为ri
  “归扐”值为ci,则演算过程中分别为
cl=g1;
c2=g2cl+l;
c3=g3c2+c1;
cn= gncn-1 + cn-2
设 l2=g2, l3=g3l2+ l,……, ln=gnl1+ln-1
乘率为k1,则有
r1= ai-gigl=ai -clgi
r2 =gi-r1g2=gi-(ai-c1gi)g2 =c2gi-l2ai
r3=r1- r2g3 =(ai-c1gi)- (c2gi-l2ai)g2=l3ai-l3gi
很明显,只有,r2= 1,且n为偶数时,才有
rn-1=ln-1ai-cn-1gi; rn=cngi-lnai=1,即
cngi≡l(mod ai),才有cn=ki,而右上为1是保证n为偶数的充要条件
(未完,待续)

我的更多文章

下载客户端阅读体验更佳

APP专享