- Matlab 处理 矩阵分解与若尔当标准形
- 数学是很难的一种东西
- 我们暂且不要关心文章里面一些东西的严谨性
矩阵代数中的名词对照
- Unitary Matrix
- 酉矩阵
- 幺正矩阵
- 厄米共轭矩阵等于其逆阵的矩阵
矩阵分解
Cholesky decompose
- 对于 对称正定矩阵A
- A = R^T R
- R 具有正的对角元的上三角阵
- A = R^T R
- matlab 指令
- R = chol(A)
LU decompose
- 将矩阵A 分解为 下三角矩阵L 和 上三角矩阵U 的乘积
- A = LU
- matlab 指令
- [L, U] = lu(A)
LDM decompose and LDL decompose
- LDM 分解
- A = L D M^T
- L, M 单位下三角矩阵(对角线上元素为1)
- D 对角矩阵
- 警告: matlab 没有内置的支持这种运算的函数
- A = L D M^T
- LDL 分解
- A = L D L^T
- 警告: matlab 没有内置的支持这种运算的函数
QR decompose
- 正交三角分解
- A = QR
- Q 正交矩阵
- R 上三角矩阵
- A = QR
- matlab 指令
- [Q, R] = qr(A)
SVD decompose
- 使得
- A_{m * n} = U_{m * m} S V^{T}_{n * n}
- U 和 V 均为酉矩阵
- S
- m = n : S 为一对角矩阵
- m != n : S 很难描述啊,也是一个对角线上的零
- A_{m * n} = U_{m * m} S V^{T}_{n * n}
- matlab 指令
- [U, S, V] = svd(A)
Schur decompose (when eigvalues in Real number field )
- 上三角矩阵T称为舒尔矩阵如果
- 对于一个方阵 A
- 找到一个酉矩阵 U
- 使得 U^{H} A U = T
- {H} 表示转置共轭
- 能证明T的对角元素为矩阵A的特征值
- matlab 指令
- [U, T] = schur(A)
- Schur decompose (when eigvalues in Real number field )
- [U, T] = schur(A, "complex")
Hessenberg decompose
- 矩阵的第一子对角线下的元素都为零(第二子对角线上的元素都为零)称为(上)Hessenberg matrix
- 其转置称为 下 Hessenberg matrix
- matlab 指令
- H = hess(A)
- [P, H] = hess(A)
- 其中 A = P H P' , P'P = I
若尔当标准形
- 若尔当块
- 若尔当标准形
- matlab 指令
- [P, J] = jordan(A)
- 其中P(不唯一)使得 P^{-1} A P = J