负负为何得正(上)

摘要

对乘法“负负得正”这条规则,多数人都是一开始觉得这规则有点奇特,日久天长便觉得理所当然,再也不去追究其中的原因。但也有人一直对此耿耿于怀,总想要个说法。其中最著名的,大概要算法国著名作家司汤达。

题图“负负本得正,此理无须论。” ——威斯坦·休·奥登

一、司汤达的疑惑

司汤达

司汤达

对乘法“负负得正”这条规则,多数人都是一开始觉得这规则有点奇特,日久天长便觉得理所当然,再也不去追究其中的原因。但也有人一直对此耿耿于怀,总想要个说法。其中最著名的,大概要算法国著名作家司汤达。

司汤达算得上是一位数学爱好者,至少在他的青少年时代如此。他在格勒诺布尔中学学习时就非常喜欢数学,并在最后的毕业考试中得了数学第一名,压过后来进了巴黎综合理工学院,号称“八学霸”的那些同学们一头。他也因此能够逃离令他厌恶的家乡,来到巴黎。在他的自传《亨利·勃吕拉传》中,他用不少篇幅描述了自己十四岁时对“负负得正”规则的疑惑:

“在我的少年时代,我认为在数学中不可能有虚伪,而且所有那些据知应用了数学的学科也同样如此。于是当我发现没有人能跟我解释负负为何得正 (- × - = +)时,我无所适从了。(这是称为代数的学科的基本规则之一。)比解释不了这个难点(我想它大概还是应该可以被解释的,毕竟它引出正确结果)还糟的是,更有人拿他们自己都搞不清楚的理由来向我解释。”

他的老师Chabert先生要么重复课上的话,而司汤达恰恰是对那些话有疑问,要么搬出权威欧拉和拉格朗日来——“他们应该不比你差吧,也接受这规则的……”;另一位老师Dupuy先生则从不回答问题,只报以莫测高深的微笑;当司汤达向学霸之一提出这个疑问,得到的则是当面的嘲笑。无可奈何,司汤达只好安慰自己:

“我于是得出结论,而且如今还这样认为:负负必须得正,因为显而易见,每次运用这个计算规则,我们总能得到真确无可质疑的结果。”

两百多年后的今天,我们能不能回应一下司汤达的疑惑?

二、作为规定的乘法

从现在起我们考虑整数乘法的“负负得正”,对于有理数或实数乘法的“负负得正”的解释是类似的。本文中所说的自然数包括零。

首先我们要澄清“-”号的几种用法。1) 它被用于表示减法,此时它被称作“减号”。2) 在“-5”这样场合中,它被称作“负号”,负号和后面的(正)数形成一个整体,是表示负数的方式,比如“-5”表示的是负五这个数字。3) 负五,或者说“-5”,是怎么定义的?它被定义为“0减去5的结果”,或者说是“那个和5相加等于0的数”;当我们允许把“那个和a相加等于0的数”中的a取作负数时,“-”就成为了整数集上的一个一元运算(减法是两元运算),它被称作“负运算”。

当我们从负运算的角度去看问题时,考虑一下比如-(-5)是什么。根据上面负运算的定义,-(-5)是“那个和-5相加等于0的数”。而和-5相加等于0的数不是别的,正是5。所以-(-5)=5。更一般地,对任意自然数a,我们都有-(-a)=a。这也可以看作是某种意义下的“负负得正”,而且和整数乘法的“负负得正”有联系。但我们必需认识到,这两种“负负得正”不是同一件事:前者是无需定义整数乘法就成立的,后者则是整数乘法的一个性质。本文讨论的是整数乘法的“负负得正”。

必须说明的是,整数乘法的“负负得正”首先是一种规定。从自然数乘法出发,规定“负正得负,正负得负,负负得正”,就得到了整数的普通乘法。对“负负为何得正”的直接回答,可以是:“就是这么规定的”,但这显然不是问这问题的人想得到的答案,我们得分析一下这个问题其实是在问什么。

纯粹从数学上来说,我们也可以规定比如“负正得正,正负得负,负负得负”,来得到另一种“乘法”。我们甚至可以规定“负正正负或负负都得零”,或是其他结果都和整数的普通乘法一样,只有“-4乘以5等于45”不一致的“乘法”。整数集Z上的一个二元运算是一个函数f:Z×Z→Z。如果f在自然数集合N上的限制f:N×N→Z的值都落在N内,而且和自然数乘法的结果一致,它就可以被看作是自然数乘法运算在整数上的推广,可以被叫做整数“乘法”。

理论上说,上面这个“和自然数乘法的结果一致”的条件甚至也可以不要。毕竟“乘法”只是一个名字,就算规定“乘法”的结果是任何整数和任何整数相乘都等于0也是可以的,只要在一开始说清楚。当然实际上没有人这样做,也不应该这样做——因为已经有自然数乘法了,新定义出一种运算,又在自然数上和自然数乘法不一样,那你大可取另一个名字。故意也叫“乘法”,就算开始就说清楚,也只有混淆的害处而没有任何好处。

