编者注:有关三次方程的求解,其实中国南宋伟大的数学家秦九韶在他1247年编写的数学名著《数书九章》一书中就提出了数字一元三次方程与任何高次方程的解法“正负开方术”,提出“商常为正,实常为负,从常为正,益常为负”的原则,纯用代数加法,给出统一的运算规律,并且扩充到任何高次方程中去。现在,这种方法被后人称为“秦九韶程序”。欧洲人在400多年后才发现,但是如今在我们的教材中这个三次方程公式是以欧洲人命名为“卡丹公式”,原来有关三次方程的故事在欧洲所发生的要精彩的多,本文为南开大学博士宋宁所撰写。
三次方程——费罗的雄心
1453是一个令西方人无法忘怀的年份。这一年,拜占庭的永恒之城君士坦丁堡被卓越的奥斯曼苏丹穆罕默德二世攻陷,拜占庭的难民们——主要是希腊人蜂拥逃亡西欧。他们给尚在黑暗中世纪的西欧人带来一批改变历史进程的东西,那就是古代希腊罗马时期的重要文献。在这批重要文献的外部作用和西欧内部经济文化军事的内部需求这双重作用下,西欧中世纪的黑幕徐徐落下,一个崭新的时代初露端倪,后世称其为“文艺复兴”时期。我们的故事就从“文艺复兴”的发源地——北意大利说起。
彼时的意大利正是群雄并起的大分裂时期,内有各方诸侯割一城一地而称雄,外有法兰西、西班牙、奥地利群狼环伺。小国寡民的意大利北部各领地兵连祸结,为求自保,各地诸侯大力发展城防建筑进而间接地刺激起了数学的发展。我们的主人公就生活在1500年代的意大利北部城市博洛尼亚。
早在12世纪,古代的中国人阿拉伯人和欧洲人就或早或晚发现了一元二次方程的解法。但是对于一元三次方程,尽管各地的数学家都不同程度上地解决了一些特殊的三次方程,但是却一直没有对任意三次方程普遍适用的解法。此时整个欧洲最急需的数学就是代数和三角,尤其是代数方程的求根公式。尽管之前已经有了很多近似计算法,但是人们仍然呼唤一位不世出的奇才能将这一问题攻克。
转机出现在穆罕穆德二世攻破君士坦丁堡的九年后,也就是1462年,一个男童降生在意大利北部小城博洛尼亚一个造纸工匠家中,男孩名叫西皮奥内·费罗。他的童年和青年的大部分都已经淹没于历史的尘埃中。我们只是知道他很可能是在博洛尼亚大学完成了学业,并在31岁(也就是我现在的年龄)那年在这所大学留校任教,那时已经是1496年。
如果不出意外,我们的闷骚青年费罗先生会平平淡淡在这所学校做一个教书先生,然后平平淡淡地退休,消失在茫茫的历史长河中(其实,这也是我想要的生活)。不过不巧的是,意外真的来了,就在费罗在博洛尼亚大学参加工作的5年之后,也就是1501年,费罗一生的伯乐出现了,他就是当时全意大利著名的数学家帕西亚利(Paciali),这位数学家受邀来到博洛尼亚大学讲学。他很快注意到这位卓然的年轻人。很可能这之前费罗就有了一些求解三次方程的想法,但是此时无法进行下去,但是帕西亚利先生的到来,给予了某种激励——有形的帮助或者无形的勉励。总之帕西亚利鼓励他支持他继续他的工作。
又过去了十四年,也就是1515年,当年闷骚青年如今已经年届五旬,但是功夫不负有心人,他终于找到了解决如下一类三次方程的方法:x^3+ax+b=0.
虽然这个方程缺少了二次项,但是却相当于已经解决了所有三次方程的求解问题。这是因为:首先对于如下任意一个三次方程ax^3+bx^2+cx+d=0.
由于它是三次的,所以a不是零,于是可以对方程两侧同时除以a,这样就变成三次项系数为1的方程(也就是所谓“首一三次方程”)。因此只要解出了所有的首一三次方程就可以解出所有的三次方程了。
进一步地,对上述首一的三次方程,令z=x-(a/3),很容易发现在以x为未知量的新的方程中是没有二次项的,也就是说,最终所有的三次方程都可以转化为首一的没有二次项的三次方程,也就是费罗解出的那个类型的三次方程。
故事结束了吗?不,远远没有。费罗并不想将这个成果公之于众。因为当时刚刚从黑暗的中世纪挣脱出来的欧洲并没有今天的学术环境,没有各种学术期刊,更没有SCI之类的东东,任何的学术成果都是私有的财产,要么可以出版著作扬名立万,要么作为震惊世界的资本谋求大学里的终身教职。费罗并不想扬名立万,而且五十岁的他也不怎么留恋什么终身教职,他有第三种打算。在临死之前,他将他保守了一生的秘密,交给了两个人:一是他的女婿,一是他的一个学生。后来的事实表明,如果费罗泉下有知,他将无限地懊悔这个决定,他的这个学生将毁了他一生的雄心——他确实看走了眼。
争斗时刻——口吃者的挑战
费罗在临终前将三次方程的解法告知了两个人,一个是他的女婿也是他的继任者,一个是他的学生安东尼奥·菲尔——这注定是个特大的错误,因为菲尔是一个没有才华却贪图高位的人。他自以为得之,便如获至宝般回到家乡,想要凭借求解三次方程这一“举世无双”的壮举来赢得荣耀和终身教职——也许这举世无双是他自以为的,因为很快他就有了一个竞争者,一个被大伙称为“塔尔塔利亚”的人(下图)。
“塔尔塔利亚”并不是这个人的本名。他本名方丹诺,但是十二岁那年,法国军队侵略了他的家乡布雷西亚时,他的嘴被一名法国骑兵的马刀刺伤(很可能伤到骨头和某些重要的神经),从此患上残疾,口齿不清,乡里人称呼他为“塔尔塔利亚”,意思是“口吃者”。口吃者塔尔塔利亚在当地有着非同寻常的名气,乡人纷纷表示他早就能解三次方程了。这让本以为可以捞个大便宜的菲尔倍感压力,他意识到只有战胜这个口吃的小子,才能得到他所希望的。
正如后世常常在类似《三个火枪手》之类的小说里看到的,那时决斗是私下解决问题的通行手段。而学术界呢,尽管不会轻易决斗,但是十分相似的争斗却经常上演,虽然形式貌似更和平一些——主要是公开辩论和公开竞赛——其实其残酷程度并不亚于决斗,因为失败一方很可能就此名誉扫地而一蹶不振。那么菲尔有这个自信挑起这场竞赛吗?
当然,他自以为是有理由的,他相信老师给他的这套方法是独一无二的,并且他也自信自己已经将之烂熟于心。于是,在1535年初,大学教授的学生菲尔向著名的口吃小子塔尔塔利亚发出了挑战,内容就是他们分别向对方出30道解三次方程的题,得分高者获胜。
但是有一个关键的问题:菲尔只会解没有二次项的首一的三次方程,换句话说他并不知道如何将一个一般的三次方程化为没有二次项的首一三次方程。换言之他对老师的解法只是一知半解。
今天的我们可能会很奇怪。因为在上一集中可以看到,将一个普通的三次方程化为一个没有二次项的二次方程并不是一件难事啊,为什么菲尔学会了更难的部分,而做不出这一部分呢?我想这里可能有两个原因:一是菲尔这个人确实过于平庸,过于一知半解;第二个原因,可能也是很多人所忽视的原因是,当时的欧洲数学有一种奇怪的现象,就是虽然事实上已经理解了无理数,但是对负数却不能毫无顾忌地使用,因为负数可能带来虚数,而彼时的基督徒看来,虚数是不可理解的甚至如恶魔般的存在,于是他们总会把负数移到等号的另一侧,这造成了巨大的麻烦,尤其对于一个平庸的人。
而另一方面,塔尔塔利亚却做足了功课,他很可能通过某种途径(我个人认为可能未必光彩)得知,他的对手只会解没有二次项的三次方程,于是他给对手出的都是有二次项的三次方程。相反地,他本人却在1535年2月13日那个晚上,成功地解决了这种方程。于是他大获全胜,而平庸的菲尔一败涂地。
塔尔塔利亚所使用的方法(很可能也是费罗所发明的方法,尽管费罗的方法已经不可考证)用我们今天的术语表达是这样的:首先用之前的一集所讲的方法,将一般的三次方程化为首一的没有二次项的三次方程,如下:
令x=u-(a/3u) ,那么原方程就变成以u为未知量的方程了,但是不要急着代换,这样运算太麻烦,再令v=-a/(3u),这样方程变成了如下的二元方程组
通过代入法消去未知量v,于是奇迹发生了,我们得到一个关于u的三次幂的一个二次方程.
只要解出u的三次幂然后开三次方就可以解出u,然后代回方程组就可以算出v,从而最后解出x了。
依然回到我们的故事,平庸的菲尔黯然淡出历史的视野,塔尔塔利亚名声大噪,但依然依照当时的惯例,严密保护着他的秘密——三次方程的解法。不过他已经实现了他扬名立万的想法了,他可能只是希望日后在时间精力允许的前提下或许是在他即将退休之前著书立说吧。因为现在的他名气太大了,诸侯们忙着请他去计算弹道——炮弹的弹道,自从君士坦丁堡的城墙被土耳其人的大炮轰塌之后,欧洲的将军们发现了攻克北意大利诸多要塞的新方法——火炮,于是意大利的诸侯又纷纷请当时著名的数学家帮助他们计算弹道改进城堡(达芬奇和伽利略就揽了不少这种活)。
正在塔尔塔利亚为“修长城”的伟大事业忙得不可开交之时,又有一个人找到了他,这个人也许是我们这个系列里遇到的第一个名人——他叫吉罗拉摩·卡尔达诺。也许你并不熟悉这个名字,那只是因为上世纪九十年代三次方程的解法方面的内容从我国高中课本里删除了,如果你能有幸找到某本老课本,你就会发现三次方程的求根公式的正式名字是——卡丹公式,这个“卡丹”就是“卡尔达诺”的另一种翻译。那么,前面已经有了费罗和塔尔塔利亚,为什么公式要以卡尔达诺命名呢?
虚伪的君子——学术著作中的勾心斗角
前来探访塔尔塔利亚的人名叫卡尔达诺。这个卡尔达诺在我国很长一段时期内被翻译为“卡丹”,这很可能是按照英文Cardan做的翻译,而如果按照意大利语应该是Cardano,也就是现在更常见的翻译卡尔达诺(下图)。
那么卡尔达诺是个什么人呢?传统上他被称为“文艺复兴时期百科全书式的学者”,可见其非凡的地位。非凡的人自然有着非凡的童年。喜欢八卦的意大利人传说,他的母亲不守妇道怀上这个孩子却不知道他的父亲是谁(也是醉了),于是拼命吃堕胎药却愣是没把他打下来。还有说他的童年正值家乡蔓延黑死病,年幼体弱的卡尔达诺竟然熬了过来,总之是大难不死必有后福啊。相比于他的母亲,他的父亲的经历更为传(gou)奇(xue)。他的父亲名叫卡奇奥·卡尔达诺,是达芬奇的密友,早年是数学老师,但他想发财,凭着学问给一些贵族做顾问。这种顾问有时像是私人医生有时又像是私人律师,总之需要常常在学问不够用时靠点嘴皮子功夫(差不多就是骗子吧)。但是这给卡尔达诺带来了很奇妙的影响,他先是学医(甚至他生命里大部分时间是医生,甚至做过某些国王的御医)。做医生免不了有人问他自己还能活多久,于是他还精通算命。彼时算命靠星象(据说他晚年算准自己某年某月某日死,结果到了那天还没死,为了自己星相大师的面子,这位大爷~自~杀~了~),于是他又懂天文。天文需要机械,于是他还会玩机器。天文当然最重要的是要计算,于是他又懂数学。
话说当世时,卡爷已经是名满欧洲的大学者兼大畅销书作家了。他也听说了塔尔塔利亚赢得三次方程竞赛的事情。此时他正好在写一部书——这部书后来传入中国时候翻译成了《大衍术》——卡爷想增加这本书的销量,那最好是有点“解密内幕”性质的玩意才好吸引读者,于是他找到了那个时代八卦话题的核心人物塔尔塔利亚,向他求教三次方程的解法,并且保证绝对要在书中明确记载这份功劳归功于塔尔塔利亚。
但是捏,我们之前说过,塔爷有塔爷的想法,他想把这个学术机密留在自己的著作里(那当然,这样自己的书就能畅销了嘛),所以任凭卡尔达诺怎么软磨硬泡,他都不为所动。塔爷表示,让卡尔达诺的书中刊载解三次方程的方法不是不可以,但是有个条件,那就是必须等塔爷本人的学术著作出版之后你小卡得书才能出版!卡尔达诺急了,因为他的书付梓在即,马上就要去印刷了,就是专门为了加这一部分才没去印刷的,兄弟这儿急呀!总之呢,无论如何是没办法。
最后,卡尔达诺认怂了,那就请求塔爷快点出他自己的书吧。塔爷再次表示:不行!(估计这时候卡尔达诺心头上已经跑过了一万只某南美卖萌小物种了)塔爷继续用他口吃的语速慢条斯理地说,因为捏,俺现在还要给诸侯老爷们计算炮弹弹道——人命关天呐!(估计卡尔达诺要掀桌子了。。。好吧他确实很可能大概是真的“掀桌子”了。)
卡爷(这次终于回归大爷状态了)给塔爷写了一封据说措辞极为强硬的信,大概内容是说,你那些什么弹道研究著作基本就是个废XX,满本书都他XX滴是扯X,你根本就是个XX。。。(语言可能不雅,各位自己脑补吧)
塔爷也毫不留情地回骂(脑补脑补哈)。正在塔爷以为,卡爷又要更强硬地回回骂的时候,卡爷的回信却把他给吓着了,因为卡尔达诺突然回信说:哎呀,小卡我之所以说那么重的话,是为了能引起您的注意啊,还望塔爷您大人不计小人过地啦,要不咱哥俩全聚德来只鸭子喝点茅台五粮液什么的,您也消消气?我本人认为卡尔达诺这么灵活机(wu)动(chi)善于处理复杂关系,肯定跟他父亲的言传身教有关吧。
总之,这次聚会把塔尔塔利亚彻底忽悠蒙圈了。为了进一步加强忽悠效果和加重塔爷的“病情”,卡尔达诺还不失时机地表示:您塔尔塔利亚先生关于弹道学的书我是佩服得五体投地,您看,我前两天还刚买了两本精装本呐,准备一本放在我们家正厅供起来,另一本送给瓦斯托侯爵老爷(瓦斯托侯爵是当时西班牙帝国驻意大利的总督兼帝国驻意大利军队司令,极度牛逼)呢!——终于塔尔塔利亚像被赵本山忽悠过范伟一样中着了,他最终同意将解法写成一首极其晦涩的二十五行的小诗,送给卡尔达诺。
卡尔达诺如获至宝,他和助手花费了很多年才参透了三次方程的真正解法以及相关证明,这期间还得到了一个神秘人物的帮助,最终他们把解法和证明写到他自己的著作《大衍术》中,并且还进一步拓展了原来的理论。当然出于虚伪的面子的着想,他依然在书中明确地说了卡尔达诺以及费罗所做的贡献,并且明确表示自己并不是这套方法的发明人。但是至于那个君子协定嘛——凭什么我卡尔达诺的书要等你塔尔塔利亚的书出版了才能出版呢?我们签合同了吗?谁证明呢?再说,要是真的是让你先出版,那谁还买我的书呢?于是,他毫不顾忌地提前出版了这部书。
不出所料,这部书在欧洲引起了巨大轰动,一直于全欧洲都不管不顾地称书中的三次方程的求根公式为“卡尔达诺公式”。这极大地刺激了塔尔塔利亚。他公开谴责卡尔达诺的背信弃义。但是卡尔达诺对此的解释是:他在拜访了塔尔塔利亚之后的第六年,得到了一个神秘人物的帮助——他听说了在博洛尼亚早已有人会解三次方程,他是博洛尼亚大学的一位教授的女婿,名叫安尼贝勒·纳夫。这个纳夫又是何许人也?他不是别人,正是当年费罗临终前传授三次方程解法的两个人中的另一人——费罗的女婿和继承者。我本人相信这很可能是真的。不过这世事的轮回也确实有趣,当年费罗野心勃勃地将三次方程的解法找到却秘而不宣地交给了女婿纳夫和学生菲尔。菲尔出去招摇撞骗,被塔尔塔利亚一举击败。而女婿纳夫却在背后给了塔尔塔利亚沉重的一击。
话说回来,卡尔达诺也并不是只会卖萌加忽悠的赵本山,他确实将塔尔塔利亚的解法提高到了一个新的高度。他的解法不和塔尔塔利亚的完全一样,而是更简洁,并且他明确地指出三次方程应该有三个根,这意味着卡尔达诺已经站在复数域的大门之前,只是“没有勇气去敲门”而已。
当然塔尔塔利亚并不认可这些。第二年他就加速出版了他的学术著作。出版的目的只有一个:激烈地抨击和辱骂卡尔达诺!出人意料的是,卡尔达诺并没有回应。真正做出回应的是他的学生与助手费拉里。费拉里宣称要在任何学科上与塔尔塔利亚展开辩论和竞赛直到他名誉扫地!接下来确实发生了一场辩论式的竞赛,过程不为人知,我们只是知道:在费拉里的一番谩骂之后,塔尔塔利亚退出了赛场,结果费拉里不战而胜,最终塔尔塔利亚失去了他的荣誉和教职。鉴于这次竞赛的过于戏剧性,以及之后各方的守口如瓶,我本人很怀疑,当初塔尔塔利亚的解法可能来路不正,而费拉里通过费罗的女婿知道一些细节。总之,这不是一场多么高贵的战斗。