撰文 | 阮一峰
有人在 Stack Exchange 上提出了一个问题:
“我一直认为虚数很难理解。
我的中学老师说虚数是-1的平方根。
但是什么数的平方等于 -1?计算器显示错误!
直到今天,我还是不明白。谁能解释一下虚数是什么?
这是为了什么?”
帖子下面,很多人都给出了自己的解释,并推荐了一篇很棒的文章《虚数图解》,看完之后,我恍然大悟,原来虚数这么简单,一点也不奇怪,也不难懂!
接下来我会用我自己的话来阐述一下我对虚数的理解。
一
什么是虚数?
首先,想象有一条数轴,上面有两个相反的点:+1 和 -1。
这个数轴的正数部分可以绕原点旋转,显然如果逆时针旋转180度,+1就会变成-1。
这相当于两次逆时针旋转90度。
因此,我们可以得到如下关系:
(+1)*(逆时针旋转 90 度)*(逆时针旋转 90 度)=(-1)
如果我们消除 +1,公式将变成:
(逆时针旋转 90 度)^2 = (-1)
令“逆时针旋转90度”为i:
i^2 = (-1)
这个公式看起来很熟悉,这是虚数的定义公式。
因此我们可以知道虚数i是逆时针旋转90度,i不是一个数,而是一个旋转量。
二
复数的定义
由于i表示旋转量,所以我们可以用i来表示任意实数的旋转状态。
如果把实轴看作横轴,虚轴看作纵轴,就构成了一个二维平面,任何一个正实数旋转到一定的角度,一定唯一地对应到这个平面上的一个点。
只要确定了横纵坐标,比如(1,i),就能确定一个实数的旋转量(45度)。
数学家们用一种特殊的方式来表示这种二维坐标:用“+”号把横坐标和纵坐标连接起来。例如,(1,i)表示为1+i。这种表示方式被称为复数,其中1称为实部,i称为虚部。
为什么我们需要这样表达二维坐标?下一节将告诉你为什么。
三
虚数的作用:加法
虚数的引入大大方便了涉及旋转的计算。
比如物理学中需要计算“力的合成”,假设一个力是3+i,另一个力是1+3i,那么它们的合成力是多少?
根据“平行四边形定律”,你立即得到合力是(3 + i)+(1 + 3i)=(4 + 4i)。
这就是虚数加法的物理意义。
四
虚数的作用:乘法
如果涉及到旋转角度的变化,则处理起来更方便。
例如,船的航向是 3 + 4i。
如果船的航向逆时针增加 45 度,那么新的航向是多少?
45 度的航向是 1 + i。要计算新的航向,只需将两个航向 3 + 4i 和 1 + i 相乘(原因将在下一节中解释):
(3 + 4i)*(1 + i)=(-1 + 7i)
因此,船的新航向是-1 + 7i。
如果航向逆时针增加 90 度,则更简单。由于 90 度航向为 i,因此新航向等于:
(3 + 4i)*i = (-4 + 3i)
这就是虚数乘法的物理意义:改变旋转的角度。
五
虚数乘法的数学证明
为什么要改变复数的旋转角度,我们只需要做乘法?
这是这个现象的数学证明,其实非常简单。
任何复数a+bi都可以重写成旋转半径r与横轴之间的角度θ的形式。
假设有两个复数 a + bi 和 c + di,可以重写如下:
a + bi = r1 * ( cosα + isinα )
c + di = r2 * ( cosβ + isinβ )
将这两个复数相乘,(a + bi)(c + di)相当于
r1 * r2 * ( cosα + isinα ) * ( cosβ + isinβ )
展开以下乘法公式可得
cosα * cosβ - sinα * sinβ + i(cosα * sinβ + sinα * cosβ)
根据三角公式,上述公式等于
cos(α+β) + isin(α+β)
所以,
(a + bi)(c + di)= r1 * r2 *(cos(α+β)+ isin(α+β))
由此证明了两个复数的乘积等于旋转半径的乘积和旋转角度的加法。
2019年数据库及数据库连接池领域新书推荐:
欢迎加入我的知识星球一起讨论架构、交流源码,加入请长按下方二维码:
知识星球是为公众号匠人生活忠实读者打造的私密进阶学习圈,会有很多超越公众号技术深度的原创建筑实战经验,也有私密微信群分享行业深度洞察,交流心得,积累优质内容。
你点的每个“在看”,我都认真当成了喜欢