静态缓存页面 · 查看动态版本 · 登录
智柴论坛 登录 | 注册
← 返回话题
✨步子哥 @steper · 2026-04-15 07:56

几何代数从入门到精通教程(GATr专项)

1. 引言:几何代数统一框架与GATr核心价值

1.1 传统向量代数的局限性

#### 1.1.1 点积与叉积的维度依赖问题

传统向量代数作为工程与科学教育的基础工具,存在着深刻的结构性缺陷。点积(dot product) 虽然能够计算向量长度与夹角,但其输出仅为标量,完全丢失了方向信息;更为严重的是 叉积(cross product) 的维度依赖性——这一运算仅在三维空间中定义,且其结果向量的方向遵循人为规定的"右手定则",这种非几何性的约定不仅增加了记忆负担,更导致算法在不同维度间无法直接迁移。当研究者需要在二维平面处理旋转时,必须引入复数或 2×2 矩阵;在四维时空(如相对论)中,叉积完全失效,需要全新的数学工具。这种碎片化的知识结构造成了显著的学习成本,并在实际应用中表现为代码的重复开发与维护困难。

从计算效率角度分析,传统方法的高维扩展性极差。叉积在 n 维空间中需要 (n-2) 维的"垂直补空间"概念,而这一构造仅在 n=3 时恰好产生向量。在机器学习领域,这种维度依赖性迫使神经网络为不同输入维度重新学习特征表示,无法共享跨维度的几何先验。更为隐蔽的问题是,叉积的"伪向量"(axial vector)本质——在反射变换下与真向量(polar vector)具有不同的变换规律——常常导致物理方程的错误表述,例如电磁学中磁场 B 的正确几何身份应为双向量而非向量。

#### 1.1.2 旋转、平移需分别处理的不便

在刚体运动学中,旋转与平移的传统处理方式呈现出根本性的不对称。旋转 通常采用 3×3 旋转矩阵(9 个参数,6 个正交约束)或四元数(4 个参数,1 个归一化约束)表示,而 平移 则需要额外的三维向量。这种分离表示在复合变换时尤为繁琐:机器人运动学中的齐次坐标变换矩阵虽然将两者合并为 4×4 矩阵,却引入了冗余的 16 个参数(实际仅 6 个自由度),且矩阵乘法的高计算复杂度(O(n³))在大规模场景下成为性能瓶颈。

更为关键的是,这种分离表示破坏了变换的代数结构——旋转构成群(SO(3)),平移构成向量空间,两者的数学性质截然不同,导致统一分析极为困难。在神经网络应用中,这种分离表示迫使模型分别学习旋转与平移的等变性,数据效率低下且泛化能力受限。对于需要 E(3) 等变性(即对旋转、平移、反射保持输出一致性)的任务,传统方法需要复杂的数据增强或专门的网络架构设计,难以实现理论上的严格保证。旋转矩阵的插值需要重新正交化,四元数的插值需处理双重覆盖问题,而平移与旋转的参数化方式不一致则增加了非线性优化的难度——这些技术债务在实时系统(如机器人控制、虚拟现实渲染)中直接转化为可靠性风险。

1.2 几何代数的核心优势

#### 1.2.1 单一运算统一几何操作:几何积

几何代数(Geometric Algebra, GA)的革命性贡献在于用 几何积(geometric product) 这一单一运算实现了几何概念的统一框架。对于任意两个向量 ab,几何积定义为:

$$ \mathbf{a}\mathbf{b} = \mathbf{a} \cdot \mathbf{b} + \mathbf{a} \wedge \mathbf{b} $$

这一公式将 内积(标量部分,表示投影与长度)外积(双向量部分,表示有向面积) 融合为不可分割的整体。几何积的代数性质极为丰富:它满足结合律,对加法满足分配律,且非零向量存在逆元(a⁻¹ = a/|a|²),使得"向量可以像数字一样相除"成为现实。与复数乘法类比,几何积的不可交换性恰恰编码了几何的方向信息,而其可逆性则为求解几何方程提供了代数工具。

作为 Clifford 代数 的一种具体实现,几何代数将 Grassmann 的外代数与 Hamilton 的四元数统一于同一框架,被誉为"19 世纪数学被遗忘的宝藏"。几何积的核心洞见在于:向量的乘法结果不仅能够产生标量,还能够生成更高维的几何对象——双向量(bivector,有向面积元)三向量(trivector,有向体积元) 等,形成完整的多向量层次结构。这种"乘法即构造"的特性使得复杂几何对象可以通过代数运算自然生成,无需外部定义。

#### 1.2.2 多向量空间的完备性(标量→向量→双向量→三向量)

几何代数构建了一个 分级(graded)的多向量空间,其完备性体现在对任意维度几何对象的统一表示能力。在 n 维空间中,多向量空间的总维度为 2ⁿ,包含从 0 级到 n 级的所有可能组合:

等级(Grade)数学对象维度几何意义物理示例
0标量(Scalar)1有向长度/数值质量、电荷、温度
1向量(Vector)n有向线段力、速度、电场
2双向量(Bivector)C(n,2)有向面积元素角动量、磁场、涡旋
3三向量(Trivector)C(n,3)有向体积元素质量密度、磁单极子
...............
nn-向量/Pseudoscalar1有向超体积定向、手性
这种分级结构并非人为强加的分类,而是源于 几何积的代数封闭性——任意两个多向量的几何积仍然是同一空间中的多向量。以三维空间为例,多向量空间的 8 个基底元素(2³ = 8)完整包含了:1 个标量、3 个向量、3 个双向量、1 个三向量,形成了处理所有几何问题的充分基础。更为重要的是,不同等级的元素可以通过几何积相互转换:两个向量的几何积产生标量与双向量之和,向量与双向量的几何积产生向量与三向量之和,这种"等级升降"的机制为复杂几何运算提供了代数基础。

