虚数i真的存在吗?

不知大家是否还记得高中的时候我们学过的一个重要数学概念——虚数,其定义是这样的:

然后形如:

这样的数就称为复数。可能有的同学对此完全没印象,或者只是感到似曾相识,它认识你,你不认识它,如果正在看这篇文章的你也有同感,那我不得不怀疑你高中的时候是不是净忙于拍拖早恋了!

我努力回忆了一下我当年的高中老师是怎么给我们引入虚数这个概念的,印象最深的一点就是:实在是简单粗暴至极,一上来就直接扔出虚数的惊悚定义,全然不care虚数的历史背景、现实意义、物理意义等等。然后就在这个定义的基础之上整出一堆关于复数的幅角、模长,以及复数的加减乘除运算法则、几何意义等等,再然后就是各种奇技淫巧的题目,而且还不断地变换着花样打击我们的信心。

至于“虚数到底是什么?”这样的灵魂拷问问题,反正老师是不会告诉你的,只要你能用来解题就足够了,管那么多闲事干嘛。

但是我当时接触到这个概念的时候就一直感到非常困惑,为什么会有一个数的平方等于  呢?这不是瞎扯淡吗?初中的时候老师就教过我们,任何一个数的平方是一个非负数,怎么到了高中你就告诉我有一个数的平方会等于  呢?如果这是人为规定出来的玩具,那凭什么要如此规定呢?

关于虚数的这些疑团一直笼罩在我幼小心灵的上空,困扰了我很多年,甚至到了大学,这个困惑一直还在。

可能有些聪明的同学会说,你这个问题太简单了,我来给你扫盲:

有了虚数之后,我们就不再受非负数这个条件限制,可以任性地进行开方运算了,因此,一元二次方程:  无论任何情况下都有解: 那些什么“判别式∆>0,方程有2个实数解;∆=0,方程有1个实数解;∆<0,方程无实数解”之类的关于解的判定性说明就可以统统扔掉了,简直就是啰嗦!

这个解释好强大好有道理哦!但是真实情况是不是这样的呢?

我们知道,要了解一个人,最好的办法就是了解他的过去;要了解一个国家的现状,就要去阅读这个国家的历史。同样的,要了解虚数的真相,我们还是得从虚数的前世今生说起。(下面我可能会“复数“、”虚数”两个词来回穿插使用,请自行对号入座)

【1 一元三次方程】

有意思的是,虚数的产生并不是因为我们熟知的解一元二次方程,而是因为解一元三次方程。公元前2000年左右,古巴比伦的数学家就已经解决了一元二次方程的求解问题,然而对于一元三次方程的求解却使众多数学家们陷入了困境。1494年,意大利数学家卢卡·帕西奥利(Luca Pacioli)对一元三次方程进行了艰辛的探索后作出极其悲观的结论,他认为以当时的数学水平,求解一元三次方程根本不可能。这种对以前失败的悲叹声,却成为16世纪意大利数学家迎接挑战的号角,以此为序曲引出了我们要讲述的关于一元三次方程求解的故事。这是一个充满江湖味道的离奇故事,且听我慢慢道来。

故事开始于16世纪初期的意大利,有一位来自博洛尼亚的算术学教授,名叫西皮奥内·德尔·费罗(Scipione del Ferro),他是第一个发现一元三次方程求根公式的人,但是他并没有马上发表自己的成果,而是费尽九牛二虎之力,试图让他的竞争者们不要窥探到他发现的三次方程解法的秘密(这要是放在今天这种争先恐后发表论文的学术年代,那简直是愚蠢到不可思议)。

但当时是事出有因的,那时候一个人若想要保住自己的大学职位,必须在与他人的学术竞争中不落败,因此,一个重要的新成果就成了一件让自己在竞争中处于不败之地的有力武器。最后直到临终前,费罗仍然没有发表他的三次方程解法,只是向一小撮弟子私底下公开了,其中有一位弟子名叫安东尼奥.玛利亚.德尔.费奥雷,他的数学才能并不突出,但是他对老师的研究很有信心,所以压抑不住天性经常出来炫耀自己从老师那里得来的成果,他向意大利境内的数学家发出挑战书,挑战的内容当然是解三次方程。毫无意外地,他每次都赢了,直到有一位名叫塔尔塔利亚(Tartaglia)的人出现。

塔尔塔利亚其原名丰塔纳,在一次战乱中他被一法国兵用刀砍伤脸部,头部口舌多处受伤,其后虽侥幸活命,却留下了口吃的后遗症,于是就得了“塔尔塔利亚”的绰号,意大利语就是“口吃者”的意思,那时他还只有13岁。1535年,塔尔塔利亚接到了费奥雷的“战书”,他们两个人互相给对方一张“难题清单”,上面各有30道解三次方程的难题,在接下来的几周时间内,塔尔塔利亚面对费奥雷提出的问题绞尽了脑汁,在最终期限到来之前的几天,他福至心灵,终于发现了三次方程的解法。

于是,他花了几个小时的时间,把30个三次方程都解开了,而费奥雷却一道题都做不出来,这样塔尔塔利亚就以30:0的战绩大获全胜,一时名声大噪,如雷贯耳。然而,故事远远没有结束,因为塔尔塔利亚拒绝向公众公布他发现的方法,于是事情又回到了费罗式的原点。四年后的某一天,这场“三次方程解法大混战”传到了一位米兰数学家、工程师吉罗拉莫.卡尔达诺(Cardano)的耳朵里。

在此之前,卡尔达诺也是那些认为三次方程不可解的数学家之一,因为塔尔塔利亚赢了费奥雷的挑战,卡尔达诺感到很好奇,所以他试着联系塔尔塔利亚。1539年,卡尔达诺给塔尔塔利亚寄了8道三次方程的题,希望塔尔塔利亚能告诉他解法,塔尔塔利亚断然拒绝。卡尔达诺非常气愤,随后尝试了用恐吓的手段,通过发动全意大利的数学家来声讨塔尔塔利亚,谴责他的狂妄无理、嚣张跋扈, 但是塔尔塔利亚并没有屈服。

