你小学二年级就背过乘法交换律:3×4=4×3,交换两个数的位置,结果不变。
![]()
这东西太自然了,自然到你甚至觉得它不需要被证明,左手数3排苹果每排4个,右手数4排苹果每排3个,总数当然一样。
你要是在课堂上举手问老师"为什么",老师大概会看你一眼,觉得这孩子是不是睡着了。
但今天我要告诉你,还真有一类"数",乘法不满足交换律。
也就是说,A×B 和 B×A,结果不一样。
你可能会说:扯什么呢?数还能不满足交换律?那还叫数吗?
别急,这事儿得从一个疯疯癫癫的数学家说起。
1843年10月16日,爱尔兰都柏林,布鲁厄姆桥。
![]()
一个中年男人跟妻子散步走到桥上,突然像被雷劈了一样站住了。他盯着桥面发呆,然后掏出一把小刀,在桥的石头护栏上刻下了一个公式:
![]()
i² = j² = k² = ijk = -1
这个人叫哈密顿。
他后来跟朋友写信说,他在桥上顿悟的那一刻,感觉自己找了13年的东西,终于找到了。
13年。
一个人花13年,就为了在桥上刻一个很多人看不懂的公式,这画面多少有点离谱。你想想,你老婆跟你散步,走着走着你突然蹲下来在桥上刻字,她会怎么想?
但更离谱的是,他刻下的这套东西,后来被证明是19世纪最重要的数学突破之一。
今天你手机里的陀螺仪、3D游戏里的角色转头、无人机的姿态控制、机械臂的关节转动,背后跑的都是他当年在桥上刻下的那套东西。
这套东西,叫四元数。
要理解哈密顿为什么激动成这样,我们得先弄明白:他到底在找什么?
答案很简单:他想给三维空间找一个"乘法"。
听起来有点怪。三维空间跟乘法有什么关系?
关系大了。
这得从复数说起。
你高中应该见过复数:Z = a + bi,a是实部,b是虚部,i是那个"虚数单位",i² = -1。
![]()
当时老师跟你说i² = -1的时候,你是不是心里咯噔了一下?
一个数的平方怎么会是负数?正数平方是正的,负数平方也是正的,0的平方是0,哪来的数平方等于-1?
说实话,当年的数学家也这么想。
但没办法,16世纪的时候,一帮数学家凑在一起比赛解三次方程,解着解着就遇到了麻烦:中间过程里会出现"负数开平方"这种东西。
![]()
按当时的规矩,这玩意应该叫"无解"。
但奇怪的是,你把这玩意硬着头皮算下去,最后居然能得到正确的实数解。
就好像你走迷宫,非得穿过一堵"不存在的墙"才能出去。
于是他们干脆认了:好吧,就当有这么个东西,i² = -1,先算着再说。
![]()
一开始大家都觉得这就是个数学技巧,没什么实际意义。但后来有人发现,这玩意太好用了。
好用在哪?
它能表示平面上的旋转。
你想象一下,复平面上有个点 z = 3 + 4i,它离原点的距离是5,跟x轴的夹角是53度左右。
![]()
现在你想让这个点绕原点逆时针转45度,怎么办?
老办法:用三角函数算坐标,算半天。
复数办法:直接乘一个数,cos45° + i·sin45°。
乘完之后,模长还是5(长度没变),角度变成了原来的角度加45度。
![]()
旋转完成。
就这么简单。
一次乘法,搞定一次旋转。
哈密顿看到这个的时候眼睛都亮了。
他想:复数在二维平面上这么好用,那三维空间是不是也能搞一套类似的?
这个念头,折磨了他13年。
哈密顿一开始的思路特别直接:二维用两个分量(a + bi),三维我就用三个分量呗?
a + bi + cj。
两个虚数单位i和j,照着复数的规矩来,i² = -1,j² = -1,完美。
但他很快发现,怎么算都不对。
乘法一展开,就会冒出来一堆莫名其妙的交叉项:i乘j等于什么?j乘i等于什么?
他一开始理所当然地认为,ij = ji,跟普通乘法一样。
但不管他怎么定义ij,最后算出来的结果总是哪里不对劲,要么模长对不上,要么旋转不成立,总之就是用不了。
他试了各种办法,折腾了一年又一年。他儿子每天早上都问他:"爸爸,三维乘法你会算了吗?"他只能苦笑:"还不会。"
13年。
直到1843年那个散步的下午,他脑子里突然闪过一个念头:
为什么非得是三个分量?为什么乘法一定要交换?
他放弃了两个执念。
第一,分量加到四个:a + bi + cj + dk,多了第三个虚数单位k。
第二,乘法不满足交换律。ij ≠ ji,而是 ij = k,反过来 ji = -k。
就这一下,全通了。
这就是他在桥上刻下的那串东西:i² = j² = k² = ijk = -1。
你可能会问:凭什么?凭什么乘法就不能交换?数不都该满足交换律吗?
这就是四元数最反直觉的地方。
但你换个角度想,其实也合理。
你拿一本书,先绕x轴转90度,再绕y轴转90度。记住最后书的朝向。
现在把书摆回原样,先绕y轴转90度,再绕x轴转90度。
结果一样吗?
![]()
完全不一样。
三维空间里,旋转的顺序是有影响的。
先转这个再转那个,跟先转那个再转这个,结果不同。
既然旋转本身就不满足交换律,那描述旋转的"乘法"凭什么要交换?
哈密顿只是承认了现实而已。
说到这儿,你可能会觉得:这不又是一次数系扩展吗?跟以前一样,不够用了就加新东西。
还真不一样。
你回头看看数系是怎么一路扩展过来的:
自然数1、2、3、4……算着算着,5减8没法算了,怎么办?加负数,变成整数。
整数算除法,7除以5除不尽,怎么办?加分数,变成有理数。
有理数开方,边长为1的正方形对角线是√2,这玩意不是分数,怎么办?加无理数,变成实数。
实数开方,负数开平方没东西了,怎么办?加虚数i,变成复数。
![]()
看到规律了吗?
以前的数系扩展,都是因为"某种运算不封闭了"。
就是你在这个圈子里算来算去,结果跑出圈子外了,那就把圈子扩大一点,把外面的东西也纳进来。
说白了,都是被运算"逼"出来的。
而且复数这一步,其实已经是终点了。
代数基本定理告诉我们:在复数范围内,任何n次多项式方程都有n个根。意思是你在复数这个圈子里,加减乘除开方解方程,怎么玩都不会再"溢出"了。
从纯代数的角度讲,复数就是大结局。
那四元数又是怎么回事?
它不是被运算逼出来的。复数已经够封闭了,不需要再加新东西。
四元数是被"几何"逼出来的。
哈密顿要解决的不是"算不出来"的问题,而是"三维旋转写起来太麻烦"的问题。
他想要一套像复数乘法那样简洁的工具,来描述三维空间的转动。
所以四元数从出生那天起,就不是为了"算术封闭",而是为了"几何表达"。
![]()
这是数系扩展史上一个很关键的转向。
以前的数是为了算,四元数是为了转。
![]()
四元数搞出来之后,有人顺着这个思路往下想:既然二维是复数(2个分量),三维是四元数(4个分量),那能不能再翻倍?
能。
1845年,也就是哈密顿桥上刻字后两年,他的朋友格拉斯曼和另一位数学家凯莱,各自独立搞出了八元数。
![]()
8个分量:a + bi + cj + dk + el + fm + gn + ho。
分量翻倍了,表达能力更强了。但代价是什么?
代价是:连乘法结合律都没了。
什么叫结合律?就是(ab)c = a(bc)。先算ab再乘c,跟先算bc再乘a,结果应该一样。
我们平时用的数,从小学到复数,全都满足结合律。你算(2×3)×4,跟2×(3×4),结果都是24,天经地义。
但八元数不满足这个。(ab)c 跟 a(bc) 可以是两码事。
你能想象吗?(2×3)×4 ≠ 2×(3×4)。
这已经不是"有点反直觉"了,这是"反人类"。
那为什么还要搞出八元数?
答案很简单:数学家闲的。
真的就是纯粹出于好奇。四元数能玩,八元数为什么不能玩?代数上能不能自洽?自洽了就先放着,管它有没有用。
然后呢?
然后等了一百多年,到了20世纪末,弦论和M理论的物理学家突然发现:八元数在描述更高维的时空结构时,居然冒出来了。
![]()
你说讽刺不讽刺?一个当年纯粹为了"玩"搞出来的东西,居然在最前沿的物理理论里派上了用场。
数学家大概自己都没想到。
那十六元数呢?
继续翻倍,16个分量。理论上能定义出来,但它连更多的代数性质都丢了,目前没看到任何实际应用。
就是个纯代数玩具。
到这儿你可能看出来了:从复数到四元数到八元数到十六元数,这是一条"不断翻倍、不断丢掉运算律"的路。
复数:交换律、结合律都在。
四元数:交换律没了,结合律还在。
八元数:交换律、结合律都没了。
十六元数:更惨。
每往高维走一步,就要付出一些代数性质的代价。换来的是对更高维空间的描述能力。
除了这条"高维旋转"的线,数学里还有别的离谱数。
比如超实数。
你学微积分的时候,老师肯定说过:无穷小不是数,它是一个趋势,一个过程。就是你那个东西无限趋近于0,但永远不等于0。
老师这么说,是因为在普通实数系统里,确实装不下"无穷小"这个东西。你说有个数比所有正数都小,但又不是0,那它到底是多少?在实数轴上你把它放哪儿?
1960年,数学家鲁宾逊说:为什么装不下?我给它造一个更大的数系不就行了?
于是他搞出了超实数。
![]()
这个系统里,普通实数还在,但额外加了两种东西:无穷大(比所有实数都大),和无穷小(比所有正实数都小但不是0)。
在超实数的世界里,无穷小不再是"趋势",而是一个货真价实的数。
这玩意有什么用?据说能让某些微积分的证明变得更直观,在量子场论和连续时间金融模型里也有人用。但说实话,普通人一辈子也碰不到。
再比如超限数。
你知道自然数有无穷多个,实数也有无穷多个。
但这两个"无穷大",一样大吗?
康托尔说:不一样大。
自然数的无穷是"可数无穷",你能1、2、3、4……一直数下去。但实数比自然数多得多,你根本数不过来。实数的无穷是"不可数无穷",比自然数的无穷高一个级别。
![]()
那有没有比实数还大的无穷?
有,而且有无数个层级。
这些不同层级的无穷,本身也能当"数"来看待,这就是超限数。
这东西彻底改变了人类对"无穷"的认知。
但目前主要在集合论、逻辑学这些纯数学领域里用,跟日常生活基本没关系。
讲了这么多,我们回到那个在桥上刻字的人。
哈密顿当年搞四元数的时候,其实他自己也没想到这玩意后来能干什么。
他就是觉得,复数在二维上这么漂亮,三维空间总得有个对应的东西吧?
他花了13年,不是为了解决什么工程问题,也不是为了拿什么奖。就是觉得"应该有",然后死磕。
结果呢?
结果是,今天每一部智能手机的传感器融合、每一架无人机的姿态解算、每一个3D游戏里你转的那个视角,用的都是他那套东西。
为什么不用更"直接"的方法?比如用三个欧拉角直接描述?
因为欧拉角有个著名的毛病叫"万向锁",就是你转到某个角度的时候,两个轴会重合,瞬间丢一个自由度,物体不知道该往哪转。
四元数没这个问题。它用四个数描述旋转,没有奇点,计算还快。
所以你看,一个数学家在桥上刻下的公式,180年后在你手里的手机上跑着。
这事儿挺奇妙的。
所以数到底是什么?
讲了这么多稀奇古怪的数,你可能会问:到底什么才算"数"?
自然数是数,负数是数,分数是数,无理数是数,虚数是数,四元数是数,八元数是数,超实数是数,超限数也是数。
它们有的为了算减法,有的为了算除法,有的为了开方,有的为了旋转,有的为了描述无穷。
标准越来越模糊。
但你要是把数系想象成一棵树,大概是这样的:
主干是为了运算封闭:自然数→整数→有理数→实数→复数。这条主干,解决的是"算着算着跑出去了怎么办"的问题。
然后从复数那里分出一根枝:四元数→八元数→十六元数,这根枝是为了描述高维空间的旋转。
从实数那里又分出一根枝:超实数,这根枝是为了把无穷小变成真正的数。
从有限数那里分出一根枝:超限数,这根枝是为了给无穷分层级。
还有别的小枝:p进数、有限域、克里福德代数……每一根都有自己要解决的问题。
你发现没有?人类搞出这么多"数",一开始都不是为了实用。
负数刚出来的时候,有人觉得"负的粮食是什么鬼"。
无理数刚出来的时候,毕达哥拉斯学派的人把发现√2的人扔到海里了。
![]()
虚数刚出来的时候,大家都觉得是数学家的自嗨。
四元数刚出来的时候,很多人觉得这玩意除了哈密顿自己没人用。
但后来呢?
负数用来记账,无理数用来量地,虚数用来搞信号处理,四元数用来写游戏引擎。
谁能想到呢?
我知道你看到这儿可能有点晕。什么交换律没了、结合律没了、无穷还分层级……这些东西离你的日常生活太远了。
但我想让你记住一件事:
我们平时觉得"天经地义"的东西:3×4=4×3,0.5是数,无穷不是数,数只有一维的,这些"天经地义",其实都是人类在某个历史阶段,根据当时的需要,慢慢攒出来的规矩。
规矩不是不能改。
当数学家发现三维旋转的顺序真的会影响结果时,他们就敢把"乘法一定交换"这条规矩撤掉。
当物理学家需要描述更高维的空间时,八元数就从数学抽屉里被翻了出来。
这种"敢把天经地义的东西拿出来重新审视"的劲儿,可能比四元数本身更有意思。
哈密顿在布鲁厄姆桥上刻字的时候,大概不会想到,180年后有个普通人一边刷手机一边想:这手机怎么这么丝滑?
他不知道。他只是觉得,三维空间总得有个乘法吧?
然后就刻了。
特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.