铁证:从乘法算理判断《同文算指》是《实用算术概论》的底本
原作者:青华道人
文章地址:https://weibo.com/ttarticle/p/show?id=2309404789759330353419
克拉维乌斯是谁?克里斯托佛·克拉维乌斯(Christophorus Clavius),没错!他就是大名鼎鼎的明末来华野和尚立马豆的老师,徐保禄《几何原本序》中提到的“丁氏”,被他同时代人称为“16 世纪的欧几里得”的,在数学和天文学领域建树非凡的,影响了欧罗巴名家伽利略、笛卡尔、莱布尼兹等人的,编著15卷《几何原本》评注改写本的,在他的专业指导下对儒略历进行历法改革建立了格里高利历的,功勋卓著的欧罗巴著名的数学家和天文学家。

徐保禄在《几何原本序》中形容克拉维乌斯说:其师丁氏,又绝代名家也。
托名立马豆写的《译几何原本引》中夸赞说:窦昔游西海,所过名邦,每遇专门名家,辄言后世不可知,若今世以前,则先生之于几何无两也。
希斯说:克拉维乌斯(Clavius)并未给出《原本》的翻译,而是改写了证明;在他认为需要之处,通过压缩或增添,使证明变得明白晓畅。
《悟真》曰: “饶君聪慧过颜闵,不遇师传莫强猜。只为丹经无口诀,教君何处结灵胎。”丹道修炼,弟子修到了一定的关口,都要师傅传授口诀,否则仅凭自己的小聪明揣度丹经,容易盲修瞎练,误入歧途。不仅修道不成,蹉跎岁月,更有可能走火入魔,戕害生命。从克拉维乌斯的《实用算术概要》(Epitome Arithmeticae practicae)第四章“整数乘法(Multiplicatio Integro)”的内容判断,显然克拉维乌斯没有得到真传,没有名师指点口诀,更不可能是李之藻的师祖!

这是克拉维乌斯在“整数乘法”对乘法规则(算法)的解读,对应的是李之藻《同文算指》中相应算法解说。看克拉维乌斯对这个算法的描述,白线上面的一段文字啰哩巴嗦,生硬拗口,语义贫乏,简陋粗鄙,干瘪瘪的勉强凑活看就先不说了,我们不能要求太高是不是?单看我划白线的这个解释就非常魔幻了,真的是“神来之笔”,让人目瞪口呆,无语凝噎!克拉维乌斯抖了个机灵,在解读李之藻对算法的描述后又多说了一段。他说:Vel certe si figura propositae inter se addantur,addita prius figura denarum referuata,si qua seruata est,dabit prima figura huius aggregati (reiecta secunda figura tanquam superuacanea)secundam figuram summae producendae.
这句话的中文意思见上图白色文字。什么意思呢?克拉维乌斯说,前面已经 1 乘以 2 得到 2,写在第一位上(个位),现在可以把 9 和 8 相加,得到 17,然后把 17 的第二位(十位)上的 1 舍弃,留下7,把它写在 9 和 8 乘积的 第二位(十位)上,这样,就得到了 72。这个算法是错的,大错特错,看起来数字好像凑起来了,但是从数理上讲,完全不对!克拉维乌斯根本就不知道这个算法为什么是这样的。

