QR分解
QR分解是将一个矩阵分解为一个正交矩阵Q和一个上三角矩阵R的乘积。也就是说,对于一个m×nm \times nm×n 的矩阵AAA,我们可以写成A=QRA = QRA=QR,其中:
- QQQ 是一个m×mm \times mm×m 的正交矩阵(Orthogonal Matrix),意味着QTQ=IQ^T Q = IQTQ=I(单位矩阵),并且QQQ 的列向量是标准正交基。
- RRR 是一个m×nm \times nm×n 的上三角矩阵(Upper Triangular Matrix)。如果AAA 是方阵,那么RRR 也是方阵。
为什么需要QR分解?
QR分解在数值线性代数中有着广泛的应用,例如:
- 求解线性方程组:当AAA 是可逆方阵时,Ax=bAx = bAx=b 可以变为QRx=bQRx = bQRx=b,即Rx=QTbRx = Q^T bRx=QTb。由于RRR 是上三角矩阵,可以使用回代法快速求解xxx。
- 最小二乘问题:QR分解是求解最小二乘问题的稳定方法。
- 特征值计算:QR算法是计算矩阵特征值的一种迭代方法。
QR分解的计算方法
主要有两种方法可以进行QR分解:
- Gram-Schmidt正交化 (Gram-Schmidt Orthogonalization)
- Householder变换 (Householder Transformation)
1. Gram-Schmidt正交化法
这是最直观理解QR分解的方法。它基于将矩阵AAA 的列向量进行Gram-Schmidt正交化,从而得到正交矩阵QQQ 和上三角矩阵RRR。
假设矩阵AAA 的列向量为a1,a2,…,an\mathbf{a}_1, \mathbf{a}_2, \ldots, \mathbf{a}_na1,a2,…,an,即A=[a1 a2 … an]A = [\mathbf{a}_1 \ \mathbf{a}_2 \ \ldots \ \mathbf{a}_n]A=[a1 a2 … an]。
步骤:
-
计算QQQ 的列向量(标准正交基):
- 第一步: 将a1\mathbf{a}_1a1 单位化,得到q1\mathbf{q}_1q1。
u1=a1\mathbf{u}_1 = \mathbf{a}_1u1=a1
q1=u1∥u1∥\mathbf{q}_1 = \frac{\mathbf{u}_1}{\|\mathbf{u}_1\|}q1=∥u1∥u1 - 第二步: 计算a2\mathbf{a}_2a2 在q1\mathbf{q}_1q1 上的投影,然后从a2\mathbf{a}_2a2 中减去这个投影,得到与q1\mathbf{q}_1q
- 第一步: 将a1\mathbf{a}_1a1 单位化,得到q1\mathbf{q}_1q1。

最低0.47元/天 解锁文章
665

被折叠的 条评论
为什么被折叠?



