news 2026/5/23 17:40:40

流形、维度与旋转群

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
流形、维度与旋转群

流形、维度与旋转群

1. 核心概念:什么是流形与“压缩”?

流形的定义

在数学和算法中,流形 (Manifold) 是用来描述那些在全局上弯曲(非线性),但在局部看起来是平坦欧几里得空间的几何对象。

  • 例子:地球表面是一个 2 维流形 (S2S^2S2)。虽然它是圆的,但你在地面上走动时,局部感觉它是平坦的(可以用 2D 坐标描述)。

“压缩”即“约束”

“高维压缩到低维”,在数学上准确的表达是嵌入 (Embedding) 与约束 (Constraint)。流形通常由一个高维空间加上若干约束条件构成:

  • 空间:变量原本所在的“容器”(如nnn维向量空间)。
  • 约束:限制变量必须满足的方程(如模长为 1,行列式为 1 等)。
  • 结果:约束“吃掉”了自由度,剩下的就是流形的维度。

2. 最大误区:SnS^nSnSO(n)SO(n)SO(n)nnn含义不同

这是最容易混淆的地方,因为在n=2n=2n=2的时候,这两个概念凑巧“撞”在了一起。但实际上,它们的定义逻辑完全不同:

  • SnS^nSn(球面) 的nnn:指的是流形自身的维度(即自由度)。

    • S1S^1S1(圆):嵌入在R2\mathbb{R}^2R2中,但只需要 1 个参数(角度)就能定位,所以是1 维流形
    • S2S^2S2(球):嵌入在R3\mathbb{R}^3R3中,但只需要 2 个参数(经纬度)就能定位,所以是2 维流形
    • 结论:SnS^nSn的下标直接对应自由度。
  • SO(n)SO(n)SO(n)(特殊正交群) 的nnn:指的是它所作用的空间维度(或者是矩阵的阶数),并不是它的自由度。

    • 它描述的是对一个nnn向量空间进行的旋转

3. 实例拆解:为什么SO(3)SO(3)SO(3)不是S2S^2S2

这是一个经典的直观误区。简单来说:SO(2)SO(2)SO(2)的“形状”确实是一个圆 (S1S^1S1),但SO(3)SO(3)SO(3)的“形状”绝对不是一个球面 (S2S^2S2)。

我们要从自由度物理含义两个维度来拆解:

(1) 维度硬伤

  • S2S^2S2(球面):表面只有2 个自由度(经度、纬度)。
  • SO(3)SO(3)SO(3)(三维旋转):你需要3 个自由度(如欧拉角的偏航、俯仰、滚转)。
  • 不匹配:你无法用球面上的一个点(2D)来完整表达三维旋转(3D)。就像1维空间的运动是一维自由度,2维空间的运动却是3维自由度(2个平移+1个旋转);三维空间是6个自由度(3个平移+3个旋转)。

(2) 物理含义:姿态 vs 方向

  • S2S^2S2只是方向 (Direction)的集合。
  • SO(3)SO(3)SO(3)姿态 (Orientation)的集合。
  • 关键区别:当你用SO(3)SO(3)SO(3)旋转物体,使它的北极点指向某个方向(消耗 2 个自由度)后,物体还可以绕着该轴进行自转(第 3 个自由度)。S2S^2S2只能记录“指向哪里”,丢掉了“自转角度”。

4. 数学验证:自由度到底是多少?

SO(n)SO(n)SO(n)的自由度(流形维度)计算公式是:
Dim(SO(n))=n(n−1)2 \text{Dim}(SO(n)) = \frac{n(n-1)}{2}Dim(SO(n))=2n(n1)

我们代入算一下,就能看清真相:

  • SO(2)SO(2)SO(2)2(1)2=1\frac{2(1)}{2} = 122(1)=1

    • 自由度为 1。对应S1S^1S1(圆)。
    • 巧合:这里n=2n=2n=2时,自由度正好也是 1(接近n−1n-1n1),这是导致误解的根源。
  • SO(3)SO(3)SO(3)3(2)2=3\frac{3(2)}{2} = 323(2)=3

    • 自由度为 3。
    • 重点:这里的n=3n=3n=3刚好让自由度也等于 3。这就解释了为什么你会产生“nnn代表自由度”的错觉。
  • SO(4)SO(4)SO(4)4(3)2=6\frac{4(3)}{2} = 624(3)=6

    • 自由度为 6。
    • 打破规律:在四维空间里旋转,你需要 6 个参数,而不是 4 个。

5. 深度连接:SO(3)SO(3)SO(3)到底对应什么?(四元数与S3S^3S3)