我们看第一道例题:9 乘以 8。先把 9 和 8 都凑成 10,把补数 1 和 2 分别平行列在右边。然后用 1乘以 2,得到 2,写在下方。再用 9 减去 2 或者 8 减去 1 都能得到数字 7,列在下方十位上。因此,9 乘以 8 的结果就是 72。
这个算法本质上是用九九乘法表,通过使用乘法对加法的分配率来简化乘法的一个方法,它能够把复杂的乘法转化为简单的乘法和加减法,方便计算。这种利用乘法对加法的分配率进行大数或复杂的数进行乘法计算的方法最晚在2300年前(西元前305年)的中国早就有了。迄今为止国内发现的西元前305年战国时代的算具——大九九算表,就是最好的文物实物证明。该算表比较早先发现的“里耶秦简九九表”和“张家山汉简九九表”文物还要早100年。
另外,这种简化计算的方法,中国自古以来一直在总结和使用,并不是一时一人的发现发明创造!
唐代中期以后,普遍推行“两税法”的赋税制度,经济情况得到一定程度的复兴,农业、手工业和商业有了较大的发展。与此相应,人们在日常生活中需要进行计算的机会大量增加,从而产生改进和简化筹算算法的迫切要求,促进了实用算术的发展,并且取得了显著的成就。例如,以《夏侯阳算经》名义流传至今的《韩延算术》,是一部可供地方官吏和平民百姓学习数学知识和计算技术的实用算术书。全书共三卷八十三题,书中收集和征引各家算法及当时法令,保存了宝贵的数学史料。其中记载有将筹算多位数乘除转变为单位数乘除的算法,把要摆放上中下三层的筹算简化为在一个横列里演算。如乘数为35,就可以先乘5,然后乘7。除数为12,可以先折半,然后再除以6。当乘数首位是1时,又可以“以加代乘”。如乘数是14,可用“身外添四”法,即被乘数不动(这相当于该数乘以10),然后再退一位加上该数的4倍;乘数是102,可用“隔位加二”法,除数是12,可用“身外减二”法,等等,都在被乘数或被除数筹式本身上进行演算。对于更多位数的乘除,可用类似的方法去处理。如果乘数或除数的首位数不是1,还能采用各种方法将它化为1,然后再来计算。这种算法叫做“求一”或“得一”算法,当时曾受到不少数学家的关注。据史籍记载,晚唐天文学家边冈“用算巧,能驰骋反复于乘除间。由是简捷、超径、等接之术兴,而经制、远大、衰序之法废矣”。这也从一个侧面反映了唐代学者在简化数字计算方面的成果及其影响。中唐以后乃至宋元时期,改革和简化筹算算法的工作一直在继续着,并且不断有所进展,其中许多成果还被后来的珠算术所吸收,直到珠算完全代替筹算,这一工作方告结束。涉及筹算改革的专门书籍,除《韩延算术》外,还有陈从运《得一算经》七卷,“其术以因折而成,取损益之道,且变而通之,皆合于数”,江本《一位算法》2卷,龙受益《算法》2卷、《求一算术化零歌》1卷、《新易一法算范要诀》1卷等,但可惜的是这些著作都已失传了。
下面我演示一下这个算法的原理。

截取这个算表的一小部分:1 到 10。

计算步骤如下:

上图中我用红笔框出的算式就是克拉维乌斯乘法法则的由来。蓝笔框处的算式就是利用算表进行演算的过程。前面讲过,我们已经把 9 用 10-1 替换,把 8 用 10-2 替换,因此 9 乘以 8 就是 10-1 乘以 10-2。在算表中,先分别找到第一行和右手第一列的 10,引一根线出来让它们相交,交点所代表的数就是 10 乘以 10 等于 100。再分别找出第一行的 10 和第一列的 -2,同样让它们相交,交点的乘积就是 -20,剩余的步骤同样如此操作,就可以得到 9 和 8 的积了。关键是红框里面 9-2 或 8-1 是十位数字,而 2 是个位数字。
和克拉维乌斯不同的是,李之藻在《同文算指》中的解说,行文流畅,语义连贯,言简意赅,意思准确,中规中矩,没有任何问题。

李之藻在《同文算指》中只讲了算法,没有剖析算法背后的原理,于是克拉维乌斯也没有讲原理,但是,他自作聪明,画蛇添足地又多说了一段,我猜他写下这段的时候心里应该是很得意的,但恰恰唯有这段话不符合数理,暴露了他根本不理解这个算法的真相!这么简单的内容,大师克拉维乌斯会不懂?所以,真相昭然若揭!那就是:初刊于1613年的李之藻的《同文算指》是首刊于1583年的克拉维乌斯《实用算术概论》的底本。换句话说,《同文算指》是李之藻为立马豆们编撰的数学教材,立马豆们搬运会欧罗巴,把对《同文算指》的翻译和解读搞出了一本《实用算术概论》,假托给又一个神人“克拉维乌斯”!