24小时热门版块排行榜    

查看: 4304  |  回复: 10

virtualzx

木虫 (著名写手)

引用回帖:
10楼: Originally posted by luzongxing at 2013-12-27 04:56:54
我说说的的理解你看对不对。
Q=logm(R)去矩阵的对数,我还不知道有啥用。
A^T - A是斜对称矩阵。
所以Qsym=1/2*(Q-Q.')是构建斜对称矩阵,但是为什么要乘以1/2,还有那个逆前面为什么要加一个点?
如果X是斜对称 ...

矩阵指数和对数是反函数。这和你进行傅里叶变换,然后在频率空间里取出一些高频信号,再换回来基本是一个意思。

正常情况下,有一个正交矩阵,那么Q=logm(R)就得到一个斜对称矩阵Q。而这个矩阵Q求指数expm(Q)就又得到矩阵R本身。
但是R完全是一个正交矩阵,因此Q也只是接近斜对称。点和撇在一起“  .' ”是是转置符号,Q.'等价于transpose(Q)。如果Q是斜对称,应该有Q.'=-Q
现实中这两个不完全相等,而是有一个小误差。这里,求这两个矩阵的平均Qsym=1/2(Q.'-Q)就可以得到一个斜对称矩阵了,因为
Qsym.'=(1/2(Q.'-Q)).'  =  1/2 (Q.').'-1/2 Q.'=1/2(Q-Q.')  =  - Qsym
至于系数1/2,如果Q本身已经是斜对称矩阵,则Qsym应当等于Q;只有加上系数1/2才能满足这个要求。更严格的来说,斜对称矩阵关于转置操作的特征标是-1,这个操作等价于在矩阵上施加了一个反对称表象的群投影算符;系数1/2是因为矩阵转置操作构成的群的阶是2。

这样得到一个和Q几乎相等的斜对称矩阵Qsym。通过这个矩阵的指数形式就得到和R最相近的正交矩阵了。

R没法直接进行这个操作,因为正交矩阵不是一个线性性质,两个正交矩阵的线性组合一般不是正交矩阵(但是乘积是正交矩阵)。
其实不止一个方法可以正交化,但是这个数学结构上比较简单。其他方法包括在复数域上进行特征值分解再将所有特征值的模调整为1,或者求出R^T.R然后对其进行Cholesky decomposition,在用分解得到的矩阵的逆作用在R上。
至于为什么先想到这个方法,主要还是因为旋转的特殊正交矩阵构成比较著名的李群SO(3),于是就想到了它的李代数是斜对称矩阵吧。
11楼2013-12-28 00:05:27
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 luzongxing 的主题更新
信息提示
请填处理意见