简介
矩阵指数将标量指数运算扩展到矩阵. 在矩阵李群的语境下, 指数映射由幂级数定义, 与矩阵指数一致, 矩阵指数就是李群的指数映射 (Exponential Map), 是李群与李代数之间的桥梁.
定义
给定一个矩阵 A, 其矩阵指数 eA 基于幂级数展开的定义:
eA=k=0∑∞k!Ak=I+A+2!A2+3!A3+⋯
其中 Ak 表示矩阵 A 的 k 次幂.
这个定义完全平行于实数指数函数, 因此称为"矩阵指数" .
李代数版本的描述
若 A 属于某个矩阵李代数 g, 那么:
exp:g→G,exp(A)=eA
就是李群的指数映射. 例如:
- A∈so(3) → exp(A)∈SO(3)
- A∈su(n) → exp(A)∈SU(n)
几何意义
矩阵指数连接"无穷小变化" 和"有限变换" :
- 在李代数 g 中, A 表示"速度" 或"生成元" ;
- 在李群 G 中, eA 表示"运动" 或"有限变换" .
直观地说:
**"求导操作在积分下变成指数操作" **
如果 A 是一个"角速度矩阵" , 那么 etA 表示"旋转 t 秒后的姿态" .
在指数导数中:
etdxdf(x)=f(x+t)
正是此思想的最简单实例:
导数算符 dxd (李代数元素) 通过指数映射生成平移 (李群元素) .
性质
- 幂级数收敛: 矩阵指数的级数在有限维矩阵上总是收敛.
- 与标量指数的关系: 如果 A 是对角矩阵, 其矩阵指数等于对角元素的标量指数.
- 乘积性质: 对于一般矩阵 A,B, 仅有在 AB=BA 时, eAeB=eA+B 才成立.
- 特殊情况:
- 当 A 为对称矩阵时, eA 是正定矩阵
- 当 A 为反对称矩阵时, eA 是正交矩阵O(n).
推导
由于计算矩阵指数首先需要计算若干个A的n次幂, 很容易想到对A进行对角化. 为了理解为什么对角化能够将指数运算放到矩阵的对角线中, 我们需要从矩阵指数的定义和对角化的性质开始.
一个矩阵 A 如果是可对角化的, 那么存在一个可逆矩阵 P 和一个对角矩阵 D, 使得:
A=PDP−1
其中, D 是一个对角矩阵, 其对角线元素是 A 的特征值.
通过对角化, 矩阵 A 的幂可以表示为:
Ak=(PDP−1)k=(PDP−1)⋅(PDP−1)⋅⋯⋅(PDP−1)
其中有 k 个 PDP−1.
矩阵乘法满足结合律, 因此可以先对部分括号内的矩阵相乘
(PDP−1)(PDP−1)=P(DP−1P)DP−1.
由于P−1P=I 是单位矩阵, 因此:
(PDP−1)k=PDkP−1.
因此, 矩阵 A 的指数可以表示为:
eA=k=0∑∞k!Ak=k=0∑∞k!(PDP−1)k=k=0∑∞k!PDkP−1
矩阵乘法满足结合律, 而求和运算本质上是多次加法, 因此P 和 P−1 作为求和项的外部因子, 不会受到求和运算的影响, 可以将它们移到求和符号之外:
eA=P(k=0∑∞k!Dk)P−1
对角矩阵 D 的指数比较简单, 因为 D 的幂 Dk 也是一个对角矩阵, 其对角线元素是原对角线元素的幂:
D=λ10⋮00λ2⋮0⋯⋯⋱⋯00⋮λn
Dk=λ1k0⋮00λ2k⋮0⋯⋯⋱⋯00⋮λnk
因此,
k=0∑∞k!Dk=∑k=0∞k!λ1k0⋮00∑k=0∞k!λ2k⋮0⋯⋯⋱⋯00⋮∑k=0∞k!λnk=eλ10⋮00eλ2⋮0⋯⋯⋱⋯00⋮eλn
即:
eD=eλ10⋮00eλ2⋮0⋯⋯⋱⋯00⋮eλn
回到之前的矩阵指数表达式:
eA=P(k=0∑∞k!Dk)P−1=PeDP−1
由于 eD 是一个对角矩阵, 其对角线元素是 A 的特征值的指数, 因此 eA 可以通过对角化后在对角线上进行指数运算, 再通过相似变换回到原矩阵的基底上.
总结
若 A 可对角化, 即 A=PDP−1, 则
eA=PeDP−1,
其中 D=diag(λi),
eD=diag(eλi).
若 A 不可对角化, 可使用 Jordan 标准形或帕德近似求解.
这一形式说明: 矩阵指数将"线性组合的幂" 转化为"特征值的指数" , 是矩阵对角化思想的自然延伸.
计算
计算矩阵指数的常见方法有以下几种:
1. 幂级数展开 (Power Series Expansion)
矩阵指数 eA 可以通过幂级数展开计算:
eA=k=0∑∞k!Ak
2. 对角化 (Diagonalization)
如果矩阵 A 是对角化的, 即 A=PDP−1, 其中 D 是对角矩阵, 则:
eA=PeDP−1
其中 eD 是对角矩阵, 其对角元素是 D 的对角元素的指数.
如果矩阵 A 不能对角化, 但可以转换为 Jordan 标准形 A=PJP−1, 则:
eA=PeJP−1
其中 J 是 Jordan 标准形, eJ 的计算稍微复杂, 但可以通过分块矩阵的方式计算.
4. 帕德近似 (Padé Approximation)
帕德近似是一种用有理函数逼近指数函数的方法, 可以在计算中取得很好的效果. 特别是在数值计算中, 帕德近似通常结合尺度和平方 (Scaling and Squaring) 方法来计算矩阵指数.
5. 数值算法
常用的数值算法包括 Scipy 和 Matlab 中提供的库函数. 例如在 Python 中, 可以使用 Scipy 库计算矩阵指数:
import numpy as np
from scipy.linalg import expm
A = np.array([[0, 1], [-1, 0]])
exp_A = expm(A)
print(exp_A)
这种方法已经对于大型矩阵优化了计算过程.
示例
计算矩阵 A 的矩阵指数eA. 其中
A=[0−110]
- 幂级数展开
矩阵 A 的幂具有以下规律:
A1=A,A2=−I,A3=−A,A4=I.
根据这一周期性, 矩阵指数的级数可以分为偶数项和奇数项:
eA=(I+2!A2+4!A4+⋯)+(A+3!A3+5!A5+⋯).
k=0∑∞(2k)!(−1)kI=cos(1)I.
k=0∑∞(2k+1)!(−1)kA=sin(1)A.
因此:
eA=cos(1)I+sin(1)A.
- 对角化法
矩阵 A 的特征值为 ±i, 可对角化(过程略):
A=P[i00−i]P−1.
矩阵指数为:
eA=P[ei00e−i]P−1.
代入 ei=cos(1)+isin(1), 结果与幂级数展开方法一致.
李群李代数方法
设二维旋转矩阵
A=[0−110],A2=−I.
则
eA=I+A+2!A2+3!A3+⋯=cos(1)I+sin(1)A=[cos(1)−sin(1)sin(1)cos(1)].
这是旋转群 SO(2) 的一个元素, 说明 A∈so(2) 的指数映射确实落在 SO(2) 中.
应用
- 线性常微分方程的解: 对于形如 x˙=Ax 的线性常微分方程, 解可以写成 x(t)=eAtx(0), 其中 eAt 是矩阵 A 的指数矩阵.
- 控制理论: 在离散时间控制系统中, 状态转移可以用指数矩阵eAΔt表示: x[k+1]=eAΔtx[k], 其中 Δt 是时间步长.
- 量子力学: 单位时间演化算符可以用哈密顿算符的指数矩阵表示: U(t)=e−iHt.
- 图像处理: 在计算机视觉中, 指数矩阵用于图像滤波和变换, 如高斯卷积, 谱滤波.
- 刚体运动与机器人学: SO(3), SE(3) 的姿态更新.
总结
矩阵指数既是线性代数的工具, 又是李群的"指数映射" :
层次 | 数学对象 | 作用 | 示例 |
---|
线性代数 | 矩阵 A | 将幂级数定义推广至矩阵 | eA |
李代数 | 无穷小生成元 A∈g | 局部结构 | A 表示角速度或生成元 |
李群 | 光滑群 G | 全局变换 | eA∈G |
算符理论 | 导数算符 dxd | 平移算符 | etdxdf(x)=f(x+t) |
因此, "矩阵指数" 是连接线性代数与微分几何的关键桥梁:
从局部导数出发, 经指数映射抵达全局变换.