#### 1.2.3 旋转、反射、平移的乘法统一表示

几何代数最优雅的成就之一,是将所有等距变换统一表示为 乘法运算转子(rotor) 是实现旋转的核心对象,其一般形式为标量与双向量的组合,通过 三明治乘法(sandwich product) 作用于向量或其他多向量:

$$ \mathbf{v}' = R\mathbf{v}R^{-1} $$

对于反射,奇数级多向量(如向量) 直接通过几何积实现;对于平移,在 投影几何代数(PGA) 框架下,平移被重新诠释为"无穷远处的旋转",同样纳入转子形式。这种统一表示的深层优势在于:变换的复合简化为代数乘法,逆变换简化为代数逆,插值简化为指数映射上的线性插值。与矩阵表示相比,乘法表示的参数量更少(3D 旋转仅需 4 个标量而非 9 个),数值稳定性更高(避免了矩阵正交化),且天然保持几何约束。

1.3 GATr采用PGA的动机

#### 1.3.1 E(3)等变性的数据效率优势

GATr(Geometric Algebra Transformer) 是 Qualcomm AI Research 于 NeurIPS 2023 发表的前沿工作,其核心创新在于将 投影几何代数(PGA) 与 Transformer 架构深度融合。传统神经网络在处理 3D 几何数据时面临根本性挑战:E(3) 等变性(equivariance) 的缺失——即模型输出应随输入的旋转、平移、反射而相应变换。传统方法通过数据增强(随机旋转训练样本)隐式学习对称性,需要大量标注数据,且无法保证严格等变性。

GATr 通过 PGA 的内建结构,将 E(3) 群(三维欧氏空间的刚体运动群)的对称性直接编码进网络架构。具体而言,PGA 的多向量表示使得每一层运算自动保持等变性:几何积的乘法结构保证变换的协变性,注意力机制中的内积选择不变量,最终输出随输入的刚体变换而协变。这种 "内建等变性" 带来了 数量级的数据效率提升——在 n-body 模拟、分子性质预测等任务中,GATr 仅需传统方法 1% 到 10% 的训练数据即可达到同等或更优性能。

任务方法相对误差训练数据数据效率提升
n-body 模拟标准 Transformer0.0050100% 基准
SE(3)-Transformer0.0025100% 基准
GATr0.00051%100×
血管壁应力预测标准 Transformer0.105100% 基准
GATr0.089100%精度提升 15%
#### 1.3.2 16维多向量编码3D几何对象

PGA G(3,0,1) 的代数维度为 2⁴ = 16,这一 16 维多向量空间与 GATr 的 token 表示完美匹配。与原始 3D 坐标相比,16 维实现了几何信息的 完备编码

PGA 元素等级维度几何意义GATr 用途
标量01有向量值特征强度、质量
向量14平面(含无穷远平面 e₀)局部坐标平面、方向
双向量26线(方向+矩)旋转生成元、边/轴
三向量34点(三平面交点)位置坐标
四向量(伪标量)41有向超体积对偶运算、体积
这种统一表示将传统上分离处理的 位置、方向、旋转、平移 融合为同一数学对象,Transformer 的注意力机制能够在统一的度量下比较任意几何对象。关键设计在于 平面基(plane-based)约定:向量表示平面,三向量表示点,与对偶几何中的角色互换一致,更适合计算机图形学中的裁剪、碰撞检测等以平面为原语的应用场景。

#### 1.3.3 Transformer层内建对称性尊重

GATr 的架构创新在于将 PGA 运算嵌入 Transformer 的每一层:

组件传统 TransformerGATr 设计等变性机制
输入嵌入位置编码 + 线性投影embed_point() 等 PGA 嵌入构造等变表示
注意力机制点积 QKᵀ/√dGA 内积 ⟨Q, K⟩₀(标量部分)内积 E(3) 不变
MLP 层矩阵乘法 + ReLU几何积 + 逐分量非线性几何积协变
输出提取线性投影extract_scalar() 等 PGA 提取保持变换性质
GA 内积注意力 的核心设计:注意力权重计算采用多向量内积的 标量部分 ⟨QK̃⟩₀,这一内积在刚体变换下保持不变,确保注意力分布仅依赖于几何对象的相对关系,而非绝对位置或方向。这种"对称性即架构"的设计理念,使得 GATr 无需任何显式的数据增强或约束优化,即可实现严格的 E(3) 等变性。

---

2. 二维几何代数基础:复数类比与几何积

2.1 几何积的分解结构

#### 2.1.1 内积(标量部分):长度与夹角

几何积的 内积部分 a·b = |a||b|cosθ 与传统点积完全一致,但其意义在 GA 框架下更为丰富。内积测量两个向量的 "共线程度":当两向量平行时取最大值 |a||b|,正交时为零,反平行时为负最大值。这一符号信息在物理应用中至关重要——功的计算 W = F·d 中,负功表示力阻碍运动。

在 GA 中,内积被重新理解为 "grade-lowering" 操作:两个 1 级向量(向量)的内积产生 0 级对象(标量)。这种分级视角揭示了内积的深层结构:它提取两个几何对象中 "最低公共维度" 的信息,是几何交集的代数对应。内积的梯度指向使两向量更平行的方向,这一性质在优化与机器学习中具有直接应用。

#### 2.1.2 外积(双向量部分):有向面积

外积 a∧b 是几何代数区别于传统向量分析的关键创新。其 magnitude |a||b|sinθ 等于两向量张成的平行四边形面积,而其"方向"由该平行四边形所在的平面及其定向(orientation)确定。外积的 反对称性 a∧b = −b∧a 直接编码了交换因子顺序翻转面积方向的几何事实,这一性质无需额外约定(如右手定则)而自然涌现。