既然整数的普通乘法从定义上来说,和其他可能的对自然数乘法的推广一样,只是一种规定,我们要问的问题其实是:为什么在把自然数乘法推广成整数的乘法时,要这样推广?为什么在学校里我们学的都是这种负负得正的乘法,而不是某种其他的对自然数乘法的推广呢?

显然是因为,负负得正的整数普通乘法比起其他的对自然数乘法的推广来说,有它的好处,而且是大好处。

三、实用方面的考虑

从实际应用的角度来说,司汤达对自己的安慰的确从某种程度上回答了他自己的疑问:正因为负负得正的规则能够被应用到许多场合中而得到正确的结果,所以它是一种好的运算,所以负负得正。

拿自然数的加法来说,我们在计算比方说2个苹果和3个苹果放在一起会有几个苹果时会用到它:2+3=5,所以一共会有5个苹果。大家恐怕也碰到过抬杠的说,加法不对,1+1不等于2的,比方说1滴水和1滴水放在一起不是2滴水,而是1滴(比较大的)水。

事实上,“因为2+3=5,所以2个苹果和3个苹果放在一起共会有5个苹果”的推理少了一个步骤,当中应该有“自然数的普通加法适用于苹果放在一起的情形”这个条件。当然,这个条件是如此地显而易见,以至于大家一般不会把它明确地说出来。但它的确是必要的。它不是数学的一部分,而是实际经验。自然数的普通加法就不适合用在水滴放在一起的情况。

如果说水滴放在一起的例子象抬杠,那么速度合成的计算就是一个严肃的例子。曾几何时,人们一直认为实数的加法可以应用在速度合成的计算上:如果在地面上看,一列火车以速度v向右行驶,而火车上又有人以速度w向右奔跑,那么从地面上看来,人向右运动的速度就是实数v和w的和v+w。但是狭义相对论却说这是不准确的,如果v和w都大于0,那么实际上从地面上看来人向右运动的速度要比v+w小一点,等于(v+w)/(1+vw/c2),其中c是真空中的光速。难道我们能依此说,实数的加法错了?不能。只是它不适用于速度合成,尤其是在高速的情况下。

在自然数上也可以定义出和普通加法不同的“加法”来。比如两个自然数的尼姆加法,就是把两数分别写成二进制形式,然后每一位分别做异或运算,得到结果。我们用⊕来表示尼姆加法,在这个运算中,1⊕1=0,7⊕8=15,14⊕3=13,8⊕9=1。尼姆加法在组合游戏论中有非常重要的地位,但这和本文主旨无关,所以不具体介绍了。这里想说的是,尼姆加法自有它的用途,可要是用在计算苹果数目上就不是好主意;自然数普通加法更有用处,不过用在需要尼姆加法的地方也是不行的;但这都不是自然数普通加法或尼姆加法的错。

反过来说,如果一种运算在某种具体的应用中总能够得到被经验上证实的正确的结果,那么定义和研究这样一种运算就是有价值的。规定负负得正的乘法正是这样。比如有条东西向的铁轨上行驶着一列以速度20米/秒向开的火车,那么10秒以后它就会在现在位置的边20×10=200米处。如果它其实是以20米/秒向西开的,而我们想计算它在10秒以前是在哪里,我们当然可以同样用自然数乘法来计算20×10=200,然后推理说火车向西开,10秒以前必定处于离现在位置的东边,所以它是在现在位置的东边200米处。但如果我们把向东作为正的方向,朝未来作为时间流逝的正方向,那么后面一个例子我们可以认为火车是在以-20米/秒向开的,而我们想知道它在-10秒以后的位置。按负负得正的规则,(-20)×(-10)=200,得到一个正数,所以-10秒后(或是10秒前)它是在现在位置的东200米处。我们仍得到了正确的结论。这样做的好处在于,我们不需要再按照火车行驶方向和时间在当下的前后分成四种情况来考虑,所有情况都被统一成“向东行驶若干秒以后”,负负得正的乘法总能告诉我们正确的结果。

象上面这样负负得正得到正确结果的例子数不胜数,司汤达也承认“它引出正确结果”。从这点来说,我们目前的乘法是很有它存在的价值的,是好的。

但这种“实际中很有用”的解释显然不能说服司汤达,至少不能完全说服,否则他也就不会继续困惑了。司汤达期待的另一部分的解释,是一个和实际应用无关的,纯粹的数学上的解释:为什么从数学的角度看,负负得正的乘法是好的,好过以其他方式定义的运算。(待续)

参考文献
[1] Stendhal, Vie de Henri Brulard (Nouvelle édition augmentée), Arvensa Editions (2015).

(原文链接:http://www.jianshu.com/p/d83509ee330d

您还未添加分享代码,请到主题选项中,添加百度分享代码!

您可以选择一种方式赞助本站

安安以迁迁

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

图片 表情