九章算术方程 《九章算术》中的二元一次方程组
大自然充满了未知领域,是人类的智慧架起了一座座从已知通向未知的桥梁,构筑了灿烂的科学文化。线性方程组及其求解,无疑就是这些桥梁中最美丽的几座。代数学发展的一条主要方向就是方程理论。大约在3600年前,自埃及祭司阿莫斯用象形文字在纸草书上写下史上第一个一元一次方程后,相关理论研究逐渐向两个方向延伸:增高未知数的次数,衍生出一元高次方程理论;增加未知项的个数,创造了线性方程组理论。
值得骄傲的是,早在《九章算术》成书时代,中国古人已对较为复杂的线性方程组问题展开了研究。而西方直至17世纪相关研究尚处于初级阶段。
1. 中国古代的线性方程组
今天教科书中“方程”术语源于英文Equation之翻译(清代数学家李善兰首译),然而中国古代数学中的“方程”并非现代“含有未知数的等式”之涵义。成书早于《九章算术》的江陵张家山竹简《算数书》记载,“方程”是由“程禾”算法发展而来。“程禾”就是考核粮食作物的产量。在《九章算术》的方程章,其前六题皆是测算粮食产量问题,可见一斑。如第1题:
今有上禾(上等稻)三秉(捆),中禾二秉,下禾一秉,实(谷子) 三十九斗;上禾二秉,中禾三秉,下禾一秉,实三十四斗;上禾一秉,中禾二秉,下禾三秉,实二十六斗。问上、中、下禾一秉各几何?
“方程”的明确定义由刘徽在《九章算术》方程章开篇诠释道:
程,课程也。群物总杂,各列有数,总言其实,令每行为率。二物者再程,三物者三程,皆如物数程之,并列为行,故谓之方程。
其中“数”乃群物之数,即诸未知项的系数,“实”是“数”与“物”的线性组合,相当于常数项,“总”则暗示了等量关系。因而“方程”的每行都可以看作是一个多元一次方程,“方程”各行联立起来就组成了一个线性方程组。因此,中国古代的“方程”就是现在的线性方程组。《九章算术》中的算筹图是竖排的(从左至右)。若用印度-阿拉伯数码,方程章第1题则可表示为:
其他国家或民族给出联立一次方程组的解法比中国晚不少年,如在印度最早出现在婆罗摩笈多(Brahmagupta,598-660)的著作《婆罗摩修正体系》之中;而欧洲最早提出三元一次方程组解法者是法国数学家布丢(J.Buteo,1485-1572)。
2. 《九章算术》中的二元一次方程组
《九章算术》方程章中共计18道题目,其中关于二元一次方程组的有8题,三元的6题,四元、五元的各2题皆是用直除法求解,该演算法是我国古代求解线性方程组的基本方法,其理论上和现在加减消元法基本一致。如第2、10题就是典型的二元一次方程组。
2 今有上禾七秉,损实一斗,益之下禾二秉,而实一十斗;下禾八秉,益实一斗与上禾二秉,而实一十斗。问上、下禾实一秉各几何?
这里的“损实”就是减去,“益实”就是加上,故而“益实”和“损实”是一对互为相反意义的正负概念。同时在“术”中还给出移项的概念。
解按术计算有:设上禾每捆打谷斗,下禾每捆打谷斗。则据题意可得
题意为:今有甲乙二人,不知其钱包里有多少钱。若乙把其一半的钱给甲,则甲的钱数为50;而甲把其2/3的钱给乙,则乙的钱数也能为50,问甲、乙各有多少钱?
解设甲持钱为,乙持钱为。依题意得方程组
在《九章算术》中,多是采用分离系数法表示线性方程组,这相当于现在的矩阵(线性方程组系数用数表表示的形式)表示。而解线性方程组所使用的直除法,与矩阵初等变换相一致(交换两行位置;某行乘以非零数;两行相加减)。
另求解线性方程组时中国古人还施行了正负数的乘除法,这是世界数学史上一项重大成就。尽管在丢番图《算术》中,给出题目:已知两数之和为100,之差为40,求两数,但在西方直到17世纪才由莱布尼兹提出完整的线性方程组解法法则。
此外,我国古典数学著作《孙子算经》、《张丘建算经》、《数书九章》、《详解九章算法》、《九章算法比类大全》、《算法统宗》等,也介绍了线性方程组解法。清代数学家梅文鼎(1633-1721)的《方程论》共有90道线性方程组问题,其中未知数个数最多达6个,解法也多是利用加减消元法。
关于著《方程论》的宗旨,梅文鼎曾给友人方中通(1633-1698)解释道,“方子精西学,愚病西儒排西算,著《方程论》,谓虽利氏无以难。”其大意是,中国古代关于线性方程组的研究成果,是西方数学难以比拟的,故我们完全不必在“西儒”面前妄自菲薄。