.. Kenneth Lee 版权所有 2018-2020
:Authors: Kenneth Lee :Version: 1.0
从虚数谈起
晚上开车和女儿一起回家,路上她突然问:“爸,开方里面可以是负数吗?”
(插注:本文说的开方是指算术方根,为强调核心逻辑,我们保持这种粗糙的定义)
“那要看开几次方了”
“噢,我说错了,开平方的时候可以是负数吗?”
“在实数的范围内不可以”
“除了实数难道还有别的数?”
“有啊,比如虚数”
“什么是虚数呢?”
“……”
在开车的时候实在很难讨论这个问题,所以我回家写了这个文本来借题发挥一下,继续讨 论一下数学的“逻辑思维”。
人类发现数的过程,远没有我们今天看到的这么直接。人类从猴子变成人,第一次感受到“ 数”这个概念,可能是通过一次次的收集果子:一个果子,两个果子,三个果子……然后还发 现,两个果子加三个果子,和三个果子加两个果子,这是一样的。然后再发现,收集石头 ,好像也是这样的哦,两块石头加三块石头,和三块石头加两块石头,居然也是一样的…… 尼玛的,你说怎么就这么巧呢?
后来,他们就发现一个技巧了,抓了多少只野鸡,养在山洞了,每次抓到一只,就放块石 头,后面吃一只,就拿掉一块,这样居然可以知道自己有多少只鸡!
天呐,伟大的发现!这一定是伟大的数之神妈咪妈咪哄给我们送来的的礼物,这太牛逼了 !
今天,你们已经知道了,这个伟大的发现,就是“自然数”,你说它是什么“定义”?我们不 知道,反正它就叫“自然数”,我们都看得见,我们都知道它是什么,但你要我给你一个“定 义”,给“定义”就是用另一个定义去解释它,我也没有别的“定义”可以解释它啊。
其实那个时候的人,可能都没有意识到这个定义到底意味着什么。因为,他们可能意识不 到,“自然数”是个无穷集合,里面有“无数个”数。什么叫“无数”个呢?就是“用不完”,那 什么叫“用不完”呢?那就是“用完现在这个,还有下一个”。他们能理解的是现在,至于一 直用下去,“尽头”是什么,他们是没有细想过的,“无数”是一个遥远的梦,它的存在,只 是说明我现在的还是清醒的而已。至于梦是什么,和我没有关系。
无法突破自然数,你无法想象这个世界是什么样的。
我们人,能认识的直观极限也就是自然数了,所以后来发明的所谓“数”,都是自然数的扩 展。而且那个时候的人,也用不上“自然数”这个概念,因为他们知道的“数”,也就只有“自 然数”了,他们口中说的“数”,就已经仅仅指我们现在眼中的“自然数”而已。
我们这些祖先,首先要突破的是0。
0是个数吗?
最早发现数的这群人,很快就尝到了“自然数”的甜头,掌握了“自然数”的各种技巧,部落 里分东西,别人都分不好的,掌握“自然数之道”的巫师们就能分得很好,他们掌控了自然 数的话语权,严禁其他的异端邪说引入到这个神圣的学说身上,玷污了神的礼物。
所以,0,这是啥玩意儿?能吃吗?分其他人每人一只鸡,分给你0只好不好?0也叫数字? 滚犊子!
0是不存在的!
据我看过的一些书上说,人类不少地方花了两千年,才接受了0这个概念,那2000年间,烧 死多少布鲁诺这种哪壶不开提哪壶的,你就可以想象了。
但0好用啊。你看看你用罗马数字计数:I, II, III, IV, V, VI, VII, VIII, IX, X, XI, XII, XIII, XIV, XV...
搞到后面脑子都要晕掉了,还无穷呢,没到100就断气了。
但如果你接受0是个数字,这多简单:
1, 2, 3, 4,5, 6, 7,8, 9,10
11, 12, 13,14,15,16,17,18,19,20
21,22……
这是个重复的过程,脑子里只要有1,2,3,4,5,6,7,8,9的概念就够了,那个有“手 指”帮我们作“直观”的感受。其他的东西,就交给0,想问题就简单多了。
这就是我们人类思维的特点,一切思考,不过是原始方法的“类比”,我们是通过“类比”( Pattern),比出这个概念来的。
所以,在很多“数教”影响不到的地方,比如印度,人们图方便,就开始用起0来了,数这个 大家庭终于迎接了这位能支持我们把原来的技巧用到更多数字去的伙伴,从此,人类向“无 穷”这个梦,走出了一大步,明白了现在才是个梦,无穷的那个地方,可能才是我们梦醒的 地方。
现在我们考虑一下“自然数的技巧”,到底包括哪些东西。这个东西其实已经有人分析过了 ,我还是直接给结论:
自然数的技巧包括:加,减,乘,除,加法和乘法的交换律,加法和乘法的结合率,以及 其他一些例如逆运算这样的“直观感受”。
我们有限的脑子,能接受的也就这么一点点东西,但当他们被抽象出来,他们可以解决我 们很多问题,比如我们从“行”,“列”,“总数”中体会到了乘法的概念,但当我们掌握了乘 法的交换率和结合率,我们就完全不用考虑哪个是行,哪个是列。我们不用再考虑3个猪头 一盒子,还是每盒子有三个猪头有什么不一样了,反正猪头的总数等于盒子数乘以每盒的 猪头数,正着乘也行,反着乘也行,他们都是一样的——我们掌握了猪头盒子问题的“本质” !
一旦我们能开始从这个“本质”考虑问题,我们很快就从这个“本质”上发现了负数了,因为 不考虑猪头怎么分,就考虑数字,你马上就会有个问题:2-5等于几?
2-5等于几有意义吗?2个猪头,拿走了5个,这句话怎么理解?你拿得走5个吗?
切,管它有没有意义,我们数学神教是和神对话的,你们俗人的这些“意义”,能和神相比 ?
为了理解神,我们就先认为它有有意义,那就需要一个记号,所以,经过一段时间,人们 就发现,如果我们把2-5当成了5-2然后我们给这个结果前面加上一个减号(其实就是写成 0-x),我们原来在自然数和0上的技巧,统统成立!
而且,他们很快就发现,这个概念是很有用的,今年GDP增长了多少?什么,没增长?下降 了?说出去太难听了,人们听到了会抓狂的,我们说今年的GDP是负增长就好了!多好,负 增长也是增长嘛:)
我也没有欠你的钱,真实的情况是,是你欠我的钱,整整负50万呢!我没有说错吧。
这样,数的家族终于扩展到“整数”这个范围了。
你看,这个发展的过程中,我们脑子里其实还是仅仅有个1到9的概念,我们是靠了加减乘 除,交换率,结合率以及逆计算这些概念来扩大我们的“数”的范围的。
既然“减法”可以扩展负数的概念,那么“除法”呢?
除法扩展了“分数”的概念。
中国古时候有个说法:一尺之棰,日取其半,万世不竭。
你看,这是一种朴素的“重复”的,“Pattern式”的思维,在这种思维中,“无穷”依然是一个 遥远的梦,我们以为它是可以一直分下去的,分下去是什么,我们不管,我们看到的是眼 前。
但其实,“无穷”并不遥远。关于这个“日取其半”的故事,我们还有一个版本,这个版本的“ 无穷”,就离我们很近了。
在这个故事里,龟兔毫无选择地,他们又开始赛跑了。不过这一次,乌龟的起点领先兔子5 米。兔子看着不远处的乌龟,嘴角露出“微微的冷笑”,跃跃欲试,准备起跑枪一响,两秒 就超越乌龟。
乌龟回过头,煞有介事地跟兔子说:“兔子,你别得意,你根本不可能超过我的”
“我怎么就超不过你了?”
“你想想,我们离了5米,等你跑完这个5米,我已经向前跑了x1米了,等你再跑完这个x1米 ,我又跑了x2米了,等你跑完这个x2米,我又跑了x3米了……古人云,一尺之棰,日取其半, 万世不竭……你又怎么可以追上我?”
“……”
“震惊不震惊,害怕不害怕?”
“……”
“老祖宗几千年的智慧,几千年!你小小一只兔子,如何抗拒?”
“……”
“砰”,发令枪一响,兔子瞬间超过乌龟,一直跑到一颗大树下,叼着草根望着天,然后陷 入了深深的沉思:“是哪个傻逼把我和这个智障拉到一起的?”,在这个哲学的思考中,他 进入了梦乡。
一个小时后,乌龟终于爬到了终点,取得了冠军。从此,世界上就流传起这龟兔赛跑的传 说了。
你看,无穷并不遥远。“无穷”是可以超越的,
这个无穷有关的东西,我们先开个脑洞,它的含义我们以后再理解。我们先看看分数后面 是什么。分数的理解,其实并没有离开自然数(或者说,我们扩大一点,我们说整数), 把一个自然数X,分成Y分(Y也是自然数),我们就得到一个分数。如果用一条线来表示, 分数是两个整数之间一直细分出来的点:
.. figure:: _static/数轴上的分数.png
那么,很自然地,我们就会考虑到,分数和整数(现在我们已经知道了,这已经被我们统 一称为“有理数”),表示了这条线上的点的全部吗?
有没有点,在这条线上,但它不是“有理数”呢?
其实是有的,因为很快木匠们就发现了勾股定理了:
.. figure:: _static/勾股定理.png
你看,把两根木头垂直放在一起,卡结实了,然后在两头拉一根弦,这根弦的长度等于勾 和股的平方和的开方。
这个没有脱出整个“整数”定义的范围,但就好像我们用自然数的减法发现负数,除法发现 分数一样,我们现在居然发现了一种“数”,它既不是整数,也不是分数。比如2的开方。
2的开方一定不是分数,这是可以用简单的数学知识证明的,我们最好快速看看:
假设2的开方是分数,那么2的开方就可以写成a/b(为了输入的方便,我用/表示除法了) ,如果我们进行约分,那么a和b肯定不会是两个偶数(都是偶数就可以继续约分了),根 据开平方的定义,(a/b)的平方是2, 两边都乘以b的平方,我们就得到:a×a=b×b×2,这说 明a是偶数。
既然a是偶数,我们可以把a写成2×c,那么我们有:2×c×2×c=b×b×2,两边约去2,我们有: c×2×c=b×b,这说明b也是偶数。
这和我们一开始的定义矛盾,所以,2的开方必然不是分数,不能靠两个数相除得到。
所以,我们给了它一个新的名字,这叫“无理数”。
好了,从无理数开始,我们就开始看不见这些数的实际含义了,到底什么是无理数?这个 没法想象,我们只是知道,在看起来无限可分的数轴上,在看着密密麻麻的整数和分数中 间,还有一些数,它不是有理数,它是什么呢?暂时不知道。
不知道你可以怎么用呢?有人就想了个主意,说要不这样:我们还是把它和开始的自然数 的定义关联在一起,我们能不能说“无理数是代数方程的解中,不是有理数的那些值”?
而所谓代数方程,就是你用自然数加上有穷,无穷的四则运算,加上一个未知数,列出一 个方程,这个方程的解,如果不是个有理数,我们就认为它是个无理数。
比如这样的,都算代数方程:
.. figure:: _static/代数方程.png
只要你用自然数和0,经过有限次四则运算,捣鼓出一条等式,只要有x可以满足这个等式 ,我们就认它是代数数。
前面我们已经证明了,勾股定理中,勾和股都是1的时候,根据勾股定理解出来的弦的结果 (根号2),是一个无理数。
这就是数学思维了,当我们说一个“感觉”出来的概念的时候,我们能不能把它变成一个可 以用已有概念定义的概念?
也许连续可以这样理解:如果我们认为一个集合(一组数)是连续的,那么我们能不能在 这个集合的定义之外,找到一个值,它不在这个集合中,但仍符合我们原来定义的特征( 是一个长度)?
实际上,这样的值是存在的,这个问题又得问我们的木匠了,中国古时候说:“无规矩不成 方圆”。矩我们前面已经看到了,是用来制造直角的。规是用来干什么的?它是用来制造圆 的。好像这幅伏羲女娲图这样,两个神仙一个拿着规一个拿着矩,就牛逼得不要不要的了 :
.. figure:: _static/伏羲女娲图.jpg
我们用这个图里面的那个圆做例子,我们把半径设置为一个自然数,就可以画出一个圆, 我们用了各种办法计算这个圆这条线的长度(比如中国古代用的就是这幅图里面表达的“割 圆术”,当然我不知道割圆术的最终成熟时间是不是这个图的那个朝代),我们得到一个数 ,这个数,居然不能用我们前面解代数方程的方式得到(这也可以证明,但这已经涉及到 大学数论的知识了,我们这里就不深入进去了)
于是,我们这个密密麻麻的数轴上,又多出了一些奇奇怪怪的数,这时,我们前面说的代 数方程的解就不好意思占据有无理数的空间了,我们只能叫那些数字是“代数数”,而数轴 上剩下的地方,我们还是不知道它是什么,我们把那部分叫做“超越数”。现在我们的数轴 可以认为是连续的了,只不过我们还知道,我们“不知道”部分数从自然数的角度看,它到 底是什么?但它们确实是从自然数发展出来的,比如因为矩而得到的代数无理数,或者因 为规而得到的超越无理数。
这个连续的数轴,我们就统称“实数”,因为“实数”的定义是来自我们认为它是连续的,但 我们又不知道填充这个“连续”的东西是什么,所以,很多时候,我们把实数,叫做“连续统 ”。
好了,暂时我们有一个密密麻麻的连续统了,但我们的四则运算还是有空间可以挖呀,比 如3/0是多少?这个能不能认为是一个数?又比如,一开始我们谈到的问题,负数的开方能 不能参与计算?
那我们又回到前面的方法了,我们不知道这是什么东西,但我们可以给它一个符号,让它 用四则运算的规则来进行运算,行不行?
那么很自然的,我们就引入了独立的-1的开方这个概念了:
.. figure:: _static/负一开方.png
你看,根号-2可以写成根号-1乘以根号2这种形式,如果简化一下,把根号-1写成i,我们 就得到一个新的数,这个数可以直接参与我们前面说的所有四则运算,什么交换率,结合 率,它都是成立的。这也可以证明。
.. figure:: _static/ipython虚数计算.jpg
ipython sympy中对根号-1的输出,就是一个I
这样,我们在连续统之外,又多了一种数,我们叫它虚数。实数和虚数合起来,就称为“复 数”。
复数有什么用呢?就像前面的所有的例子一样,我们可能一开始根本就不知道它有什么用 ,我们就是开脑洞,让我们想问题更简单而已,但很快,我们就发现,复数是有用的。
如果我们认为一条线(上的点)是实数,那么复数就是一个面(上的点):
.. figure:: _static/虚数坐标.png
一个复数,就是这个面上的一个位置。它包括横坐标和纵坐标两个分量。(正如讨论中不 少人提到的那样,虚数在正交坐标平面上有不少可以深入进去的性质,可以用来“拟合”让 它的虚坐标可以被抵消成实坐标上的0,但这个东西和本文的讨论关系不大,我就不深入进 去了)
这个概念其实还可以向更多的方向去扩展,比如,既然一个面可以用一个数字来表示,那 么一个三维空间呢?四维空间呢?五维空间呢?
这个多维空间有没有意义?谁知道呢?我们一直说的,你先玩脑洞,然后你才会看到你原 来看不到的东西啊。
而且,脑洞不是你想象的那么直接的,刚才你可能可以用横坐标,纵坐标来想象一个二维 复数空间,但实际上,你还可以这样来想象的:
.. figure:: _static/虚数圆坐标.jpg
角度加上一个长度,同样可以构成一个二维的平面。
它也可以是复数的实际用法。
只有你明白这些了,你才能理解那些科普书上写的什么相对论啦,量子纠缠啦这些概念, 因为它不是你想象出来的,它是一种数学推演,只具有一层层叠上去的数据概念,并不是 你现实想象的那个样子,你以为你把现实想象成无穷,你的梦就会醒,实际上还是在梦中 ,就好像前面说的那只乌龟一样。
你看着光直射过来,你觉得它可以想象为一种颗粒,等你看到光从两个缝隙中通过,形成 一个波纹,你又觉得它是一种波。但这些都是你的想象,在无穷的尽头,并不是你眼前东 西的重复。光就是可以既是一种波,又是一种微粒,它就是可以一时检测是这样的,一时 检测是那样的,但这些都是现实,这个世界,不是你说没有0,就会没有0的。
这就是我们学数学,练习数学,最终可以产生的对这个世界的“真实”的一个高级认识。