机器人相关技术所涉及的数学理论【个人向】

机器人相关技术所涉及的数学理论【个人学习总结】

目录

本总结主要针对机器人方向,包括但是不限于机器人运动与导航、SLAM、刚体动力学等方面所涉及的数学理论。之后或许还会包括研究生课程上所涉及的部分数学学习。

一、矩阵求导之矩阵迹函数相关公式

在看这篇将矩阵求导总结的非常好的知乎文章时,发现涉及的矩阵迹的性质还很不熟悉,但是网上总结得还很少。比如下面这个公式
d f = t r d ( A B ) = t r d A ⋅ B + t r B ⋅ d A df = trd(AB)=trdA\cdot B+trB\cdot dA df=trd(AB)=trdAB+trBdA
我并不太清楚其推导(是他书写错了)。
矩阵迹公式总结 1

  1. 若A和B均为 n × n n\times n n×n的矩阵,则
    t r ( A ± B ) = t r ( A ) ± t r ( B )   . tr(A\pm B)=tr(A)\pm tr(B)\,. tr(A±B)=tr(A)±tr(B).

  2. c为复常数,则
    t r ( c A ) = c t r ( A )   tr(cA)=ctr(A)\, tr(cA)=ctr(A)

  3. 若A和B均为 n × n n\times n n×n的矩阵,c1和c2为复常数,则有
    t r ( c 1 A ± c 2 B ) = c 1 t r ( A ) ± c 2 t r ( B ) tr(c_1A\pm c_2B)=c_1tr(A)\pm c_2tr(B) tr(c1A±c2B)=c1tr(A)±c2tr(B)

  4. 转置: t r ( A T ) = t r ( A )   . tr(A^T)=tr(A)\,. tr(AT)=tr(A).

  5. 复数共轭: t r ( A ∗ ) = [ t r ( A ) ] ∗   . tr(A^*)=[tr(A)]^*\,. tr(A)=[tr(A)].

  6. 复共轭转置: t r ( A H ) = [ t r ( A ) ] ∗   . tr(A^H)=[tr(A)]^*\,. tr(AH)=[tr(A)].

  7. 若A为 m × n m\times n m×n的矩阵,B为 n × m n\times m n×m矩阵,则
    t r ( A B ) = t r ( B A ) tr(AB)=tr(BA) tr(AB)=tr(BA)
    更进一步地,有:
    t r ( A B C D ) = t r ( B C D A ) = t r ( C D A B ) = t r ( D A B C ) tr(ABCD)=tr(BCDA)=tr(CDAB)=tr(DABC) tr(ABCD)=tr(BCDA)=tr(CDAB)=tr(DABC)

  8. 若A和B均为 n × n n\times n n×n的矩阵,且B非奇异,有
    t r ( B A B − 1 ) = t r ( B − 1 A B ) = t r ( A ) tr(BAB^{-1})=tr(B^{-1}AB)=tr(A) tr(BAB1)=tr(B1AB)=tr(A)

  9. 若A为一个 m × n m\times n m×n的矩阵,则
    t r ( A H A ) = 0    ⟺    A = O m × n tr(A^HA)=0\iff A=O_{m\times n} tr(AHA)=0A=Om×n

  10. x H A x = t r ( A x x H ) x^HAx=tr(Axx^H) xHAx=tr(AxxH) y H x = t r ( x y H ) y^Hx=tr(xy^H) yHx=tr(xyH).

  11. 分块矩阵的迹:
    [ A B C D ] = t r ( A ) + t r ( D ) \begin{bmatrix} A & B\\ C & D \end{bmatrix}=tr(A)+tr(D) [ACBD]=tr(A)+tr(D)
    其中, A ∈ C m × m , B ∈ C m × n , C ∈ C n × m , D ∈ C n × n   . A\in C^{m\times m},B\in C^{m\times n},C\in C^{n\times m},D\in C^{n\times n}\,. ACm×m,BCm×n,CCn×m,DCn×n.

  12. t r ( A H A ) = t r ( A A H ) = ∑ i = 1 n ∑ i = 1 n a i j ∗ a j i   . tr(A^HA)=tr(AA^H)=\sum_{i=1}^n \sum_{i=1}^n a_{ij}^*a_{ji\,.} tr(AHA)=tr(AAH)=i=1ni=1naijaji.

  13. 迹等于特征值之和:
    t r ( A ) = ∑ i = 1 n λ i tr(A)=\sum_{i=1}^n\lambda_i tr(A)=i=1nλi

  14. 对于任何正整数k,有
    t r ( A k ) = ∑ i = 1 n λ i k tr(A^k)=\sum_{i=1}^n\lambda_i^k tr(Ak)=i=1nλik

二、Kalman Filter

Kalman Filter最初看的是师兄的笔记,比较形象有利于直观理解,但过程不够严谨,高博的证明2严谨性上要高一些(虽然也不是那种学院派的数学上的严谨)。

  1. 若随机变量 x ∼ N ( μ x + b + Σ x x ) x\sim N(\mu_x+b+\Sigma_{xx}) xN(μx+b+Σxx),另一个变量满足
    y = A x + b + w y=Ax+b+w y=Ax+b+w
    其中 w ∼ N ( 0 , R ) w\sim N(0,R) wN(0,R),则有 y y y的分布为
    p ( y ) = N ( A μ x + b , R + A Σ x x A T ) p(y)=N(A\mu_x+b,R+A\Sigma_{xx}A^T) p(y)=N(Aμx+b,R+AΣxxAT)

三、 Ceres最小二乘探析

1. 关于Dual number(对偶数):
Introduce:
计算机实现求导有一种近似方法,使用一个极小值获得导数的近似。
lim ⁡ h → 0 f ( x + h ) − f ( x ) h \lim_{h \to 0} \frac{f(x+h)-f(x)}{h} h0limhf(x+h)f(x)
h取很小的数就可以获得一个近似值。这种方法的缺陷是不精确。另一种方法是Dual number。Dual number的思想是重写基本函数(+,/,*等)。嵌入求导规则。Dual number的结构(a,b),a相当于普通数,而b则保存着导数。
性质3


  1. 参见张贤达著《矩阵分析与应用》。 ↩︎

  2. 《视觉SLAM十四讲:从理论到实践》 ↩︎

  3. https://ncatlab.org/nlab/show/dual+number ↩︎

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值