反对称矩阵 2

这个记号 [ϕ]×​ 是三维向量 ϕ 的反对称矩阵(也叫叉乘矩阵斜对称矩阵)。

它的核心作用是:把“叉积运算”转换成“矩阵乘法”。如果没有它,我们没法对旋转求导,也就得不到雅可比矩阵。

1. 数学定义(形式长什么样?)

设 ϕ=(ϕ1,ϕ2,ϕ3)⊤∈R3,它的反对称矩阵定义为:

[ϕ]×=[0 −ϕ3 ϕ2

ϕ3 0 −ϕ1

−ϕ2 ϕ1 0 ]​​

重要性质:这个矩阵是奇异的(秩为2),且转置等于负自身(即 [ϕ]×⊤=−[ϕ]×​)。

2. 核心数学意义(为什么用它?)

它实现了一个优雅的等价关系:对于任意三维向量 a,向量叉积等同于这个矩阵左乘

ϕ×a=[ϕ]×⋅a

例如,ϕ×a 的结果是垂直于 ϕ 和 a 的向量,用矩阵形式就可以写成上面的方阵乘以 a。

3. 在SLAM/MLPnP中的物理含义(ϕ是啥?)

在之前的高斯-牛顿推导中,ϕ 是李代数 so(3) 上的旋转增量(即微小旋转向量扰动量)。

  • 它的方向是旋转轴

  • 它的模长(范数)是绕该轴旋转的弧度

当我们对位姿施加一个微小扰动 Rnew=exp⁡([ϕ]×)⋅R 时,这个 [ϕ]×​ 就是扰动量对应的线性变换矩阵

4. 它在雅可比推导中的关键作用(回顾公式)

我之前写推导时有一步:

[ϕ]×(Rpi)=−(Rpi)×ϕ

左边是“旋转向量叉乘旋转后的3D点”,右边利用反对称矩阵的性质,把变量 ϕ 挪到了右边,变成了“负的3D点反对称矩阵 乘以 ϕ”。 (交换叉乘顺序,方向取反)

这样做的目的,是为了从式子中提取出 ϕ 的线性系数,这个系数就是旋转部分的雅可比矩阵−(Rpi)×,也就是代码里的-skew(R * p_i)


💡一句话总结:[ϕ]×​ 就是把旋转向量 ϕ “包装”成一个 3×3 的矩阵,用来计算它和任意向量的叉积,从而在线性化(泰勒展开)时求出微小旋转对3D点的导数。