最终,卡尔达诺使了一个阴谋诡计,他告知塔尔塔利亚,米兰的统治者德.阿瓦洛斯侯爵想要见他一面,塔尔塔利亚那时候在威尼斯的情况也不太妙,因此他希望能够找到一位保护人。于是,塔尔塔利亚前往米兰,卡尔达诺见到塔尔塔利亚之后使出浑身解数,让塔尔塔利亚消除了对他的不信任,在双方不知疲倦的无数次谈判之后,塔尔塔利亚最终答应有条件地教给卡尔达诺三次方程的解法,前提是卡尔达诺发誓永远不能发表这种方法。卡尔达诺发了誓,塔尔塔利亚也将三次方程的解析式告诉了卡尔达诺。回到米兰城内之后,卡尔达诺开始仔细分析这些解析式。

解析式当然很好用,但是卡尔达诺却觉得缺少了一样重要的东西,那就是证明过程。到当时为止,发现了三次方程解法的数学家中,没有任何一位能够使用严格的方式来证明他们的解析式是永远正确的。于是在接下来的几年时间内,卡尔达诺专心致志地“攻坚”这个问题。

最终,卡尔达诺成功了, 而且他的学生之一卢多维科.费拉里甚至归纳出了四次方程的解法!但是,因为当年在米兰发过誓言,这两位数学家都不能违背誓言发表他们的成果。卡尔达诺不肯放弃。1542年,他和费拉里一同前往博洛尼亚拜访了费罗的另外一位学生,他们三人一同整理了费罗留下来的手稿,并从中发现了费罗才是第一个解出三次方程的人。

于是,卡尔达诺认为,自己在米兰发过的誓言应该是无效的。后来他在1547年发表了著作《大术》,将三次方程的解法大白于天下。塔尔塔利亚得知这个消息之后震怒,他猛烈抨击和羞辱了卡尔达诺,认为他剽窃了自己的研究成果。但是为时已晚,卡尔达诺已经成为世人眼中的焦点,他被公认为第一个征服了三次方程的人,直到今天为止,三次方程的求根公式依然以卡尔达诺的名字命名,称为“卡尔达诺公式”。

卡尔达诺在他的《大术》给出了形如: 的缺二次项三次方程的求根公式:

卡尔达诺的这个求根公式其实就是费罗发现的解法,他通过非常巧妙的多元变换来降低方程的次数,然后利用二次方程的求根公式得出了三次方程的解,其方法堪称绝妙,这里我就不展开介绍了,有兴趣的朋友可以自己去网上找资料。

仔细观察三次方程的求根公式,我们不难发现,其中有一串判别式  是被包含在平方根式里面的,如果这个判别式小于  ,例如当  时,那么三次方程: 的判别式  ,这时候方程的根就包含了负数的平方根  ,即: 当时卡尔达诺到这里就卡住了,不知道该怎么处理负数的平方根,因为在他们当时的认知观念中,任何一个数的平方只能是  或正数,不可能存在一个数的平方是负数。那既然这样,是否可以参照二次方程求根公式的判别准则,直接宣布判别式小于  的时候三次方程无解呢?

卡尔达诺陷入了困境,因为这个求根公式并不是在判别式大于  的情况下才推导出来的,而是在任意的情况下通过严密正确的逻辑推导出来的,究竟问题出在哪里?如果就此宣布方程无解,那这个求根公式的适用范围也太狭窄了,总感觉不那么干脆和漂亮。

有些同学看到这里可能会说,判别式小于  ,说明上面的三次方程求根公式失效了,应该尝试用因式分解法来求解,这样才能求出实数根。我只能说这种想法有点狂妄,你以为绝大部分的三次方程都是可以凭运气凑出因式分解式吗?比如这个方程: 它的实数根是这样: 这显然是一个无理数,而对于三次方程,我们通过手工凑出来的解只能是有理数解,绝大部分三次方程是无法通过硬凑和因式分解来求解的。

所以卡尔达诺遇到的问题根本就不是方法正确与否的问题,而是观念、思维革新的问题,但他自始至终都没有接受负数平方根的存在,他认为负数的平方根“既不可捉摸又没有什么用处”,它仅仅是一种数字游戏,一种幻想中的、虚无的数,因此错失了发现虚数的最佳机会。

【2 邦贝利的思维飞跃】

拉斐尔·邦贝利(Bombelli),文艺复兴时期欧洲著名的工程师和数学家,同时也是卡尔达诺的学生,他对一元三次方程的解法非常感兴趣,在全面研究了费罗、卡尔达诺的研究成果之后,他于1572年出版了《代数学》著作,突破了固有的思维限制,通过开放的思路和巧妙的方法真正地把虚数带入了人们的视野,他也被认为是虚数的发现者之一。

首先,邦贝利的第一个突破就是接受负数的平方根是存在的,并统一给出了任何负数的平方根的具体形式,只要接受  的存在,那么任何负数的平方根也存在,因为对于任何的正实数  ,其负数的平方根都可以写成: 这样的形式,且满足: 比如  的平方根是这样: 邦贝利称这样的数为“复杂的数”,并大胆地将实数的代数运算法则延伸到“复杂的数”:

其中  。

在科学界,接受一个“不存在”的概念是需要何等的勇气啊,搞不好就会被众人的口水给淹死了,但是邦贝利第一个敢于承认虚数的存在,这是一个巨大的思维飞跃,为虚数的发现迈出了最重要的一步。

其次,邦贝利从几何的角度解释了三次方程至少有一个根不带有虚数  ,也就是至少有一个实数根,他思路是这样的:

标准的一元二次方程: 它的根为: 从几何上看,它的根就是二次函数  与  轴的交点 。当判别式  时,二次函数与  轴有两个交点,也就有两个实根。

而当判别式  时,二次函数与  轴不相交,这时候方程无解。

二次方程的根与二次函数的几何直观一一对应,非常形象和漂亮,二者完美地实现了统一。

但是三次方程呢?是不是也能这样?比如我们前面提到过的三次方程: 它的判别式等于  ,这时候是不是意味着这个三次方程没有实数解呢?

从图像上看,三次函数  与  轴是有三个交点的。

