矩阵分解
具有特殊结构和性质的矩阵
数学中常见的具有特殊结构的矩阵
方阵
行数与列数都等于n 的叫做n阶方阵
- 只有方阵才可以计算行列式
- 方阵才有逆矩阵,且方阵有逆矩阵当且仅当方阵满秩
- 只有方阵才有伴随矩阵
- 只有方阵才有特征值与特征向量
对称矩阵
矩阵A是对称矩阵当且仅当
正(半)定矩阵
对角矩阵
非对角元素都为零元素的方阵叫做对角矩阵
三角矩阵
三角矩阵是对角元下方或对角元上方全是0的方阵
- 三角矩阵主对角线上元素均非零 $\Leftrightarrow$ 三角矩阵可逆
- 上三角、下三角矩阵的乘积还是上、下三角矩阵
- 上、下三角矩阵可逆则其逆矩阵也是上、下三角矩阵
- 设矩阵 A 为三角矩阵,那么 矩阵 $A^k$ 主对角线上的元素满足 $(A^k)_{ii} =(A_ii)^k,i=1,2\cdots,n$
正交矩阵
正交矩阵指行向量和列向量是分别标准正交的方阵即
所以, $A^{-1} = A^T$
如果矩阵 $U\in \mathbb R^{m\times m},V\in\mathbb R^{n\times n} $ 是正交矩阵, $M\in \mathbb R^{m\times n},x\in \mathbb R^m$
Dyads(并向量或单纯矩阵或秩1矩阵)
矩阵 $A\in \mathbb R^{m\times n}$ 具有如下形式:
其中向量 $u\in \mathbb R^m,v\in \mathbb R^n$ ,则称其为dyad,也称并向量或单纯矩阵。如果 u 和 v 不为0,则我们称其为 秩1矩阵
LU 分解
LU 分解指将$n\times n$ 的矩阵A分解成两个三角矩阵的乘积
其中, L 为 $n\times n$ 单位下三角矩阵(对角元素为1),U 是 $n\times n$ 上三角矩阵。
从秩1分解的角度分析 $A=LU$ , 可以将 A 写成若干个 秩1矩阵和的形式:
其中r为矩阵A的秩,若A是满秩,则 $r=n$ 。 $l_i$ 是 $L$ 的第$i$列;$u_i$ 是 $U$ 的第$i$行。 $l_iu_i$ 都是秩为1的矩阵,并且这个矩阵的前 $i-1$行和前$i-1$列的元素都是0
求矩阵A
的LU分解
我们要像剥洋葱一样一层一层地分解矩阵A,同时要记得 L 的对角线都是1
- 第一步
令 $u1$ 是 A 的第1行,$l_1$ 是A的第1列 除以 $u{11}$ ,则:
- 第二步
令 $u2$ 是 $A-l_1 u_1$ 的第2行,$l_2$ 是 $A-l_1u_1$ 的第二列除以$u{22}$
- 第三步
令$u3$ 是$A-l_1u_1-l_2u_2$ 的第3行,$l_3$ 是 $A-l_1u_1-l_2u_2$ 的第3列除以$u{33}$ 即
- 第四步,我们要把$l_1,l_2,l_3$ 相加得到$L$ ,$u_1,u_2,u_3$ 相加得到$U$
QR 分解
QR分解指将矩阵A分解成列正交矩阵和上三角矩阵的乘积,形式如下:
其中 Q 是列正交矩阵,R是上三角矩阵。 $q_i$ 是 $Q$ 的列向量,$r_i$ 是 $R$ 的行向量。 且 $q_ir_i$ 的前 $i-1$ 列都为0。
矩阵的QR分解可以通过 Gram-Schmidt 正交化,Household 变换,Givens变换等方法实现
Gram-Schmidt 正交化法
首先要求出单位化后的特征向量。我们定义投影操作为: $proj_u= \frac{}{}u$, 也就是获取a在u方向上的分量
对于一个满秩矩阵:$A=[a_1,\cdots,a_n]$
矩阵A的QR分解就可以写为:
和
分解方阵
我们先用正交化方法可得:其中$q_i$代表标准化后的 $b_i$
现在来计算标准化后的矩阵:
因此,
谱分解
设对称矩阵A为n阶方阵,如果A可以被分解为$A=Q\Lambda Q^T$ , 其中 $Q=[q_1,q_2,\cdots,q_n]$ 是由特征向量 $q_1,q_2\cdots,q_n$ 组成的n阶方阵, $\Lambda = diag(\lambda_1,\lambda_2,\cdots,\lambda_n)$ 是由特征值$\lambda_1,\lambda_2\cdots,\lambda_n$ 组成的n阶对角矩阵,则这种分解叫做对称矩阵的谱分解或者特征分解
求解对称方程 $A\in \mathbb R^{n\times n}$ 的特征分解步骤
计算矩阵A的特征值$\lambda_1\cdots,\lambda_n$ 即 求特征方程 $|A-\lambda I| = 0$ 的n个根
求特征值对应的n个相互正交的特征向量 $q_1,\cdots,q_n$即求解方程组并单位化
记矩阵 $Q=(q_1,\cdots,q_n)$
最终得到矩阵A的特征分解为
求实对称矩阵的特征分解
- 首先我们计算特征向量
特征值:$\lambda_1=3,\lambda_2=1$
带入求解并单位化: $q_1 = (\frac{1}{\sqrt 2},\frac{1}{\sqrt 2})^T,q_2 = (-\frac{1}{\sqrt2},\frac{1}{\sqrt2})^T$
- 写出左特征向量方阵Q和特征值方阵 $\Lambda$
- $p=(\alpha_1,\alpha_2,\alpha_3),(p^{-1})^T=(\beta_1,\beta_2,\beta_3)$
A和$G_1,G_2$的关系就是谱分解
Cholesky 分解
设 $A = (a_{ij})\in R^{n\times n}$是对称正定矩阵, $A=GG^T$称为矩阵A的Cholesky 分解。 其中,$G\in R^{n\times n}$ 是一个具有正的对角线元素的下三角矩阵。
这样就得到了第一列元素
假设已经算出L的前 $k-1$ 列元素,通过 $a{kk} = \sum{i=1}^k l^2_{ki}$
得到:
进一步再由:
得到:
也就是可以通过L的前k-1列来求出第k列
一般来说只会让我们求3阶的矩阵分解,这时候要求六个元素
- 第一阶段,求 $l{11}=\sqrt{a{11}}$
- 再求第一列的两个元素: $l{21}=\frac{a{21}}{l{11}},l{31}=\frac{a{31}}{l{11}}$
- 第二阶段,求$l{22} = \sqrt{a{22}-l^2_{21}}$
- 求$l{32}=\frac{a{32}-l{31}l{21}}{l_{22}}$
- 第三阶段,求 $l{33}=\sqrt{a{33}-(l{31}^2+l^2{32})}$