SLAM 反对称矩阵

1. 定义

反对称矩阵又称(斜对称矩阵)是一个方形矩阵,其转置矩阵和自身的加法逆元相等。
A ⊤ = − A (1.1) A^{\top} = -A \tag{1.1} A=A(1.1)
或写作 A = ( a i j ) A=(a_{ij}) A=(aij),各元素的关系为:
a i j = − a j i (1.2) a_{ij} = -a_{ji} \tag{1.2} aij=aji(1.2)
例如,下例为一个反对称矩阵:
[ 0 2 − 1 − 2 0 − 4 1 4 0 ] (1.3) \begin{bmatrix} 0 & 2 & -1 \\ -2 & 0 & -4 \\ 1 & 4 & 0 \\ \end{bmatrix} \tag{1.3} 021204140 (1.3)
在SLAM学习中,一个向量可以映射到一个反对称矩阵,从向量到反对称矩阵的映射符号通常用 ^ \hat{} ^ 符号来表示,比如对于向量 a = [ a 1 , a 2 , a 3 ] ⊤ a = [a_1,a_2,a_3]^{\top} a=[a1,a2,a3],其反对称矩阵为:
a ∧ = A = [ 0 − a 3 a 2 a 3 0 − a 1 − a 2 a 1 0 ] (1.4) a^{\wedge}=A= \begin{bmatrix} 0 & -a_3 & a_2 \\ a_3 & 0 & -a_1 \\ -a_2 & a_1 & 0 \\ \end{bmatrix} \tag{1.4} a=A= 0a3a2a30a1a2a10 (1.4)
另外一个小tips,反对称符号在latex的表示为\hat{}或者\wedge

2. 反对称矩阵与叉乘

设有向量 a = [ a 1 , a 2 , a 3 ] ⊤ a = [a_1,a_2,a_3]^\top a=[a1,a2,a3] b = [ b 1 , b 2 , b 3 ] ⊤ b = [b_1,b_2,b_3]\top b=[b1,b2,b3],则叉乘和反对称化的关系如下:
a × b = a ∧ b (2.1) a \times b = a^\wedge b \tag{2.1} a×b=ab(2.1)
以及反交换律:
a ∧ b = − b ∧ a (2.2) a^\wedge b = -b^\wedge a \tag{2.2} ab=ba(2.2)
a ⊤ b ∧ = − b ⊤ a ∧ (2.3) a^\top b^\wedge = -b^\top a^\wedge \tag{2.3} ab=ba(2.3)
同时有以下性质成立:
( a ∧ b ) ∧ = ( a × b ) ∧ = a ∧ b ∧ − b ∧ a ∧ (2.4) (a^\wedge b)^\wedge = (a \times b)^\wedge = a^\wedge b^\wedge - b^\wedge a^\wedge \tag{2.4} (ab)=(a×b)=abba(2.4)

3. 反对称矩阵的行列式

若A是 n × n n \times n n×n的反对称矩阵,其行列式满足:
d e t ( A ) = d e t ( A ⊤ ) = d e t ( − A ) = ( − 1 ) n d e t ( A ) (3.1) det(A) = det(A^\top)=det(-A)=(-1)^ndet(A) \tag{3.1} det(A)=det(A)=det(A)=(1)ndet(A)(3.1)

  • 如果n是奇数,行列式等于0。这个结果叫雅克比定理。
  • 若n是偶数,行列式可以写成部分元素的多项式的平方,这个称为Pfaffian行列式。

4. 反对称矩阵的乘法

4.1 反对称矩阵连乘

假设向量 a = [ a 1 , a 2 , a 3 ] ⊤ a = [a_1,a_2,a_3]^\top a=[a1,a2,a3],其为单位向量,即 a 1 2 + a 2 2 + a 3 2 = 1 \sqrt{a^2_1 + a^2_2 + a^2_3} = 1 a12+a22+a32 =1,则易推出:
a ∧ a ∧ = a a ⊤ − I (4.1) a^\wedge a^\wedge = aa^\top - I \tag{4.1} aa=aaI(4.1)
继续连乘:
a ∧ a ∧ a ∧ = − a ∧ (4.2) a^\wedge a^\wedge a^\wedge = -a^\wedge \tag{4.2} aaa=a(4.2)
更多的连乘可以用以上规律进行推导。

4.2 反对称矩阵与矩阵相乘

定义向量 u = ( u 1 , u 2 , u 3 ) ⊤ u = (u_1, u_2, u_3)^\top u=(u1,u2,u3)和任意矩阵C,则有如下公式成立:
( C u ) ∧ = C u ∧ C ⊤ (4.3) (Cu)^\wedge = Cu^\wedge C^\top \tag{4.3} (Cu)=CuC(4.3)

5. 反对称矩阵的加法

设有向量 a = [ a 1 , a 2 , a 3 ] ⊤ a = [a_1,a_2,a_3]^\top a=[a1,a2,a3] b = [ b 1 , b 2 , b 3 ] ⊤ b = [b_1,b_2,b_3]\top b=[b1,b2,b3],则有运算:
a ∧ + b ∧ = ( a + b ) ∧ (5.1) a^\wedge + b^\wedge = (a+b)^\wedge \tag{5.1} a+b=(a+b)(5.1)

6. 无穷小旋转

斜对称矩阵形成了正交群O(n)在单位矩阵的切空间。在某种意义上,斜对称矩阵可以视无穷小旋转
另外一种说法是,斜对称矩阵的空间形成了李群O(n)的李代数o(n)。这个空间上的李括号由交换子给出:
[ A , B ] = A B − B A (6.1) [A,B] = AB -BA \tag{6.1} [A,B]=ABBA(6.1)
很容易验证,两个斜对称矩阵的交换子也是斜对称的。
于是,斜对称矩阵A矩阵指数,是正交矩阵R
R = e x p ( A ) = ∑ n = 0 ∞ A n n ! (6.2) R =exp(A) = \sum^\infty_{n=0} \frac{A^n}{n!} \tag{6.2} R=exp(A)=n=0n!An(6.2)
李代数的指数映射的像总是位于含有单位元的李群的连通分支内。在李群O(n)的情况中,这个连通分支是特殊正交群SO(n),由所有行列式为1的正交矩阵组成。因此_R_ = exp(A)的行列式为+1。于是,每一个行列式为1的正交矩阵都可以写成某个斜对称矩阵的指数。

参考:
https://en.wikipedia.org/wiki/Skew-symmetric_matrix

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值