7、【数学】【基础】复数是什么:从解方程到旋转
【声明】本博客所有内容均为个人业余时间创作,所述技术案例均来自公开开源项目(如Github,Apache基金会),不涉及任何企业机密或未公开技术,如有侵权请联系删除
标题
7、【数学】【基础】复数是什么:从解方程到旋转
背景
上篇 blog
6、【数学】【基础】RoPE 的数学:旋转、复数与相对位置
里反复出现
e
i
θ
e^{i\theta}
eiθ,并说"乘一个单位复数就是旋转",但复数本身没有交代。本篇把这块补上:复数从哪来、长什么样、为什么它天生就代表旋转。
从解方程说起:数系的扩张
人类扩展数系,几乎每一步都是为了让某种运算有解:
- 自然数做减法会出现不够减 → 引入负数,得到整数;
- 整数做除法会出现除不尽 → 引入分数,得到有理数;
- 有理数取极限、开方会出现无理数 → 补全成实数;
- 实数里 x 2 = − 1 x^2=-1 x2=−1 无解(任何实数的平方都非负)→ 引入虚数单位 i i i,得到复数。

历史上 16 世纪意大利人在解三次方程时,中间步骤冒出了"负数开平方",本以为无意义,结果这些"假数"在计算中相互抵消、最终给出正确的实数解——复数就这样被"逼"了出来。
复数的定义
规定虚数单位
i
i
i 满足
i
2
=
−
1
i^2=-1
i2=−1
所有形如
z
=
a
+
b
i
(
a
,
b
∈
R
)
z=a+bi\qquad(a,b\in\mathbb{R})
z=a+bi(a,b∈R)
的数就叫复数。其中
a
a
a 是实部、
b
b
b 是虚部。当
b
=
0
b=0
b=0 时
z
=
a
z=a
z=a 就是实数,所以复数是实数的一次扩张。
四则运算
加减按分量进行:
(
a
+
b
i
)
±
(
c
+
d
i
)
=
(
a
±
c
)
+
(
b
±
d
)
i
(a+bi)\pm(c+di)=(a\pm c)+(b\pm d)i
(a+bi)±(c+di)=(a±c)+(b±d)i
乘法用分配律展开,再用
i
2
=
−
1
i^2=-1
i2=−1:
(
a
+
b
i
)
(
c
+
d
i
)
=
a
c
+
a
d
i
+
b
c
i
+
b
d
i
2
=
(
a
c
−
b
d
)
+
(
a
d
+
b
c
)
i
(a+bi)(c+di)=ac+ad\,i+bc\,i+bd\,i^2=(ac-bd)+(ad+bc)i
(a+bi)(c+di)=ac+adi+bci+bdi2=(ac−bd)+(ad+bc)i
例如
(
1
+
2
i
)
(
3
+
4
i
)
=
3
+
4
i
+
6
i
+
8
i
2
=
3
+
10
i
−
8
=
−
5
+
10
i
(1+2i)(3+4i)=3+4i+6i+8i^2=3+10i-8=-5+10i
(1+2i)(3+4i)=3+4i+6i+8i2=3+10i−8=−5+10i。除法则借助共轭
z
ˉ
=
a
−
b
i
\bar{z}=a-bi
zˉ=a−bi,把分母变成实数,这里不展开。
复平面:复数就是一个点
把 a + b i a+bi a+bi 对应到平面上的点 ( a , b ) (a,b) (a,b)(横轴实部、纵轴虚部),复数立刻有了几何形象:它既是平面上的一个点,也是从原点出发的一支向量。

两个量随之而来:
- 模:向量长度 ∣ z ∣ = a 2 + b 2 |z|=\sqrt{a^2+b^2} ∣z∣=a2+b2;
- 幅角:向量与实轴的夹角 θ = arg z \theta=\arg z θ=argz。
极坐标与欧拉公式
用模和幅角表示复数:
z
=
r
(
cos
θ
+
i
sin
θ
)
z=r(\cos\theta+i\sin\theta)
z=r(cosθ+isinθ)
配合欧拉公式
e
i
θ
=
cos
θ
+
i
sin
θ
e^{i\theta}=\cos\theta+i\sin\theta
eiθ=cosθ+isinθ
就得到最简洁的写法:
z
=
r
e
i
θ
z=re^{i\theta}
z=reiθ
特例
e
i
π
=
−
1
e^{i\pi}=-1
eiπ=−1 把
e
e
e、
i
i
i、
π
\pi
π、
1
1
1、
0
0
0 串在一起,被称为最漂亮的公式。

乘法的几何意义:缩放 + 旋转
把两个复数都写成极坐标再相乘:
r
1
e
i
θ
1
⋅
r
2
e
i
θ
2
=
r
1
r
2
e
i
(
θ
1
+
θ
2
)
r_1e^{i\theta_1}\cdot r_2e^{i\theta_2}=r_1r_2\,e^{i(\theta_1+\theta_2)}
r1eiθ1⋅r2eiθ2=r1r2ei(θ1+θ2)
模相乘、角相加。也就是说,复数乘法同时完成了两件事:把长度乘以一个倍数、把方向转一个角度。

如果乘的是单位复数 e i θ e^{i\theta} eiθ(模为 1),那就只剩旋转——长度不变、方向转 θ \theta θ。这正是"复数天生代表旋转"的原因。
代数基本定理:为什么复数"够用"
复数还有一个漂亮的封闭性:代数基本定理指出,任何 n n n 次复系数多项式在复数范围内恰好有 n n n 个根。换句话说,在复数里"方程一定有解",不用再为每种新方程临时扩数。复数不是锦上添花,而是让整个代数体系闭合的那块拼图。
回到 RoPE
第 6 篇里,位置 p o s \mathrm{pos} pos 决定旋转角 θ = p o s ⋅ ω i \theta=\mathrm{pos}\cdot\omega_i θ=pos⋅ωi,再给 q、k 乘 e i θ e^{i\theta} eiθ——用的正是"乘单位复数 = 旋转"。两个向量做点积时,角度相减,绝对位置被消掉,只留下相对距离 n − m n-m n−m。理解了复数,RoPE 的数学就只剩"拆对 + 调频率"这两件工程事了。
小结
复数是为"让 x 2 = − 1 x^2=-1 x2=−1 有解"而引入的数,写作 z = a + b i z=a+bi z=a+bi;在复平面上它是一个点/向量,模是长度、幅角是方向;欧拉公式 e i θ = cos θ + i sin θ e^{i\theta}=\cos\theta+i\sin\theta eiθ=cosθ+isinθ 把它写成 r e i θ re^{i\theta} reiθ,于是乘法变成"模相乘、角相加",乘单位复数 e i θ e^{i\theta} eiθ 就是纯旋转。它因解方程而生,因描述旋转而不可或缺——也是 RoPE 位置编码的数学底色。
OK,本篇先到这里,如有疑问,欢迎评论区留言讨论,祝各位功力大涨,技术更上一层楼!!!
【数学】【基础】旋转为什么长这样:从复数乘法到旋转矩阵
所有评论(0)