于是邦贝利证明了:从几何图像上看,三次方程至少有一个实数根,但是必须通过虚数才能求解。这一步至关重要,是成功从实数通往复数的重要途径之一。

关于“三次方程至少有一个实数根”这个结论,我在这里仅提供一个简单的思路来帮助理解。

由于三次多项式函数的特点,当  的值非常大的时候,它的符号(正号或负号)基本上取决于最高次项  ,因此我们可以取一个非常大的正数  ,使得  与  的符号相同,同时,取一个绝对值非常大的负数  ,使得  与  的符号相同,而  与  的符号必然相反(为什么?请自行思考一秒),所以  与  的符号也必然相反,又由于三次多项式函数是连续函数,根据连续函数的介值定理(学过高数的同学应该对这个定理有印象吧?),  与  之间必然存在一个实数  ,使得  ,即三次方程至少存在一个实数根。(这个结论推广到更一般的情形是这样的:奇数次多项式方程至少有一个实数根。)

至此,邦贝利已经突破了两个非常重要的关键点:接受虚数的存在,并证明了三次方程至少有一个实数根。但是还有一个问题仍然没有解决,为什么这个方程: 通过求根公式得出来的解还是包含了虚数: 这看起来明显是复数根啊,实数根跑哪去了?不是已经证明了三次方程至少有一个实数根吗?怎么用公式求出来的根还是诡异地含有了虚数?究竟问题出在哪里?