在 2D GA 中,双向量是最高级元素,扮演 "虚数单位" 的角色;在 3D 中,双向量则对应三个正交平面,为旋转提供生成元。外积的 "grade-raising" 特性——两个 1 级对象产生 2 级对象——使其成为构造高维几何对象的基本工具。与叉积不同,外积的结果 双向量是真正的几何对象,而非依赖于三维嵌入的"伪向量",这一区别在反射变换下尤为明显:双向量按照真实几何对象变换,而伪向量获得额外符号因子。

2.2 双向量的虚数特性

#### 2.2.1 单位双向量I的定义与I² = -1

在二维几何代数中,定义标准正交基 e₁(水平向右)和 e₂(垂直向上),则 单位双向量 为:

$$ I = e_1 \wedge e_2 = e_1 e_2 $$

这一双向量的平方具有惊人性质:

$$ I^2 = (e_1 e_2)(e_1 e_2) = e_1 (e_2 e_1) e_2 = -e_1 (e_1 e_2) e_2 = -(e_1 e_1)(e_2 e_2) = -1 $$

推导中关键步骤利用了基向量的 反交换性 e₂e₁ = −e₁e₂归一性 e₁² = e₂² = 1I² = −1 与复数虚数单位 i 的代数性质完全一致,揭示了复数乘法的几何本质:乘以 i 等价于在平面内旋转 90°。这一发现并非巧合,而是表明 复数可嵌入 2D GA 作为子代数——复数的实部对应 GA 的标量,虚部对应双向量的标量倍数。

然而,GA 框架提供了远超复数的几何解释:I 不是抽象的"虚数",而是真正的几何对象——整个二维平面的有向面积元。这一洞见使得"虚数"成为可直观理解的几何概念,并为向任意维度的推广奠定基础。

#### 2.2.2 双向量作为旋转生成元

双向量 I 不仅是代数上的"虚数",更是 旋转的生成元(generator)。无穷小旋转可表示为 1 + εI(ε 为小量),有限旋转则通过 指数映射 获得:

$$ e^{\theta I} = \cos\theta + I\sin\theta $$

这正是 欧拉公式的 GA 形式。与复数表示相比,GA 的优势在于 直接推广到任意维度:3D 旋转需要三个双向量生成元(对应三个正交平面),4D 旋转则需要六个。双向量生成元的几何直观性——旋转发生在哪个平面——是矩阵表示无法提供的。

在机器人关节控制中,直接指定旋转平面比分解为欧拉角更为自然,避免了万向节锁(gimbal lock)问题。这一性质的李群理论基础在于:双向量构成旋转群 SO(n) 的李代数 so(n),指数映射给出群元素。

2.3 转子与三明治乘法

#### 2.3.1 转子公式:R = cos(θ/2) + I sin(θ/2)

转子(rotor) 是实现旋转的核心对象,其一般形式为:

$$ R = \cos\frac{\theta}{2} + I\sin\frac{\theta}{2} = e^{\theta I/2} $$

半角的出现 源于三明治乘法的结构:RvR⁻¹ 中 R 与 R⁻¹ 各贡献一半旋转。转子的 范数 |R|² = cos²(θ/2) + sin²(θ/2) = 1,确保其为 单位转子,对应纯旋转而非缩放。转子的逆 R⁻¹ = cos(θ/2) − I sin(θ/2) = R̃ 即其 反向(reverse),这一运算将多向量的基向量顺序反转,对双向量而言等价于符号取反。

转子的 乘法群结构 使得旋转的复合极为自然:R(θ₂)R(θ₁) = R(θ₁+θ₂),这一群同态性质与复数乘法一致,但 GA 框架将其推广到任意维度。

#### 2.3.2 旋转操作:v' = RvR⁻¹

三明治乘法 v' = RvR⁻¹ 是 GA 中最优雅的构造之一。其工作机制可通过展开理解:设 v = v₁e₁ + v₂e₂R = cos(θ/2) + I sin(θ/2),则

$$ RvR^{-1} = \left(\cos\frac{\theta}{2} + I\sin\frac{\theta}{2}\right)(v_1 e_1 + v_2 e_2)\left(\cos\frac{\theta}{2} - I\sin\frac{\theta}{2}\right) $$

经过代数运算(利用 Ie₁ = e₂Ie₂ = −e₁),最终得到:

$$ \mathbf{v}' = (v_1\cos\theta - v_2\sin\theta)\mathbf{e}_1 + (v_1\sin\theta + v_2\cos\theta)\mathbf{e}_2 $$

这正是 二维旋转矩阵的标准形式。三明治结构的优势在于:它自动保持被变换对象的类型(向量旋转后仍为向量),且对 任意等级的多向量适用——标量不变,双向量同样旋转,实现了变换的统一处理。

#### 2.3.3 坐标无关性的优势

GA 表示的旋转完全 坐标无关:转子 R 描述的是几何平面内的旋转角度,与坐标系选择无关。相比之下,旋转矩阵的 9 个元素随坐标系变化,且需满足 6 个正交约束(RᵀR = Idet R = 1)。坐标无关性带来的实际好处包括:

特性旋转矩阵GA 转子
参数数量9(6 个约束)4(1 个约束)
数值稳定性需重新正交化自动保持归一化
插值非自然(需投影)测地线插值(slerp)
微分复杂(矩阵李群)简洁(指数映射)
维度推广需重新推导直接推广
在动画与物理引擎中,这些优势直接转化为 更平滑的运动与更高的计算效率

---

3. 三维几何代数进阶:四元数统一与维度扩展

3.1 三维基向量的几何积

#### 3.1.1 三个正交双向量(e₁₂, e₁₃, e₂₃)

三维几何代数的基结构显著丰富于二维。除三个向量基 e₁, e₂, e₃ 外,几何积产生 三个独立双向量

双向量定义几何意义右手定则对应
e₁₂ = e₁∧e₂e₁e₂xy 平面的有向面积元绕 z 轴旋转
e₁₃ = e₁∧e₃e₁e₃xz 平面的有向面积元绕 y 轴旋转
e₂₃ = e₂∧e₃e₂e₃yz 平面的有向面积元绕 x 轴旋转
这三个双向量构成 旋转群 SO(3) 的李代数 so(3) 的基,其 对易关系(李括号) 为:

$$ [e_{12}, e_{13}] = e_{12}e_{13} - e_{13}e_{12} = 2e_{23} \quad \text{(循环置换)} $$

这与 角动量算符的对易关系 [Lᵢ, Lⱼ] = iℏεᵢⱼₖLₖ 结构相同,揭示了 GA 与量子力学的深层联系。双向量的几何积产生三向量(伪标量):e₁₂e₂₃ = e₁₃,这一"约化"现象是 3D 特有的——在更高维度,双向量的几何积可产生更高等级的多向量。

#### 3.1.2 三向量(伪标量)的体积意义

三维 GA 的最高级元素为 三向量(trivector)伪标量(pseudoscalar)

$$ I_3 = e_1 \wedge e_2 \wedge e_3 = e_1 e_2 e_3 $$

其平方 I₃² = −1(在 3D 欧氏度量下),与 2D 情况类似但几何意义不同。三向量表示 有向体积元:任意三个向量 a, b, c 的外积 a∧b∧c 产生标量三倍的平行六面体体积。三向量的 "伪"性 体现在:它在 反射变换下变号(真标量不变),因此区分左右手坐标系。在物理中,磁单极子、手性费米子 等概念都与伪标量密切相关。

三向量还实现 对偶(duality)映射:向量与双向量通过对偶相互转换,**v* = vI₃⁻¹,这一运算在 3D 中将直线(双向量)与法向量(向量)统一。对偶关系是 叉积的 GA 对应,但更为清晰和通用——叉积 a×b = (a∧b)I₃⁻¹ 只是双向量对偶的特例。

3.2 三维转子与四元数等价

#### 3.2.1 标量+双向量的四维结构

三维转子的一般形式为:

$$ R = \cos\frac{\theta}{2} + \mathbf{B}\sin\frac{\theta}{2} $$

其中 B = b₁₂e₁₂ + b₁₃e₁₃ + b₂₃e₂₃单位双向量|B| = 1),表示旋转平面的法向量。转子包含 4 个独立分量(1 个标量 + 3 个双向量系数),与 四元数 q = w + xi + yj + zk 的维度一致。

实际上,映射 i ↔ −e₂₃j ↔ −e₁₃k ↔ −e₁₂ 建立了 GA 转子与 Hamilton 四元数的 代数同构。然而 GA 表示更为直观:四元数的"虚数单位" i, j, k 是抽象符号,而 GA 的双向量有 明确几何意义——旋转平面

特性四元数GA 转子
虚数单位i, j, k(抽象)e₂₃, e₁₃, e₁₂(几何平面)
乘法规则人为定义几何积自然导出
旋转表示绕轴旋转在平面内旋转
维度推广困难直接
反射处理需额外构造统一于 versor
#### 3.2.2 旋转平面的直观表示

GA 转子的核心优势在于 旋转平面的直接可视化。给定旋转轴 n = (nₓ, nᵧ, nᵤ),对应的双向量为:

$$ \mathbf{B} = n_x e_{23} + n_y e_{31} + n_z e_{12} $$

这一对应即 Hodge 对偶:旋转轴(向量)与旋转平面(双向量)在 3D 中互为对偶。直观理解:绕 z 轴旋转等价于在 xy 平面内旋转,轴的方向由右手定则确定。GA 将这一隐式对偶显式化,使得旋转的合成更为清晰——两个转子的几何积直接给出复合旋转的平面与角度,无需转换为矩阵或欧拉角。

#### 3.2.3 复合旋转的连续性优势

转子乘法 R₂R₁ 直接给出复合旋转,其结果 自动归一化(单位转子的乘积仍为单位转子),避免了四元数乘法后的显式归一化步骤。更为重要的是,转子空间是 双覆盖(double cover) 的:R−R 表示同一旋转,这一拓扑性质与 SU(2) → SO(3) 的群同态对应。

在插值应用中,转子空间的 测地线(大圆弧)对应恒速旋转,而欧拉角插值可能产生非物理的加速。GA 的指数映射 R = e^(Bθ/2) 还为旋转的微分方程(如刚体动力学中的欧拉方程)提供了自然框架。

3.3 反射与奇数转子的统一处理

GA 将 反射 统一于相同的代数结构:向量 a 实现关于垂直于 a 的平面的反射,通过三明治乘法:

$$ \mathbf{v}' = -\mathbf{a}\mathbf{v}\mathbf{a}^{-1} $$

负号确保方向正确(反射改变定向)。两个反射的复合产生旋转——这是 Cartan-Dieudonné 定理 的 GA 体现:任意等距变换可分解为反射的乘积。奇数个反射给出 反向等距(反射、滑移反射),偶数个给出 正常等距(旋转、平移)。

这一统一视角在 晶体学(对称群分类)计算机图形学(变换分解) 中有直接应用。Versor(向量或向量的几何积)作为反射的生成元,与转子(偶 versor)共同构成 Clifford 群,实现了所有等距变换的代数统一。

---

4. 多向量结构与等级分解

4.1 多向量的完整组成

#### 4.1.1 标量(0级)、向量(1级)

多向量是几何代数的通用元素,其 分级结构 反映几何对象的维度。标量(0 级) 为普通实数,在物理中表示质量、电荷等无方向量;向量(1 级) 表示有向线段,对应力、速度等物理量。在 GA 中,标量与向量通过几何积相互作用:标量缩放向量(sv),向量平方产生标量(v² = |v|²)。这种交互的封闭性确保了代数的一致性。

#### 4.1.2 双向量(2级)、三向量(3级)

