陈巍,理学博士,现为中国科学院自然科学史研究所副研究员。主要研究科技知识在古代世界的传播并把世界连为一体的历程。喜爱“上穷碧落下黄泉”,品鉴各个文明在应对相似问题时展现出的智慧。
古代丝绸之路上最著名的旅行者当属马可·波罗(1254—1324),2024年正值他逝世700 周年。这位来自威尼斯的商人,与他的父亲和叔叔一道,发扬无与伦比的探险精神、好奇心和适应能力,成为东西方文化交流的使者。正是他留下的口述记录,为欧洲人提供了对遥远东方的美好向往,激励一代又一代人跨越漫长艰险的旅途。发现美洲的哥伦布就是继承马可·波罗壮志的最伟大人物之一。
在纪念马可·波罗时,不应忘记他首先是一名成功的商人。他的游记里有很多各地特产商品的价格信息、对旅途所需时间的预估,以及对中国货币、食盐生产和税收的描述,都反映了他接受的良好商人技能训练。在当时的意大利,商业实践显著影响着数学知识的发展和普及。虽然马可·波罗本人没有留下数学著作,我们依然可以通过同时期的商业数学教材一探马可·波罗可能拥有哪些数学知识。
从斐波那契出发
早在9 世纪,意大利的海上城邦开始兴起。这些城邦虽彼此争斗,但都奉行重视航海贸易的政策。以商业立国诱使它们不管在和平还是战争时期,都或多或少与东方的伊斯兰世界保持联系。这让它们不仅成为东方和欧洲之间各种货物交换的中介,还是科技、艺术等交汇融合的口岸。
直到12 世纪,意大利商人还使用罗马数字记数,那是一种非位值制数字体系,只能结合从罗马时代流传下来的算盘进行运算,对于日常商业计算来说十分繁琐。这一困境直到斐波那契(约1170—约1240 或1250)引入阿拉伯数字才得到解决。斐波那契来自比萨,因此又名比萨的莱昂纳多。他的父亲掌管北非港口布吉亚的贸易站,斐波那契自幼跟随父亲在北非游历。那时的北非地区与意大利城邦虽信仰不同,在经济上的联系却已经十分紧密。斐波那契在北非的算术学校很快发现一种与意大利完全不同,但在书写大数字和计算乘除法方面都更加便捷的数字,它由原创于印度的1—9,以及阿拉伯人增加的0 组成。
这种数字在这之前几十年已经在翻译成拉丁语的阿拉伯数学著作里出现过,不过传播范围很小。1202 年,斐波那契在《算术之书》中向欧洲人系统介绍了印度- 阿拉伯数字,包括整数和分数的表示方法。这部书包括许多纯粹的数学知识,例如广为人知的斐波那契数列。然而,斐波那契把面向商业的应用型知识放在艰深的数学问题之前,反映了他心目中学习知识的优先次序。这些实用知识包括货币和计量单位的换算,以及利润、利息的计算等。从实际应用起步,再过渡到数学难题,循序渐进的编排也是《算术之书》获得成功的一个原因。
1227 年,斐波那契把《算术之书》加以修订,献给与他同为神圣罗马帝国宫廷服务的另一名苏格兰科学家迈克尔·斯科特,这个版本在后世影响更大。尽管如此,阿拉伯数字在欧洲并没有迅速取代罗马数字,而是直到印刷术广泛使用后才获得压倒性优势。
意大利的算术学校
斐波那契还著有另一部专门面向商业计算的著作,可惜此书已经佚失。有学者指出,这部商业数学著作可能对随后2 个世纪的商人教育产生更直接影响。这类教育主要是在13 世纪意大利各城邦开办的算术学校里推行的。
严格来说马可·波罗年轻时不一定接触过阿拉伯数字,因为斐波那契的著作最先扩散到位于意大利西北部的比萨周边,而威尼斯的算术学校可能是在14 世纪早期才建立的。马可·波罗接触阿拉伯数字要么是在东方旅行的途中,要么是1295 年他返回威尼斯之后。
目前现存最早的算术学校课本来自佛罗伦萨,成书于约1290 年。到14 世纪初,这类教材的内容在不同城市已经大同小异,主要包括对印度- 阿拉伯数字的介绍、用手指计算、整数和分数计算、比例计算、双假设法、商业涉及的数学问题、实用几何学、趣味数学、代数学等内容。每个城市的教材在数学上都明显受到斐波那契的影响,同时会根据当地和贸易往来地区的货币、度量衡、税收等情况传授知识。这些学校的学员不仅包括商人,还有会不时参与买卖的船员、工匠等。随着识字率的提升,数学问题集又通过传抄而在社会上广泛流传。
按今天的话说,商人们学习的数学知识的重点、难点主要集中在3 个“单元”,分别是“三的法则”“双假设法”和“解方程”。
“三的法则”是中世纪商人最常用、最熟练的计算技巧。其实质就是根据比例中的3 个已知量求出第4 个未知量。中世纪商人通常设法把已知量排列到比例算式的前3 位,把未知量排到最后,用现代方式表示相当于计算d=bc/a ,因此这类题目的表述方式是很重要的。例如课本里会出现这样的问题:“如果400 磅胡椒价值49 又1/2 金币,那么315 磅胡椒的价值是多少?”类似地还可以解决关于货币兑换、度量衡换算等问题。
“双假设法”最早起源于中国的“盈不足术”,它的特点是对于求解类似ax+b=c 的线性方程问题,可以先提出2组不正确的答案,再利用公式得出最终最接近于正确的答案。同样是前面的胡椒问题,可以先部分运用“三的法则”,得到400x =99/2×315,接下来画出一个大× 符号,在× 的左上角和右上角分别写2 次假设的x 值(例如图中分别设x =10 和x =20),左下角和右下角分别写2 次假设后与等式右侧相差的数量(如图中分别写出2 次假设相差的11592 又1/2 和7592 又1/2),然后让× 上的4个数字交叉相乘,再将2 个积相减,得到被除数(图中结果是155925),再让× 下方两个数字相减,得到除数(图中结果为4000),最后作除法计算,得出结果为38 又3925/4000(实际上还要换算成各级货币单位)。显然对于比例求解来说,双假设法显得过于繁琐,这一例题更多用来展示这种算法的步骤,同时也是告诫学生数学问题往往可以用不同方法得出答案。
在西方数学传统中,方程一般被归为阿拉伯数学家花拉子米的发明。在教材中会列出系数、未知数和常数摆放在不同位置的各类方程,除了一次和二次方程外,还有许多三次乃至四次的高阶方程的解法,不过这些解法并不总是正确的。前面的胡椒问题也可以用方程解决,这时就不用再拘泥于“三的法则”里对数字顺序的要求了,题目可以修改成“如果未知的数字给我315 磅胡椒,49 又1/2 金币将给我400 磅胡椒”,当时还没有未知数的表达符号,我们暂且用x 表示未知数,因此原题要计算的就是x/315=(99/2)400。两边都乘以315,再用右边99/2 和315 的积除以400,就可以得到要求的未知数。
主要面向商人的算术学校在意大利持续繁荣到17 世纪,之后就随着意大利城邦的衰落而逐渐减少。从以上问题中我们可以看出,当时商业数学教育主要沿循斐波那契传统,力争在满足实际需要的基础上训练不同解题方法,为热爱数学的人也留下了空间。不同城邦根据自身情况改编的算术教材,则从内容上丰富了原本的数学著作。可以说,数学家的数学和商人数学在当时是同源又平行发展的两条脉络。
回顾中国数学史,我们也可以发现元代以后,民间商业数学的声势逐渐浩大,与之相应的是算盘取代算筹作为运算工具,但从数学角度讲,这以后的中国本土数学水平却一路走低,直到明末西方数学传入才渐有起色。为什么意大利的两条线索能够并行发展、共同繁荣,而中国却在商业数学始终传承不辍的同时逐渐丢失原有数学优势,是值得深思的问题。