邦贝利通过持续不断的深入思考,突然灵光乍现,这个方程  明显有一个实数根  (读者可以自行代入验算一下),而通过公式算出来的根却是这样的两个含有虚数的和: 那么只有可能是这两部分之和抵消了含有虚数的项,从而才能得到实数根。因此,邦贝利提出了一个奇妙的猜想: 如果上述猜想成立,那岂不就是得到: 这不就是正确的实数根吗?(OMG!Unbelievable!

有了这个猜想,接下来求解这个  就是简单到弱智的加减乘除运算了。上面我们说了,邦贝利当时已经将实数的代数运算法则延伸到了复数,因此他顺其自然地将他所猜想的等式两边同时立方: 然后按照实数的代数运算法则进行展开(此处省略一万字),最终得到: 两边比较系数法得:

联立求解即可得  。

用另外一个等式进行两边立方: 同样可得  。

因此: 观察一下这两个等式就不难发现,这哥俩就是一对共轭复数啊,两者相加之后干净利落地把虚部给干掉了,只留下了一个实数  ,这不就是三次方程的实数根吗?

等等,好像这里的逻辑有点问题,你得到的这个实数根的过程是在猜想成立的前提下得到的,而我们现在是要证明这个猜想成立啊,怎么办?很简单,你把下面左边的式子展开算一下,看看是否等于右边的式子:

好巧啊!刚好相等,说明邦贝利猜对了,这简直就是神来之笔。

明明我们要求解的是三次方程的实数根,这与虚数八竿子打不着,但是求解的过程中竟然出现了虚数,而且还不得不通过虚数才能顺利找到答案!注意哦,是求解实数根的过程中出现了虚数,而且还不得不通过虚数才能顺利找到正确答案!是求解实数根的过程中出现了虚数,而且还不得不通过虚数才能顺利找到正确答案!是求解实数根的过程中出现了虚数,而且还不得不通过虚数才能顺利找到正确答案!

这种诡异的事怎么解释?难道还能无视虚数的存在吗?实际上邦贝利在三次方程的解这个问题上已经触摸到了数字的另一个维度—虚数轴,在一维的实数轴中,根本无法看清三次方程解的真相,只有爬上一个新维度才能以高屋建瓴之势洞穿问题的本质。

举一些简单的例子来类比。假设有一个生活在二维空间中的纸片人:

突然发现有一个黑点在草地上忽大忽小的闪烁,纸片人完全不知道怎么去解释:

如果切换到三维视角去看的话,问题就很简单了,原来是一个三维的球体穿过二维平面:

还有一个例子,假如你站在地面上看到一堆人在无序表演,你只看见他们一会儿站着,一会儿蹲下,并不断地变换动作,在地面上的你完全看不懂他们到底在表演什么节目,但是当你爬上一个高高的梯子往下俯瞰的时候,你才彻底看清了他们表演的内容:

这个例子跟复数的情况类似,你站在地面上看到的无序表演就类似于在一维的实数轴上只能看到令人困惑的三次方程的解,当你爬上梯子之后,相当于从一维的实数轴爬升至二维的复平面,这时候从更高的维度往下看,所有的表演内容一览无遗,三次方程解的疑团顿时烟消云散。

有一个热门的网络词汇叫“降维打击”,出自刘慈欣的三体,我觉得也可以用在这里类比复数:通过更高维度的复数解决三次方程求根的问题,实际上就是提升到二维的高度对一维的问题进行“降维打击”。

【3 虚数的发展历程】

尽管邦贝利以革命性的思维和绝妙的方法发现了虚数的存在,并因此解决了一元三次方程求实数根过程中出现虚数的问题,但是世人还是难以接受这样一个诡异的数字,他们认为虚数没有现实意义,不像实数那样能够对应到具体的对象或关系,虚数只是一个没有意义的、想象的、虚无缥缈的幽灵,包括邦贝利本人也是这样认为。

虚数的遭遇跟负数如出一辙,负数刚开始也是被认为是荒谬的、无意义的,例如,当时的人们可以很直观地理解,如果你家有  头猪,后来送给别人家  头,你还剩下  头,  。但如果说你家有  头猪,然后送给别人家  头,那你还剩多少头猪?英国数学家Francis Maseres曾经说过:“Negative numbers darken the very whole doctrines of the equations.(负数使关于方程的所有学说变得毫无意义,即认为负数没有意义)。

即使是欧拉(Leonhard Euler),也为“负数”的概念纠结了好一阵。不过现如今,认为负数“无用”或“不合逻辑”才是真的荒谬。

那为什么人们对负数的理解发生了大转变呢?因为我们发明了一种具有有用属性的理论上的数字,负数并不能很好地用来描述我们看得见、摸得着的可直观感受的事物,但却能很好地描述某种关系

例如“债务”关系,人们会在日常支出中记录各种交易信息,如果欠别人  元,你会记录  ,在赚了  元以后,可以直接用  来计算属于自己的钱,而不需要更多的文字描述,负数已经将这种关系植入其中,既然有这种属性,又有什么理由说它是无用的呢?可见“关系”的重要性

邦贝利1572年出版了《代数学》著作之后就去世了,大约过了50年,人们才开始慢慢思考虚数的价值和意义,1637年,法国数学家笛卡尔(Descartes),在他的《几何学》著作中使用“虚的数”(imaginary number)来称呼虚数,与“实的数”相对应,从此,虚数才流传开来。

1777年,欧拉在《微分公式》一文中第一次用  来表示  的平方根,首创了用符号  作为虚数的单位。挪威的测量学家韦塞尔在1779年试图给这种虚数以直观的几何解释,然而也没有得到学术界的重视。1806年,德国数学家高斯(Gauss)公布了虚数的图象表示法,即所有实数能用一条数轴表示,复数同样也能用一个平面上的点来表示,这个平面叫做“复平面”,任何一个复数与复平面上的点一一对应

后来高斯又用实数组  代表复数  ,并建立了复数的某些运算,使得复数的某些运算也像实数一样地“代数化”。“复数”这个名词就是高斯提出来的,高斯不仅把复数看作平面上的点,而且还看作是一种向量,并利用复数与向量之间一一对应的关系,阐述了复数的几何加法等运算。高斯还证明了一个定理叫“代数学基本定理”:任意  次多项式有  个根(含重根)。这个定理在代数学上的定位有多重要,你看看它的名称就能体会到,“代数学基本定理”啊,这是整个代数学领域的基本定理啊,它的地位和作用就跟一座高楼大厦的地基一样,没有了这个地基,代数学的这座高楼大厦将摇摇欲坠。

到高斯这里,复数的理论才比较完整和系统地建立起来了,这时候距离卡尔达诺和邦贝利初次发现虚数时已经过去了近250年。由此可见,一个新思想、新发现往往都要经过千锤百炼的考验和漫长岁月的沉淀,才能慢慢地被世人所接纳。但是由于历史原因,虚数这个糟糕的名字一直沿用至今,以至于人们看到这个名字的时候就以为是虚无的、不存在的数字,实际上恰好相反。高斯就意识到这个名称与其实际情况不匹配的问题,所以他提出应该采用“侧数”这个的名称来代替虚数,但是最终人们仍然沿用虚数这个名称。

【4 虚数的几何意义】

虚数后来慢慢被人们所接受的一个重要原因就是找到了对应的几何意义,这才让人们更加相信虚数的存在意义和价值,从此,关于虚数、复数的理论发展便突飞猛进,一发不可收拾。

接下来我们就来具体谈谈虚数、复数的几何意义。我们初中的时候就学过实数,实数包括有理数和无理数,且实数跟数轴上的点一一对应。现在我们就从实数在数轴上的几何意义出发来理解虚数的几何意义。我们画出两根数轴,下面的数轴不动,上面的数轴,我们想象这样的场景,一只手按住  这个点,固定不动,另一只手抓住  这个点可以进行拉伸压缩和旋转,其他点的位置也相应均匀拉伸和压缩。

比如,对于数字  ,乘法的作用就是把  拉伸为原来的  倍,这时候对应下面的数轴点就是数字  。

如果是数字  ,则是把  压缩为原来的一半,这时候对应下面的数轴点就是数字  。

如果是负数,比如  ,那么就是拉伸  倍之后逆时针旋转  度,一个数字乘以  的几何作用就是该数字对应的点绕原点逆时针旋转  度,即负数含有旋转  度的操作。所以一个实数实际上对应了相应的作用或者说操作,正数对应伸缩,负数对应伸缩和旋转  度的复合操作,如果一个数字等于  个数相乘,也就是先后作两次连续的复合操作,比如  ,对应于先拉伸  倍、后再拉伸  倍的复合操作。

根据上面赘述的实数的几何意义,我们来考虑下面这个:   应该是什么才能使得数字  被连续  次相同的复合操作之后变成了  ?

我们仔细想一想:如果  是一个正数,那么数字  被连续两次伸缩的复合操作之后,只能变成一个正数。如果  是一个负数,那么数字  被连续两次旋转  度的复合操作之后,肯定又变成了一个正数。你想啊,  被旋转  度,再旋转  度,那岂不是被旋转了  度,刚好一圈,又转回原来的位置,所以也只能是正数,不可能是负数。

那么  究竟应该是什么呢?

我们知道数字  绕原点翻转  度之后就变成  ,那么一个很自然的想法是,我把这个过程拆分成两步相同的复合操作,即  绕原点逆时针旋转  度,然后再作一次逆时针旋转  度,这样不就得到了  吗?

因此上面那个方程式我们可以改写成这样: 这时候  不就是逆时针旋转  度的意思吗?很显然,  位于与实数轴相垂直的新维度—虚数轴上,因此任何一个实数乘以  ,比如  ,就相当于  这个点伸缩  倍之后绕原点逆时针旋转  度,因此,整个实数轴逆时针旋转  度(即任何一个实数乘以  )之后就得到一个新的虚数轴,实数轴和虚数轴生成了一个二维复平面。那么这时候我们自然要问,实数轴上的点一定要旋转  度才有意义吗?我旋转其他角度可以吗?

复平面大声告诉你,你请便啊,我都给你张成了一个平面了,无论你实数点怎么旋转,肯定落在我复平面上的某个点啊。我们假设这个点在实数轴和虚数轴的坐标分别为  和  ,这时候我们就引出了复数的一般形式:   和  分别称为复数  的实部和虚部。

有同学可能会问,为什么要用  号把实部和虚部连接起来?你可以这样想,假如我从原点出发要到复数  对应的那个点,最简单的路径就是直接沿着原点与  的连线一直走到  点,但我也可以先沿着实数轴方向走  个单位,然后再沿虚数轴走  个单位,这样也能到达  点,因此  号的意思其实就是这两步连起来走的意思,而且这样连起来走的效果与直接沿着原点与  的连线一直走的效果是等效的,都能够到达  点(说的有点啰嗦,科普太累了)。

有了复数的一般定义之后,我们再来复盘一下,复数到底是怎么来的?我们前面巴拉巴拉说了一大堆实数的几何意义,即任何实数都可以由  进行伸缩和逆时针旋转  度得到,那么很自然地,复数其实也是通过伸缩和旋转得到的,只不过这时候的旋转是可以旋转任何角度,不仅限于  度。所以,复数的几何本质就是任意角度的旋转

我们来看看复数的加法和乘法运算的几何意义,上面我们已经说过邦贝利成功地将实数的代数运算法则推广到了复数,比如,复数  和  的加法: 仔细观察就不难发现,两个复数相加其实就是分别把实部和虚部相加,实际上就是合并同类项的运算,这个运算过程是不是很熟悉,跟向量的加法是不是很像?学过中学数学或者物理的同学应该都知道向量的加法满足平行四边形法则,那么复数的加法显然也满足平行四边形法则。

而且从复数和复平面的定义我们也可以看出,任何复数  与坐标为  的向量一一对应,且复数加法与向量加法规则一致,这里用比较高级的代数语言来说就是:复数与平面向量关于加法运算是同构的,用人话说就是:这俩在加法运算下衡量出来的是同一个东西(感觉还不是很人话,已经尽力了)。

再来看看复数的乘法,为了探索复数乘法的几何意义,我们利用这个复数形式:   称为复数  的模长(就是长度的意思,也可以记为  ),  称为复数  的幅角(旋转角度),这个几何意义也很直观,根据三角形边长与角度的关系,  其实就是实部  ,  就是虚部  。

现在假设有两个复数: 把两者相乘: 将右边展开之后利用三角函数和差化积公式进行化简,即可得到: 从这个表达式就可以看出复数乘法的几何意义还是旋转和拉伸,即  再旋转  角度,模再拉伸  倍,这样就能得到了  这个复数的值,这个乘法公式实际上就是棣莫佛公式。

再来看看复数的模长,由于虚数跟实数不太一样,其本身是没有大小可言的,因此我们也就不可能像实数那样对两个复数比较大小,但是我们还是可以从实数轴上的长度概念来延伸一下,从而理解复数的模长。我们先从代数的角度来理解,实数轴上任何一个坐标为  的点,其距离原点的距离是: 现在一个复数  ,它比实数轴上的  点还多了一个维度的坐标  ,那么很自然地,我们计算其长度的时候应该把这个  也加入到上面那个根号里面吧,因此  的长度(距原点的距离)应该为: 从几何的角度理解就更加直观了,复数  对应的这个点距离原点的距离,根据勾股定理算出来就是上面这个式子。

还有复数的幅角,这个概念也很好理解,根据我们上面分析的几何意义,任何一个复数其实是实数轴上对应的点(就是长度等于复数模长的那个实数点)旋转一个角度得到的,这个角度就是幅角,当然同一个复数的幅角有很多个,最小的那个叫幅角主值,且幅角有方向,逆时针旋转的角度为正,顺时针旋转的角度为负。

从虚数的几何意义来看,各位有没有觉得复数跟平面向量(二维向量)很像,两个人看起来就跟一个人似的,就算不是同一个人,也应该是一对双胞胎吧,实在是太像了。

那复数和向量这俩到底是不是同一个东西?如果是同一个东西,我们只取其一不就可以了吗?反正用复数可以表示向量,用向量也可以表示复数,两者可以互相表示,干嘛非要让两者同时存在,这难道不会显得多余吗?

下面,我们简单来总结一下二者之间的异同点。

第一:复数与平面二维向量是一一对应的,并且复数加法与向量加法的运算法则也是一致的。

这一点是很显然的,我们上面也已经描述过了。每一个复数  对应一个二维向量  。两个复数的加法运算为:

它们所对应的那两个向量的加法运算是: 二者的运算法则相同,几何意义都是对应了平行四边形法则。

第二:复数与平面二维向量的关键不同点在于乘法运算法则,二维向量的点乘和叉乘运算包含在复数的乘法运算当中。

关于这一点我们要费点笔墨来说明一下。

两个向量的点乘运算就是一个向量的长度乘以另一个向量在此向量的投影,运算的结果是一个数,而不是向量。写成数学公式就是这样:

其中,  是向量  和  之间的夹角。

而两个向量叉乘的结果  是垂直于   和   所决定的平面的一个向量,其长度等于   和   所张的平行四边形的面积。 由于叉乘会得到一个三维空间向量,而我们要讨论的仅仅是平面二维向量,这里我们只用  的模长,并同样记这个模长为  。

现在我们要证明向量的点乘和叉乘运算都包含于复数的乘法运算当中,也就是说,在复数的乘法运算过程中,会出现向量的点乘和叉乘的形式。

我们用一般字体  和  表示两个复数,并写成三角函数的形式:

然后,我们用粗体  和  表示这两个复数所对应的向量。

为了看出向量的点乘和叉乘是怎样与复数乘法相关的。我们首先考虑用复数  的共轭复数  乘以任意一个复数的净效果。

通过上面关于复数乘法运算的描述,我们可以直接得出:  乘以任意一个复数的效果就是把这个复数旋转一个  角度,并放大  倍。现在我们关注下面这张图中斜边为  的有阴影的直角三角形,它被  乘之后就会旋转一个  角度并放大  倍(可以理解为整个直角三角形内的复数都被作了一个旋转和放大的变换,边长放大了  倍),即这个直角三角形被变换成下图中那个大的有阴影的直角三角形。则,根据三角形的相似性,我们立刻可以看出:

当然,我们也可以通过简单的计算得出这个结果:

其中,

所以,两个复数的乘法  的结果中同时包含了向量点乘和向量叉乘,他们分别是  的实部和虚部。从这个结果我们就很容易理解复数乘法和向量点乘和叉乘之间的关系了。

当然,复数与二维向量还有其他不同的地方:

第三:二维向量可以推广到高维欧氏空间,并保持运算法则和性质不变。但是,复数则不然,一旦把它推广到高阶复数的时候,其运算法则(比如:乘法交换律)将不再成立了。比如:你自己向左转90度然后躺下(左转后正躺),跟你自己先躺下然后左转90度(变成左侧躺)最后得到的体位是不一样的。

第四:复数有除法运算,但是向量没有,如果强行的给向量定义类似复数的除法运算,那为什么不用现成的复数除法,而非要画蛇添足地定义一堆复杂的向量运算呢?

第五:复数的乘法本质上是一种旋转变换,但是向量的点乘和叉乘无法单独描述旋转

最后我们来看一个复数的具体例子,这个例子来自乔治伽莫夫《从一到无穷大》这本书,内容是这样的:

从前,有个富于冒险精神的年轻人,他在曾祖父的遗物中发现了一张羊皮,上面指出了一个宝藏的位置,它是这样写着:“乘船至北纬xxx度,西经xxx度,即可找到一座荒岛岛的北岸有一大片草地,草地上有一棵橡树和一棵松树,还有一座绞架,从绞架走到橡树,并记住走了多少步,到了橡树向右拐个直角再走这么多步,在这里打个桩然后回退到绞刑架,朝松树走去,同时记住所走的步数,到了松树向左拐个直角再走这么多步,在这里也打个桩,在两个桩的正当中挖掘,就可以找到宝藏”。

寻找宝藏的指示写得非常清楚,所以这位年轻人就租了条船前往此岛但令他大失所望的是虽然橡树和松树都还在,经过长时间的风吹日晒绞架已糟烂成土,失去了踪影,结局是悲惨的,这位年轻的冒险家陷人了绝望,他在地上乱掘起来,最终还是没能寻得宝藏。如果这位冒险家能多思考一下的话,他就能轻易地获得宝藏,因为宝藏埋藏的地点只依赖于橡树和松树的位置,与绞架的位置无关!

我们用复数来解决此问题:

我们不妨将这座荒岛视作一个复数平面;将两棵树相连,以这条直线作为实数轴,同时在两棵树的连线中点作一条垂直于实数轴的直线,作为虚数轴,如上图所示。以两棵树之间距离的一半为基本单位,那么我们可以说,橡树所在的点是实数轴上的  ,松树所在的点是实数轴上的  。我们不知道绞架的坐标,所以不妨将它设为:

对应上图的  点。现在,我们可以按照前面描述的虚数乘法法则,做一些简单的计算。既然绞架的位置为  ,橡树坐标为  ,那么向量

对应的复数为: 由于  与  垂直,且长度相等,根据复数乘法的几何意义,向量  对应的复数为: 根据复数加法意义,向量  对应的复数为: 向量  即为第一个桩的位置。

同理可得,向量  对应的复数: 向量  即为第二个桩的位置。

由于宝藏位于两根桩子之间,因此上述两个向量  和  对应的复数之和的一半即为宝藏的位置  : 现在我们可以看到,  所代表的未知的绞架坐标在计算中被消掉了,因此无论绞架原来在什么地方,宝藏必然位于虚数轴上点  的位置。所以,要是我们这位爱冒险的年轻人会做这么一点点简单的数学运算,他就不用翻遍整座荒岛,只需要在虚数轴上点  的位置挖一挖,就能找到宝藏,我们根本不需要知道绞架在哪儿。如果你还不相信这一点,不妨找一张纸,在上面标出两棵树的位置,然后任意挑选一个点作为绞架的位置,再根据藏宝图的指示寻找宝藏。最后你会发现,无论绞架的位置如何变换,宝藏一定埋在虚数轴上坐标为  的那个点!

【5 虚数存在的理由】

我已经非常啰嗦地从一元三次方程、邦贝利思维飞跃、虚数发展历程和虚数几何意义等四个方面详细介绍了虚数的历史,这些内容你也许觉得非常简单,因为一元二次方程、三次方程和复数几何意义这些内容我们大部分人中学的时候都接触过,只要具备中学水平就可以看懂。但是接下来我要分享关于虚数存在理由的例子就比较硬核了,涉及到一些高等数学方面的知识,如果你看不懂也没关系,只需了解结论就行了。

学过微积分的同学应该都知道微积分学中有一个非常重要的公式——泰勒公式,这个公式可以说是微积分的巅峰,它是我们研究函数极限和误差估计的最重要工具之一,无论是数学、物理等理论学科,还是工程、计算等应用学科,随处都可见到泰勒公式的身影,可见它的重要性。但是我不打算在这里展开叙述这个公式,大家先接受它就行。

这个泰勒公式是说,如果函数  在  附近有  微商,那么  在  附近有泰勒展开式: 其中,  称为泰勒展开式的余项,它等于 这里  。

当  在  有任意阶微商的时候,可以展开成一个无穷的幂级数,这个级数称为泰勒级数:很多初等函数都可以展开成泰勒级数,比如: 这几个级数都是在整个实数范围内收敛。

但是,并不是所有的泰勒级数都能在整个实数范围内收敛。一般地,一个泰勒级数只在某个以展开点为中心的区间内收敛,这个区间称为收敛区间

比如,我们来看一个非常著名的几何级数(实际上就是我们高中时候玩过的等比数列前  项和的极限,公比  ,首项为1):

这个级数的展开点(或称中心点)是  ,收敛区间是  ,即  。这个收敛区间也可以表示为一个圆,圆心为中心点,半径为收敛区间端点到中心点的距离,我们称这个圆的半径为收敛半径  。

如果赋予  一个具体的数值,这个值在收敛区间内,那么,右边的泰勒级数的收敛值与左边的函数值相等。但是,如果你赋予  的数值超出了收敛区间,比如  ,那么右边的泰勒级数此时将发散到无穷大。然而,左边的函数依然在  处可以取到一个函数值  。所以,只有在收敛区间内,  式的等号才能成立。这就是泰勒级数收敛区间的意义,它保证了泰勒级数在对一个函数进行展开时的合法性

为什么有些函数的泰勒级数的收敛区间是整个实数轴?而有些函数(如几何级数)却只在一个有限区间内才收敛?

原因就是被开展函数本身存在奇点(函数在此点无意义或不可导),比如,为了保证分母不为  ,函数  的定义域不能取  ,这个点就是奇点,函数在奇点无意义。

现在我们从几何级数出发,再考虑函数:

这个函数在  处展开出来的泰勒级数形式和收敛区间很容易求解,只需要参照几何级数的形式,用  替换  代入  式,便可得到该函数的泰勒级数:

显然,能保证这个级数收敛的  需要满足  ,即  。因此,这个级数的收敛半径也是  。

从函数的图像我们也可以看出,由于  在  无定义(即存在两个奇点  和  ),所以函数值在奇点附近发散到正负无穷大,两个奇点把函数  爆破成了三部分。如果我们要用一个泰勒级数来展开  本身,那么由于受到奇点的限制,泰勒级数也会相应地受到限制,使得其收敛区间被夹在两个奇点之间而无法越过奇点

图5.1

也就是说一个函数的泰勒级数的收敛区间与奇点有关系,或者说收敛半径与奇点有关系,具体是什么关系呢?

为了进一步理解这一点,我们以  为展开点(而不是  )把  展开为泰勒级数,即把它们写成  的形状,其中  ,这个  度量了由中心  到  的位移。为了展开  ,我们先在  处展开更一般形式的函数  ,并以几何级数来进行推广,以求解  在展开点  处的泰勒级数。我们先对  进行简单的形式变形: 利用  式, 我们可以把  展开成: 右边这个级数当且仅当  时收敛,如若不是,级数将发散至无穷远处。

为了将  式应用到  的展开式,我们对它作因式分解  ,然后裂项成两项(裂项这个神操作是不是很眼熟,回想我们高中刷过的不等式证明题): 为了保证这样展开出来的级数收敛,中括号里面的两个通项须满足  和  。能够同时满足这两个不等式的  只能是  ,其中:

这个  其实就是中心点  到最近的  的两个奇点之距离(因为函数有两个奇点  ,两个绝对值  、  的意义就是中心点  分别到两个奇点  的距离,这是绝对值运算的几何意义)。看下面这个图就很容易理解收敛半径  的几何直观意义。

图5.2

综上所述,收敛半径与奇点的关系可以总结为:一个函数的泰勒展开级数,其收敛半径是中心点离这个函数最近的一个奇点的距离

事实上,函数有可能不止一个奇点,如果我要保证函数的泰勒级数收敛,那收敛区间就不能跨过奇点,因为在奇点处,函数无定义或不可导(这种情况下函数会趋于无穷大)。

那怎么确保收敛区间不跨过奇点?

我们可以这样直观地理解:你不是有很多个奇点吗,那我就只能取离中心点最近的那个奇点的距离作为收敛半径,这样才能保证收敛区间不跨过奇点。

理解了收敛半径与奇点、中心点之间的关系之后,我们继续看另外一个函数: 这个函数跟  不一样的地方在于,它没有奇点(在实数范围内,因为分母的  可以取任意实数),这是非常关键的一点。

图5.3

没有奇点?那意味着什么?按照我们上面的结论:一个函数的泰勒展开级数,其收敛半径是中心点离这个函数最近的一个奇点的距离。那是不是意味着  这个函数的泰勒展开级数的收敛区间是整个实数轴,无论我们在哪个点对它进行展开。

仔细想想也很显然啊,你泰勒级数的收敛半径不是受制于被展开函数的奇点吗?现在被展开函数没有奇点啊(在实数范围内),那我收敛半径还受个锤子限制啊,我可以放飞啦,直奔美好的无限风光!

但是,很遗憾,无限风光还不能为你开放!你别以为你函数  没有奇点,就可以在整个实数轴上任性地收敛,你的收敛区间仍然是一个有限的区间,你的收敛半径不是无穷大,而是:

这是一个有限的数。证明这个的级数的收敛半径比较复杂,在此不作详细展开,我们只需要知道这个结论就行。

这个结果真是令人大跌眼镜、大失所望!怎么回事?收敛区间为什么与会被限制在一个有限区间内,函数  明明就没有奇点啊!Are you kidding  me

我们把这个收敛半径画出来,这样会看得比较清晰。

图5.4

如果我们把这个圆理解为复平面上的一个圆,那么我们很容易就可以从勾股定理得出这样的结论:收敛圆与虚数轴的交点是  。

有了这个结论之后,现在让我们转而考虑复函数: 其中  是一个复数。这个复函数包含了  和  ,即当我们把  的取值限制在实数轴(取  ,  为实数)时,  的函数值就是  ;而当我们把  的取值限制在虚数轴(取  ,  为实数)时,  的函数值就是  ;

当我们把  的图像画出来时,神秘就开始慢慢解开了。

由于复函数是两个二维复平面之间的映射,要呈现其图像就需要上升到四维空间,这显然是无法实现的。但是,基于我们分析问题的实际需要,我们可以单独就复函数的实部、虚部或者模长进行作图。因为复函数的实部、虚部或者模长是关于复平面两个自变量  的二元函数,这个是我们非常熟悉的三维空间中的曲面,也是可以直观地进行作图的。

图5.5

上图就是复函数  的模长曲面,从图像我们可以直观地看到,如果用经过实轴的垂直平面去切这个模长曲面,那么得到的曲线就是  (图5.3);同样地,如果用经过虚数轴的垂直平面去切这个模长曲面,得到的曲线就是  (图5.1)。这就说明复函数  包含了  和  这两个实函数,正如复数包含了实数作为其子集一样。

我们也可以换一个角度来理解这一点。首先,我们注意到,  是复函数  在实数轴上的限制(即  取实数值时得到  )。另外,我们还有  。根据复数的几何意义,复数  其实就是  逆时针旋转90度得到的。

所以,复函数  实际上是由  逆时针旋转90度得到的;那么,  作为 在实数轴上的限制,它当然也是  逆时针旋转90度之后在实数轴上的限制。也就是把上面的模长曲面图(图5.5)逆时针旋转90度之后,用经过实轴的垂直平面去切这个旋转之后的模长曲面,就会得到  。用文字描述非常苍白(怪我不会作动图),大家自己在脑海里逆时针转动上面这个模长曲面图像,然后想象转动之后的模长曲面与经过并垂直于实轴的那个平面相交的曲线,那条曲线就是  ,如果你继续转90度,那么曲线就又变成  ,每次转动一个90度的时候,两条曲线就会交替位置。

这说明什么问题?说明  和  不过是同一个复函数  的两个侧面的截线而已。正如同一个人的侧面和正面之间的关系,虽然观察角度不同,但都是同一个人。

除此之后,我们还可以看到复函数  这个模长曲面上有两个“火山口”,其实就是两个奇点,模长曲面在这两个奇点发散到无穷大。很明显,这两个奇点就是  。

重点来了,有奇点!有奇点!有奇点!根据我们上面得出来的结论,一个函数的泰勒展开级数,其收敛半径是中心点离这个函数最近的一个奇点的距离。这个结论对于复函数也是成立的。

有了这个新发现,我们再回过头来看看上面那个困扰我们的问题,为什么实函数  的收敛区间会被限制在一个有限区间内,这个函数明明就没有奇点啊!

现在我们终于可以解开这个困惑了:函数  在实数范围内确实没有奇点,但是你的“母体”  是有两个奇点的哦!虽然你只是想单纯地在实数范围内讨论泰勒级数收敛半径的问题,但是,很对不起,你太傻、太天真了!你的收敛半径将不得不受到母体的奇点的限制(尽管你在实数范围内看起来并没有奇点)。因此,你的收敛半径也只能是离最近的那个母体奇点的距离,不可能越过奇点而在整个实数范围内收敛。

你再仔细看看下面这张关于  的收敛半径的图像,它的收敛半径是不是就是刚好等于离母体  奇点(  )的距离。

怎么样?想明白复数是怎么样在背后起作用了吗?想不明白我再简单总结一下:我们原本只是想单纯地在实数范围内讨论实函数的泰勒级数收敛半径,但是却莫名地受到了躲在背后的复函数的奇点的限制,使得实函数的收敛半径被约束在一个有限的范围之内,就好像有一只看不见的手或者一股神秘的力量一直在暗中控制着我们。这只看不见的手就是虚数,它是真实存在的,并且一直在背后制约着实函数的行为和性质。我们只有跳脱出一维实数的视野局限性,上升至二维复数的高度和格局,才能看清实函数问题的本质和真面目。

【6 结语】

经过了三四百年的发展,数学家们已经构建了一套完整的复数理论体系——复变函数(或称复分析),复变函数对于数学的发展起到了巨大的推动作用,其研究方法和研究对象大大地拓展了数学研究的边界,当我们能站在复变函数的高度去思考问题的时候,往往就离真理不远了,数学家雅克阿达玛就曾经说过:“在实数域中,连接两个真理的最短路径是通过复数域”,可见复数之于数学的重要性地位。

大名鼎鼎的史上最重要的数学猜想—黎曼猜想,就是一个关于复变函数的问题。

黎曼(Bernhard Riemann)凭借其深邃的思想、卓越的洞察力和极致的天赋,通过一个特殊的复变函数  函数创造性地建立起了数论中关于素数分布规律研究的桥梁,这个复变函数的零点性质直接决定了素数分布的规律。在天才黎曼的牵线搭桥下,复变函数、数论这个两个完全不相关的数学领域竟然会如此美妙和深刻地联系在一起。但是,这个猜想提出至今已经  年了,仍然屹立在人类智力的高峰岿然不倒。关于这个猜想,我要说的故事就更多了,以后有时间单独另写一篇文章介绍这个猜想,看看史上最伟大的数学家黎曼究竟凭什么毫无争议地坐稳数学届No.1的宝座。(仅代表个人观点,高斯欧拉牛顿粉别喷我太狠哦)

后来数学家们更是发展出了解析数论理论,将复分析的方法应用于数论领域的研究,单从整个数学领域上来说,复数理论就足以成为一个举足轻重的数学分支。但是,你以为复数就仅仅在数学上才能体现出它的价值吗?那未免太naive了!

复数一路发展到现在,其应用价值不断地被大量的理论实践所发现和证明,相对论、量子力学、电磁学、流体力学、波、场论、信号分析、控制论等物理学领域,无不包含了复数的身影。举两个例子,相信很多人都听说过“薛定谔的猫”,这个薛定谔有一个著名的方程叫“薛定谔方程”,它的颜值是这样的: 这个方程是量子力学的基本方程,其地位相当于牛顿第二定律在牛顿力学中的地位,看看这个方程里面都包含了什么?

还有一个例子,对很多理工科学生来说简直就是噩梦般的存在,一听到它的这名字就令人闻风丧胆,而且可以这么说,没有它就没有今天的电子计算机,它就是著名的傅里叶变换,其公式是这样的: 看出来这个公式的端倪了吗?

还有很多数不胜数的关于复数在物理方面的例子,这里就不一一列举了。

为什么复数会有如此巨大的威力?

因为复数的本质是旋转,只要涉及到旋转的任何相关的物理量,必然绕不开复数。而且复数域这种代数结构还完美继承了并包含了实数的运算法则和性质,比如,复数具有一般的加减乘除法运算,而且还满足交换律等等。同时,复数域上的一些基本的对称群还有自然的表示,所以物理学很自然地需要这个代数结构来描述各种物理规律。还有,物理学中经常需要描述波动方程,而复数就是描述波动方程的最佳语言之一。

最后总结并呼应一下本文的题目:

数字其实是二维的,实数只是二维复数在实数轴上的一个投影,或者说是一个子集。当人们从现实世界中抽象出“1、2、3“,以及”1+1=2”这样的数学概念和数学运算的时候,虚数、复数其实已经同时根植于逻辑之上、存在于数学之中,并静静地等待着人们的发现。如果你接受了“1、2、3“、“1+1=2”这样的抽象概念和逻辑是真实存在的,那么虚数、复数也是真实存在的。

参考资料:

[1]Tristan Needham:复分析可视化方法

[2]乔治伽莫夫:《从一到无穷大》

[3]米卡埃尔·洛奈:《万物皆数》

(0)

相关推荐