双向量(2 级) 表示有向面积元,在电磁学中对应电场-磁场平面(Faraday 张量的分量);三向量(3 级) 表示有向体积元,在流体力学中对应涡量密度。更高维度的 GA 还包含四向量、五向量等,但在 3D 物理中三向量为最高级。

各级元素的几何意义并非抽象定义,而是源于 几何积的构造性外积提升等级内积降低等级几何积同时包含两种操作。这种"升降"机制使得多向量空间具有丰富的代数结构。

4.2 三维空间的8维基底(2³ = 8)

#### 4.2.1 一般形式:M = s + v + B + It

三维 GA 的多向量空间维度为 2³ = 8,基元素为:

$$ \{1, \; e_1, e_2, e_3, \; e_{12}, e_{13}, e_{23}, \; e_{123}\} $$

一般多向量可写为:

$$ M = \underbrace{s}_{\text{标量}} + \underbrace{v_1 e_1 + v_2 e_2 + v_3 e_3}_{\text{向量 } \mathbf{v}} + \underbrace{B_{12}e_{12} + B_{13}e_{13} + B_{23}e_{23}}_{\text{双向量 } \mathbf{B}} + \underbrace{t \, e_{123}}_{\text{三向量 } It} $$

这一 分解是唯一的,即任意多向量可唯一表示为各等级分量之和。分量提取算子 ⟨M⟩ₖ 给出 k 级部分,满足 ∑ₖ₌₀³ ⟨M⟩ₖ = M

4.3 等级提取操作

#### 4.3.1 按grade筛选分量

等级投影算子具有代数性质:⟨AB⟩ₖ 依赖于 AB 的各等级分量的耦合。特别地,标量部分 ⟨AB⟩₀ 定义了 标量积,在无穷维推广中为 Hilbert 空间内积的基础。等级筛选在物理应用中至关重要:电磁场多向量 F = E + IB 中,电场为向量部分,磁场为双向量部分(通过对偶),Maxwell 方程可写为单一多向量方程。

#### 4.3.2 几何意义的分层理解

多向量的分级结构提供了 几何问题的分层处理策略

等级几何对象变换性质物理/应用
0(标量)度量不变量旋转/反射不变能量、质量、距离平方
1(向量)位置、方向旋转协变,反射变号力、速度、电场
2(双向量)旋转生成元、力矩旋转协变,反射变号角动量、磁场、应力
3(三向量)体积、对偶旋转不变,反射变号质量密度、手性、拓扑
在 GATr 中,这种分层被用于设计 等变网络层:不同等级的分量通过特定的双线性形式交互,确保输出保持正确的变换性质。

---

5. 投影几何代数PGA:GATr核心数学

5.1 从GA到PGA的扩展动机

#### 5.1.1 普通GA的原点限制

标准三维 GA G(3,0) 存在一个根本性限制:其向量表示的是 "过原点的"有向直线,平面表示的是 "过原点的"平面。这意味着无法直接表示 任意位置的点、任意偏移的平面——所有几何对象必须相对于固定原点定义。在实际应用中(如机器人运动学、计算机辅助设计),原点选择是任意的,而几何关系应与原点无关。

齐次坐标提供了部分解决方案,但缺乏代数结构;PGA 则通过引入 退化度量,将齐次坐标嵌入完整的 GA 框架,实现了 "无穷远"的代数化

#### 5.1.2 无穷远方向向量e₀的引入(e₀² = 0)

PGA G(3,0,1) 通过添加第四个基向量 e₀ 扩展标准 GA,其 度量 signature 为 (3,0,1)——三个正平方(e₁² = e₂² = e₃² = 1),一个 零平方(e₀² = 0)e₀ 的零范数特性 使其表示 "无穷远方向":有限点与无穷远点的区别仅在于 e₀ 分量的存在与否。

这一构造的深刻性在于:平移——在欧氏空间中与旋转截然不同的操作——在 PGA 中表现为"绕无穷远直线的旋转",从而统一于相同的转子形式。具体而言,平移转子 T = 1 + (1/2)e₀t 的指数形式与旋转转子 R = cos(θ/2) + B sin(θ/2) 结构相似,只是双向量 e₀t 满足 (e₀t)² = 0(幂零),导致指数级数截断为线性项。

5.2 PGA的代数结构G(3,0,1)

#### 5.2.1 16维空间(2⁴ = 16)与GATr token维度对应

PGA 的完整多向量空间维度为 2⁴ = 16,这一维度与 GATr 的架构设计 精确对应

等级基元素数量几何意义GATr 语义
011标量全局特征强度
1e₀, e₁, e₂, e₃4平面(e₀ 为无穷远平面)局部坐标平面
2e₀₁, e₀₂, e₀₃, e₁₂, e₁₃, e₂₃6线(理想线 + 有限线)边/轴/旋转生成元
3e₀₁₂, e₀₁₃, e₀₂₃, e₁₂₃4点(齐次坐标)位置坐标
4e₀₁₂₃ = I1伪标量(体积)对偶运算辅助
GATr 采用 平面基(plane-based)约定,其中 向量表示平面,三向量表示点——这与常见的点基约定相反,但更适合"平面作为原始几何对象"的应用场景(如计算机图形中的裁剪、碰撞检测)。

5.3 平面基表示的关键约定

#### 5.3.1 平面:向量部分(e₁, e₂, e₃ + e₀)

在平面基约定中,一般平面 表示为:

$$ \pi = n_1 e_1 + n_2 e_2 + n_3 e_3 + d \, e_0 $$

其中 (n₁, n₂, n₃) 为法向量,d 为到原点的有向距离。无穷远平面e₀ 本身。平面的 范数 |π|² = n₁² + n₂² + n₃²(e₀ 的零度量使其不贡献),归一化后法向量为单位向量。

两平面 π₁, π₂几何积 π₁π₂ = π₁·π₂ + π₁∧π₂ 包含丰富信息:标量部分 给出平面夹角的余弦,双向量部分 给出交线(若相交)或平行关系(若 π₁∧π₂ = 0)。这种 "乘法即几何操作" 的特性是 PGA 计算效率的核心来源。

