13.9.2 筹算操作分析
受到现代数学笔算法熏陶的我们,必然感到大衍图计算烦琐难算。其实古法运筹布算并不复杂。
举一例,沈括(1031—1095)《梦溪笔谈》卷十八,卫朴精于历说:
淮南人卫朴精于历术,一行之流也。《春秋》日蚀三十六,诸历通验,密者不过得二十六七,唯一行得二十九;朴乃得三十五,唯庄公十八年一蚀,今古算皆不入蚀法,疑前史误耳。自夏仲康五年癸巳岁至熙宁六年癸丑,凡三千二百一年,书传所载日蚀凡四百七十五,众历考验虽各有得失,而朴所得为多。朴能不用算推古今日月蚀,但口诵乘除,不差一算。凡大历悉是算数,令人就耳一读,即能暗诵;旁通历则纵横诵之。尝令人写历书,写讫,令附耳读之,有差一算者,读至其处,则曰“此误某字”,其精如此。大乘除皆不下,照位运筹如飞,人眼不能逐。人有故移其一算者,朴自上至下手循一遍,至移算处则拨正而去。熙宁中撰《奉元历》,以无候簿,未能尽其术,自言得六七而已,然已密于他历。
张耒(1054—1114)在其《明道杂志》中也有记载:“(朴)每算历,布算满案,以手略抚之,人有窃取一算,再抚之即觉。”
整个大衍图计算过程分成布算、循环、结算三个阶段。
1 布算阶段
涉及首图到第三图前半部分,共三幅图。
首图注文称“布四数,试次商”。左侧的左上置1(Q1)称天元一,左下置0(Q0)称空。天元一(Q1)体现首次除法6172608(a)=16900(b)×365(q1)+4108(r1)中,只是一个除数16900。
注意,天元一是值得大书特书的重要概念。数理上,二除法除数1,是序列的本原。
右侧的右下日法16900,原为首次除法的实,右上为余数斗分4108,体现了第二次除法16900=4108×4+468,次商4(q2)置实下。
次图注文“留次余(r2)”。就把二除法日法余468(r2)顶替实16900。
2 循环阶段
由若干个循环所组成。
第三图到第九图是循环阶段。不出现商数损一调节举措,也就不会出现等数。
第三图左侧是二循环归算,右侧是三循环试商。所以,注是“次归算(Q2=q2),试三商(q3)”。
左侧归算是:二除法16900=4108×4(q2)+468的商4(q2)。忽略余数468情况下,商4(q2)理解成细分程度,一个一除数16900细分成4(q2)个二除数4108。左下空0(Q0):(细化!)4(q2)×1(Q1=1)+(累积!)0(空)=4。细化累计值称归数,是Q2=q2Q1+Q0=q2=4。
右侧试商是:上位除以下位,三除法(二除数)4108=(三除数)468×8(q3)+364的商8(q3),置实之上。
第四图是“留三余(r3)”。就把三除法余数364(r3)顶替实4108。
逐次演算,直到第九图。
第九图“五归算(Q5=q5Q4+Q3),试六商(q6)”。
五除法364=104×3(q5)+52,忽略余数(r5)52的情况下,体现细分四除数364成3(q5)个五除数104。再纳入左上的率:(细化!)3(q5)×37(Q4)+(累积!)33(Q3)=(Q5)144,完成了第五次循环。因为标志性数据“等52”还没有出现,144称为率,与前面图左上角的称呼相同。
试六商时,右侧的下位104除以上位52,本应104=52×2+0,得商2。传统数学采用商数损一调节举措,改算为104=52×1(q6)+52。商1(q6)置于实104之下。
3 结束阶段
以等数的出现为标志。
第十图“留六余(r6)”。第六次除法104=52×1+52后,把余数(r6)52顶替实所在右下位。注意,两个52相等,标出两个“等”。
但左上方144反而空白,因为属于抄录。
第十一图“六归算”。由六商1(q6):Q6=q6Q5+Q4=1×144+181,成为归(Q6)181。此时,只有在此时,两个52合成等数,成为乘率标志。因此,144可加注“乘率”。
更需要注意的是,前面各图,在归算之后立即进行下一循环的试商。图十一未实行。
第十二图本应该“七归算(Q7=Q5+q7Q6=181+144×1=325)”。但第十一图两个52并无相除关系。开禧历家不得不列出历法所需三组值:等数52、52,蔀率325与乘率144,不了了之。
在第九图中,奇序整数对6172608和16900辗转相除,只有右上单独的等数自然值52,才是144成为乘率的充分必要条件。然而,拘泥于认识上的偏差,开禧历家必凑出右下的等数调节值52,必闯调节分支,调出等数,必误得归数181,必然冲击右侧上位下位轮流作被除数的规律。最后的第十二图不免陷入混乱。
我们还需要指出,在本书11.2.2“ab属性”中,从辗转相除的大背景讲,不得不引入ab属性的概念。除数个数的累积统计值必须分成a属性、b属性,才能间隔相加。
中国人借助于筹算布图的优越性,所有图的上方都是a属性,下方都是b属性,从而轻松地剖析归数和乘率。