既然SO(3)SO(3)SO(3)不是S2S^2S2,那它的“真身”是什么?
它对应的是S3S^3S3(三维球面),也就是四维空间里的单位球面。这也就是你提到的四元数的几何本质:

  • 空间:四元数生活在 4 维空间 (R4\mathbb{R}^4R4)。
  • 约束:单位四元数要求qw2+qx2+qy2+qz2=1q_w^2 + q_x^2 + q_y^2 + q_z^2 = 1qw2+qx2+qy2+qz2=1
  • 维度:4 个变量减去 1 个约束 =3 个自由度
  • 对应关系:单位四元数构成的流形S3S^3S3完美覆盖了SO(3)SO(3)SO(3)的 3 个自由度。(注:严格来说SO(3)SO(3)SO(3)S3S^3S3也就是实射影空间RP3\mathbb{R}P^3RP3,因为qqq−q-qq代表同一个旋转)。

6. 总结表与算法应用

综合对比表

对象符号含义流形维度 (自由度)嵌入/作用空间几何直观
圆 (1维球面)S1S^1S11R2\mathbb{R}^2R2平面上的圆圈
球 (2维球面)S2S^2S22R3\mathbb{R}^3R3足球的表面 (只有方向)
2D 旋转群SO(2)SO(2)SO(2)1R2\mathbb{R}^2R2在圆上转圈 (拓扑等于S1S^1S1)
3D 旋转群SO(3)SO(3)SO(3)3R3\mathbb{R}^3R3姿态 = 方向 + 自转
单位四元数S3S^3S33R4\mathbb{R}^4R4四维空间里的球表面

为什么算法工程师要懂这个?

在 SLAM 和规划算法中,我们之所以如此纠结于流形:

  1. 避免奇点:欧拉角(3D参数)会有万向锁。使用SO(3)SO(3)SO(3)或四元数 (S3S^3S3) 这种“高维嵌入表示”可以保证全局平滑。
  2. 优化更新:就像你说的,优化通常是在切空间 (李代数so(3)\mathfrak{so}(3)so(3))进行的。
    • 流形 (SO(3)SO(3)SO(3)) 是弯曲的,很难直接做加减法。
    • 切空间 (R3\mathbb{R}^3R3) 是平坦的,我们在这里算出 3 个自由度的增量,再通过指数映射 (Exp) 贴回流形上。

这套逻辑完美解释了为什么我们用 4 个数(四元数)或 9 个数(矩阵)来表达仅仅 3 个自由度的旋转。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/14 15:04:47

模型服务化这件事:从 Batch 到 Stream,不只是改个部署方式那么简单

模型服务化这件事:从 Batch 到 Stream,不只是改个部署方式那么简单 说句掏心窝子的实话: 绝大多数模型“死”在部署阶段,不是死在算法上。 训练时 AUC 飞起、离线评估美如画,一到线上就翻车——延迟高、数据对不上、效…

作者头像 李华
网站建设 2026/5/14 1:24:58

【回眸】Polyspace教程(一) 小白使用篇

前言 最近公司换工具换的比较频繁,几乎全换了一遍,QAC也和Tessy一样淡出了工具栏。最近开始学习使用Polyspace,乘记忆还新鲜,出个使用Guide记录一下,攒攒人品。 软件信息 软件身份确认 软件名称:Polyspace Code Prover™(含桌面版、服务器版) 所属公司:The MathWor…

作者头像 李华
网站建设 2026/5/20 16:39:46

PPP与PPPoE协议介绍

我们之前学习的大多是局域网LAN内常用的技术,但是我们总是需要访问Internet,需要访问百度、B站等等,那怎样让局域网访问外面的资源呢,其实我们已经学习过了NAT转换,但是那对于广域网的架构我们还是需要学习下的。一、广…

作者头像 李华
网站建设 2026/5/23 6:47:15

革新!AI应用架构师引领AI驱动元宇宙教育的创新变革

AI应用架构师的革新使命:构建AI驱动的元宇宙教育新生态 关键词 AI应用架构、元宇宙教育、数字孪生教师、多模态交互、个性化学习引擎、教育算力、场景化实践 摘要 当"元宇宙"从概念走向落地,当"AI"从工具升级为"智能伙伴"…

作者头像 李华
网站建设 2026/5/15 11:05:58

从单模态到多模态:AI原生审核技术的融合创新

从单模态到多模态:AI原生审核技术的融合创新 关键词:多模态AI、内容审核、跨模态对齐、融合模型、AI原生系统 摘要:当短视频里的暴力画面配上煽动性配音,当电商商品图隐藏虚假宣传文字,当社交平台评论区用“黑话”规避文本过滤——传统单模态审核技术正面临前所未有的挑…

作者头像 李华