#### 5.3.2 点:三向量(三平面交点)

作为三平面的交点,在 PGA 中表示为 三向量

$$ P = p_{012}e_{012} + p_{013}e_{013} + p_{023}e_{023} + p_{123}e_{123} $$

归一化条件P ∨ e₀ = −1(使用反变归一化),此时前三个分量给出欧氏坐标 (x, y, z),最后一个分量为 1(齐次坐标的 GA 实现)。原点 对应 e₁₂₃无穷远点(方向) 的 e₁₂₃ 分量为零。

点的 PGA 表示与齐次坐标 (x, y, z, w) 的关系:P = w·e₁₂₃ − x·e₀₂₃ − y·e₀₁₃ − z·e₀₁₂(符号约定因实现而异)。GATr 的 embed_point() 函数正是实现这一编码。

#### 5.3.3 线:双向量

线 作为两平面的交线,表示为 双向量

$$ L = l_{01}e_{01} + l_{02}e_{02} + l_{03}e_{03} + l_{12}e_{12} + l_{13}e_{13} + l_{23}e_{23} $$

分量几何意义
(l₀₁, l₀₂, l₀₃)方向向量(理想部分,含 e₀)
(l₂₃, −l₁₃, l₁₂)矩向量(有限部分,Plücker 坐标)
线的 Plücker 约束 L∧L = 0(纯线条件)自动满足,其 模长 |L|² = l₀₁² + l₀₂² + l₀₃²(方向向量的平方)。线的几何操作——与点/平面的关联、线线距离、公垂线——都可通过多向量代数直接计算。

5.4 刚体变换的统一表示

#### 5.4.1 旋转:传统转子

PGA 中的 旋转转子 与标准 GA 形式相同:

$$ R = \cos\frac{\theta}{2} + \mathbf{B}\sin\frac{\theta}{2} $$

但双向量 B 现在可包含 e₀ 分量,表示 "绕任意直线的旋转"(而非仅过原点直线)。旋转轴直线 L 与转子通过 指数映射 关联:R = e^(Lθ/2),其中 L 需归一化。

由于 R 与 e₀ 对易(Re₀ = e₀R),旋转 保持无穷远平面不变——这正是旋转作为"有限点转动"的特征。

#### 5.4.2 平移:无穷远旋转形式 1 + (1/2)e₀t

平移 作为"无穷远旋转",其转子为:

$$ T = 1 + \frac{1}{2}e_0 \mathbf{t} = e^{e_0 \mathbf{t}/2} $$

其中 t = t₁e₁ + t₂e₂ + t₃e₃ 为平移向量。(e₀t)² = 0 的幂零性使得指数级数截断为线性项。验证平移效果:对于点 P = (1 + e₀r)I₃

$$ TPT^{-1} = \left(1 + \frac{e_0\mathbf{t}}{2}\right)(1 + e_0\mathbf{r})I_3\left(1 - \frac{e_0\mathbf{t}}{2}\right) = (1 + e_0(\mathbf{r}+\mathbf{t}))I_3 $$

位置向量增加 t,实现平移。

旋转与平移的复合 形成 马达(motor)

$$ M = TR = e^{e_0\mathbf{t}/2} e^{\mathbf{B}\theta/2} $$

马达的乘积直接给出 复合刚体运动,其李群结构为 SE(3) 的覆盖群。这一统一表示是 GATr 等变性的代数基础。

5.5 几何操作的多向量实现

#### 5.5.1 交点、并集

PGA 中,相遇(meet)∧联结(join)∨** 运算通过外积和对偶实现:

操作公式几何意义
两平面交线L = π₁ ∧ π₂双向量
三平面交点P = π₁ ∧ π₂ ∧ π₃三向量
两点连线L = P₁ ∨ P₂ = *(P₁* ∧ P₂*)对偶外积再对偶
点线确定平面π = P ∨ L对偶运算
这些操作的 统一性——无论元素类型,交都用 ∧,并都用 ∨——是 PGA 作为"几何演算"的核心优势。

#### 5.5.2 对偶运算

对偶算子 * 将 k 级多向量映射为 (4−k) 级多向量:

$$ A^* = A I^{-1}, \quad I = e_{0123} $$

原对象对偶对象几何关系
点(3级)平面(1级)点的极平面
线(2级)线(2级)自对偶(正交线)
平面(1级)点(3级)平面的极点
对偶在 投影几何 中对应 极性(polarity)变换,在 距离计算 中至关重要:两点距离 = |P₁ ∨ P₂|,两平面夹角 = |π₁ · π₂|。

---

6. GATr实践应用与开发入门

6.1 Python工具链配置

#### 6.1.1 clifford库安装与基础使用

clifford 是 Python 中最成熟的几何代数库,支持包括 PGA 在内的多种预定义代数:

pip install clifford

库中预定义了 pga 模块,直接对应 G(3,0,1)

from clifford import pga

# 访问基向量
e0, e1, e2, e3 = pga.e0, pga.e1, pga.e2, pga.e3

# 创建多向量:平面 2x + 3y - z + 5 = 0
plane = 2*e1 + 3*e2 - e3 + 5*e0

# 几何运算
line = e1 ^ e2  # 两平面交线(外积)
point = plane ^ line  # 平面与线交点

clifford16 个分量顺序 与 GATr 兼容:[scalar, e0, e1, e2, e3, e01, e02, e03, e12, e13, e23, e012, e013, e023, e123, e0123]。库提供完整代数运算:几何积(*)、外积(^)、内积(|)、反向(~)、对偶等。

#### 6.1.2 ganja.js浏览器可视化

ganja.js 是由 Steven De Keninck 开发的 JavaScript 几何代数库,以其 交互式可视化能力 著称。通过 pyganja 可在 Jupyter notebook 中嵌入 3D 图形:

from pyganja import GanjaScene, draw
from clifford.pga import *

# 创建场景
sc = GanjaScene()
sc.add_object(e123, color=0xFF0000, label='origin')      # 原点(红色)
sc.add_object(e1, color=0x00FF00, label='x-plane')       # x=0 平面(绿色)
sc.add_object(e1^e2, color=0x0000FF, label='z-axis')     # z 轴(蓝色)

# 渲染
draw(sc, scale=0.5)

bivector.net/coffeeshop 提供大量可交互示例,涵盖 2D/3D PGA、CGA 等,是直观理解 GA 几何意义的极佳资源。

6.2 GATr代码接口解析

#### 6.2.1 gatr/interface.py核心功能

gatr/interface.py 模块提供 物理对象与多向量表示的转换函数

函数功能输入输出形状
embed_point(positions)3D 点 → 三向量(…, 3) 张量(…, 1, 16)
embed_vector(vectors)方向向量 → 向量(…, 3) 张量(…, 1, 16)
embed_scalar(scalars)标量 → 标量(…, 1) 张量(…, 1, 16)
embed_translation(t)平移向量 → 平移转子(…, 3) 张量(…, 1, 16)
extract_scalar(mv)提取标量分量(…, 16)(…, 1)
extract_point(mv)三向量 → 3D 点(…, 16)(…, 3)
extract_translation(mv)提取平移向量(…, 16)(…, 3)
这些函数实现 平面基约定的具体编码,确保用户无需理解 16 维细节即可使用 GATr。

#### 6.2.2 embed_point():3D点→16维多向量

embed_point() 的具体实现(简化示意):

from gatr.interface import embed_point
import torch

points = torch.tensor([[1., 0., 0.],   # 点 A
                       [0., 1., 0.]])  # 点 B

mv = embed_point(points)  # shape: (2, 1, 16)

# mv[0, 0, :] 的非零分量(GATr 内部约定):
# - index 11 (e_021): -1.0  (x 系数,注意符号)
# - index 12 (e_013):  0.0  (y 系数)
# - index 13 (e_023):  0.0  (z 系数)  
# - index 14 (e_123):  1.0  (齐次坐标 w)

P = −x·e₀₂₁ − y·e₀₁₃ − z·e₀₂₃ + e₁₂₃,与标准 PGA 约定相差符号,是 GATr 内部实现的选择,不影响等变性

6.3 GATr架构内部机制

#### 6.3.1 几何积非线性变换层

GATr 的核心创新是将标准 Transformer 的 MLP 层替换为 几何积非线性层

Y = σ(W₁ X W₂ + b)

其中 W₁, W₂ 为可学习的多向量权重,b 为多向量偏置,σ 为逐分量非线性(如 GELU)。几何积的 双线性特性 使得这一层能够 混合不同等级的分量,同时保持整体的 Pin(3,0,1) 等变性

与标准 MLP 对比:

特性标准 MLPGATr 几何积 MLP
运算矩阵乘法 Y = WX + b双线性 Y = W₁XW₂ + b
非线性ReLU/GELU 逐元素相同,但保留多向量结构
等变性需额外约束内建于代数结构
参数效率O(d²)O(d²),但 d=16 固定
可解释性高(等级分量有几何意义)
#### 6.3.2 基于GA内积的注意力机制

标准 Transformer 的注意力:softmax(QKᵀ/√d)V

GATr 的 GA 内积注意力

$$ \text{Attention}(Q, K, V) = \text{softmax}\left(\frac{\langle Q, \tilde{K} \rangle_0}{\sqrt{d}}\right) V $$

其中 ⟨·,·⟩₀ 提取几何积的 标量部分K 的反向。这一内积的 E(3) 不变性 保证注意力权重仅依赖于几何对象的 相对关系,而非绝对位置或方向。

关键设计选择:

注意力变体内积选择性质
标量内积 ⟨QK̃⟩₀仅 grade-0E(3) 不变,GATr 采用
全内积 Q·K̃所有 grade非不变,需额外约束
等级选择性 ⟨Q⟩ₖ·⟨K⟩ₖ特定 grade可学习关注特定几何
#### 6.3.3 等变输出的自动保证

GATr 的 完整等变性 源于各组件的等变性组合:

组件等变性机制
嵌入层 (embed_point 等)按 PGA 规则构造等变表示
注意力层标量内积保持不变性
MLP 层几何积保持协变性
归一化层等级选择性,保持结构
提取层 (extract_scalar 等)将等变输出转换为所需形式
这种 "对称性即架构" 的设计使得用户 无需显式处理对称性,网络自动学习几何模式。

6.4 典型应用场景

#### 6.4.1 n体物理模拟

模型相对误差训练数据关键优势
标准 Transformer0.0050100% 基准基线
SE(3)-Transformer0.0025100% 基准显式等变
GATr0.00051%100× 数据效率
GATr 的 等变性 使其能够 泛化到训练时未见过的粒子配置与初始条件,而传统方法需重新训练。

#### 6.4.2 血管壁应力预测

  • 输入:CT 血管造影,大规模动脉网格(数十万顶点)
  • 输出:壁面剪切应力(WSS),心血管疾病关键指标
  • 挑战:患者姿态变化、扫描方向不一致
  • GATr 优势等变性确保对姿态变化的鲁棒性,无需重新对齐数据
  • 性能:相比标准 Transformer,误差降低 15%(0.089 vs 0.105)
#### 6.4.3 机器人运动规划
  • 任务:抓取规划中的可行运动分布学习
  • GATr 应用马达(motor)插值 产生平滑轨迹,避免奇异点
  • 优势:SE(3) 等变性直接处理末端执行器位姿,无需欧拉角/四元数转换
  • 效果:规划成功率提升,计算时间减少
---

7. 进阶学习资源体系

7.1 视频教程

