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,本篇先到这里,如有疑问,欢迎评论区留言讨论,祝各位功力大涨,技术更上一层楼!!!

【数学】【基础】旋转为什么长这样:从复数乘法到旋转矩阵

相关推荐
铸人10 小时前
再论勾股定理成立的条件-28
数学·几何学·复数·物理
HIT_Weston1 天前
5、【数学】【基础】归一化的几何意义:球面、超平面与信息去哪了
数学·基础
email4u3 天前
当 AI 开始解决数学难题
人工智能·数学
Tisfy5 天前
LeetCode 0836.矩形重叠:xy两方向分别看
数学·leetcode·题解·模拟
闻缺陷则喜何志丹5 天前
【计算几何】布尔运算交并补异或
数学·计算几何·布尔运算·奇偶填充·非零填充·正数填充·负数填充
lisw057 天前
数学系学生如何入门计算基因组学?
数学·计算基因组学
闻缺陷则喜何志丹9 天前
【计算几何】闵可夫斯基差演示
数学·计算几何·autocad·闵可夫斯基差
ClouGence10 天前
老师备课到底能不能交给 AI?我拿鸡兔同笼实测了一遍
数学·aigc
Tisfy10 天前
LeetCode 3871.统计范围内的逗号 II:每次算一个逗号
数学·算法·leetcode·题解