SO(2)中exp映射类罗德里格斯公式:泰勒展开证矩阵指数
推导SO(2)矩阵指数:从反对称矩阵到旋转矩阵
嘿,我来帮你一步步完成这个推导,和你熟悉的SO(3)思路本质是一样的,只是SO(2)的循环规律更简单~
第一步:先找Aθ的幂次规律
首先,我们先把Aθ写出来:
Aθ = θ * A = θ * [[0, -ω], [ω, 0]] = [[0, -ωθ], [ωθ, 0]]
为了简化计算,我们令φ = ωθ,这样Aθ就变成[[0, -φ], [φ, 0]]。接下来我们计算它的几次幂,找循环规律:
- 一次幂:
(Aθ)^1 = [[0, -φ], [φ, 0]] - 二次幂:做矩阵乘法:
这里(Aθ)^2 = [[0, -φ], [φ, 0]] * [[0, -φ], [φ, 0]] = [[-φ², 0], [0, -φ²]] = -φ²II是2x2单位矩阵[[1,0],[0,1]] - 三次幂:用二次幂乘一次幂:
(Aθ)^3 = (Aθ)^2 * Aθ = -φ²I * Aθ = -φ²(Aθ) - 四次幂:用三次幂乘一次幂:
(Aθ)^4 = (Aθ)^3 * Aθ = -φ²(Aθ)*Aθ = -φ²*(Aθ)^2 = -φ²*(-φ²I) = φ⁴I
看到规律了吧?偶数次幂是单位矩阵的正负倍数,奇数次幂是Aθ的正负倍数,总结一下:
- 当
k为偶数,k=2n时:(Aθ)^k = (-1)^n φ^(2n) I - 当
k为奇数,k=2n+1时:(Aθ)^k = (-1)^n φ^(2n) Aθ
第二步:代入泰勒展开式拆分项
我们已知矩阵指数的泰勒展开:
e^(Aθ) = Σ_{k=0}^∞ (Aθ)^k / k! = I + (Aθ)/1! + (Aθ)^2/2! + (Aθ)^3/3! + (Aθ)^4/4! + ...
现在把刚才找到的幂次规律代入,把展开式拆成**偶数项(含单位矩阵I)和奇数项(含Aθ)**两组:
第一组:偶数项(k=0,2,4,...)
Σ_{n=0}^∞ (Aθ)^(2n)/(2n)! = Σ_{n=0}^∞ (-1)^n φ^(2n) I/(2n)! = I * Σ_{n=0}^∞ (-1)^n φ^(2n)/(2n)!
而这个级数正好是余弦函数的泰勒展开:Σ_{n=0}^∞ (-1)^n φ^(2n)/(2n)! = cosφ,所以这一组就是cosφ * I = cos(ωθ) * [[1,0],[0,1]]
第二组:奇数项(k=1,3,5,...)
Σ_{n=0}^∞ (Aθ)^(2n+1)/(2n+1)! = Σ_{n=0}^∞ (-1)^n φ^(2n+1) Aθ/(2n+1)! = Aθ * Σ_{n=0}^∞ (-1)^n φ^(2n)/(2n+1)!
整理一下这个级数:Σ_{n=0}^∞ (-1)^n φ^(2n)/(2n+1)! = (1/φ) * Σ_{n=0}^∞ (-1)^n φ^(2n+1)/(2n+1)!,而后面的级数是正弦函数的泰勒展开:Σ_{n=0}^∞ (-1)^n φ^(2n+1)/(2n+1)! = sinφ,所以这一组就是(sinφ/φ) * Aθ
第三步:合并两组得到最终结果
现在把两组加起来:
e^(Aθ) = cosφ * I + (sinφ/φ) * Aθ
把φ=ωθ和Aθ=[[0,-ωθ],[ωθ,0]]代回去:
e^(Aθ) = cos(ωθ)*[[1,0],[0,1]] + (sin(ωθ)/(ωθ))*[[0,-ωθ],[ωθ,0]]
做矩阵乘法和加法:
- 左上角元素:
cosωθ + 0 = cosωθ - 右上角元素:
0 + (sinωθ/(ωθ))*(-ωθ) = -sinωθ - 左下角元素:
0 + (sinωθ/(ωθ))*(ωθ) = sinωθ - 右下角元素:
cosωθ + 0 = cosωθ
最终就得到了:
e^(Aθ) = [[cosωθ, -sinωθ], [sinωθ, cosωθ]]
是不是和SO(3)的推导思路一致?都是先找到矩阵幂次的循环规律,再把泰勒展开拆成对应三角函数的级数,最后合并得到旋转矩阵~
内容的提问来源于stack exchange,提问作者Anna
相关产品推荐
相关产品推荐