#### 7.1.1 "From Zero to Geo"系列(sudgylacmoe)

YouTube 频道 sudgylacmoe 的 "From Zero to Geo" 系列被公认为 最通俗的几何代数入门视频。该系列从高中代数水平出发,通过可视化动画逐步构建 2D/3D GA、PGA、CGA 的完整图景:

视频内容时长
"What is Geometric Algebra?"动机与 2D GA 基础~20 min
"Complex Numbers are Rotors"复数与 GA 的对应~15 min
"Quaternions are Rotors Too"四元数的 GA 解释~20 min
"Projective Geometric Algebra"PGA 的完整引入~30 min
"Why Translations are Rotations"平移的无穷远旋转解释~15 min
作者采用 "几何优先"教学策略,公式推导服务于直观理解,特别适合视觉学习者。

#### 7.1.2 其他GA视频资源

资源作者/机构特点
"Geometric Algebra for Computer Science"Leo Dorst (TU Delft)学术严谨,PGA 重点
SIGGRAPH GA coursesCharles Gunn 等图形学应用导向
"Algebraic Geometry" playlistMathoma数学背景补充

7.2 互动学习平台

#### 7.2.1 geometricalgebratutorial.com

该网站提供 交互式 PGA 可视化,核心特色:

  • "探索模式":逐步执行几何构造(如"求两平面交线")
  • 实时参数调节:拖动滑块观察多向量分量变化
  • 对比视图:GA 方法 vs. 传统坐标计算
适合 动手验证理解快速原型实验

#### 7.2.2 ObservableHQ可视化项目

Notebook作者内容
"Ganja.js Introduction"Steven De Keninck库的基础用法
"PGA4CS Visualized"Charles GunnPGA 的图形学应用
"Robot Kinematics with PGA"社区贡献运动学实时模拟
"n-body with GATr"Qualcomm AI ResearchGATr 的可视化解释
这些 notebook 可直接 fork 修改,是实验新想法的理想环境。

7.3 经典文献

#### 7.3.1 《Geometric Algebra for Physicists》(Doran & Lasenby)

属性内容
出版社Cambridge University Press
页数~600
难度研究生水平
核心章节3-5 章(3D GA 与经典力学)、6 章(几何微积分)
获取免费 PDF 广泛流传
该书是 GA 领域的权威参考书,涵盖从基础到相对论、量子力学的完整应用。

#### 7.3.2 Leo Dorst的PGA4CS指南

属性内容
标题"A Guided Tour to the Plane-Based Geometric Algebra PGA"
版本2.0 (2022)
页数~100
重点平面基约定、实现细节、与传统方法比较
配套C++/Python 代码
PGA4CS 是针对 计算机科学读者的 PGA 专著,详细阐述:
  • 线模型与 Plücker 坐标
  • 马达对数与插值算法
  • 与齐次坐标、对偶四元数的比较
#### 7.3.3 SIGGRAPH 2019几何代数课程(Charles Gunn)

属性内容
时长2 天课程
材料视频、幻灯片、代码(全部公开)
覆盖PGA 的渲染管线集成、碰撞检测、动画插值
特色图形学实际应用导向
该课程是 图形学领域的 GA 标准教材,强调 可运行的代码实现

7.4 前沿研究

#### 7.4.1 GATr原论文(arXiv:2305.18415)

属性内容
标题"Geometric Algebra Transformer"
作者Johann Brehmer 等 (Qualcomm AI Research)
会议NeurIPS 2023
核心贡献PGA + Transformer 的首次大规模结合
附录完整 PGA 约定说明与实现细节
论文的 附录 B 包含 GATr 的 16 维分量顺序、归一化约定等 复现必备信息

#### 7.4.2 欧氏/投影/共形GA的比较研究

GA 类型符号维度核心能力典型应用
欧氏 GAG(3,0,0)8 = 2³过原点几何、旋转经典力学
投影 GAG(3,0,1)16 = 2⁴任意点/线/面、刚体运动GATr、图形学、机器人
共形 GAG(4,1,0)32 = 2⁵圆/球/角度、共形变换计算机视觉、几何建模
Roelfs & De Keninck (2023) 的 "Graded Symmetry Groups: Plane and Simple" 系统论证了 PGA 作为"最简单"欧氏几何代数 的地位。

#### 7.4.3 共形几何代数CGA的扩展方向

CGA G(4,1) 通过添加两个额外维度(e₊, e₋,满足 e₊² = 1, e₋² = −1),实现了:

  • 圆、球面、点对 的统一表示
  • 共形变换(包括反演)的线性化
  • 角度 的直接余弦公式
特性PGACGA
维度1632
计算开销
圆球表示需扩展原生支持
角度计算间接直接
当前应用GATr研究探索
GATr 的架构可扩展至 CGA,是未来研究方向之一,尤其在需要 圆球几何 的应用(分子表面建模、球面相机)中。

---

结语:几何代数的"瑞士军刀"哲学

几何代数的核心价值在于其 统一性——不是通过抽象化来消除差异,而是通过 揭示深层结构 来整合表面不同的概念。旋转与平移、点与平面、向量与双向量,在 PGA 的框架下都成为同一数学对象的不同表现,如同瑞士军刀的多种工具共享同一刀柄。

GATr 的成功验证了这种统一性在 现代深度学习 中的实用价值:将几何先验内建于架构,而非迫使网络从零学习。这一设计理念超越了具体应用,为 物理启发的机器学习 提供了范式参考。

掌握几何代数后,你将发现:

  • 旋转不再是矩阵,而是平面内的自然转动
  • 几何不再是坐标,而是代数结构的直接表达
  • 对称性不再是约束,而是设计的起点
GATr 正是这一哲学在 AI 时代的完美落地。继续探索,你会发现几何代数在 机器人、计算机视觉、物理模拟、甚至量子计算 中的广泛应用——这把"瑞士军刀"的刀刃,远未穷尽。