矩阵的 QR 分解

QR 分解将具有线性无关列的矩阵分解为具有标准正交列的矩阵与上三角矩阵的乘积。构建此因式分解的标准工具是格拉姆-施密特过程。

具有标准正交列的矩阵

如果一组向量中的每个向量的长度(或范数)为 \( 1 \),且每个向量与集合中其他所有向量都正交,则称该向量组为标准正交的。

列向量构成标准正交集矩阵 \( Q \) 满足:

\[ Q^T Q = I_n \]

其中 \( Q^T \) 是 \( Q \) 的转置,\( I_n \) 是 \( n \times n \) 单位矩阵。

注意: 如果 \( Q \) 还是方阵(\( m = n \)),则 \( Q \) 是正交矩阵,且 \( Q^{-1} = Q^T \)。但在 QR 分解中,\( Q \) 通常是高瘦的(\( m > n \)),所以 \( Q^T Q = I_n \) 成立,而 \( Q Q^T \) 不等于 \( I_m \)。

QR 分解

一个 \( m \times n \) 矩阵 \( A \),其列向量线性无关,可以分解为

\[ A = Q R \]

其中

唯一性: 如果 \( A \) 具有满列秩且我们要求 \( R \) 的对角元素为正,则 QR 分解是唯一的。

格拉姆-施密特过程

步骤

  1. 步骤 1 — \(A\) 的列。 将 \( A \) 写成列向量: \[ A = [\mathbf{v}_1 \; \mathbf{v}_2 \; \cdots \; \mathbf{v}_n]. \]
  2. 步骤 2 — 格拉姆-施密特。 使用格拉姆-施密特过程从 \( \mathbf{v}_1, \mathbf{v}_2, \dots, \mathbf{v}_n \) 生成标准正交集 \( \mathbf{q}_1, \mathbf{q}_2, \dots, \mathbf{q}_n \)。
  3. 步骤 3 — 构建 \(Q\) 和 \(R\)。 以 \( \mathbf{q}_i \) 为列构成 \( Q \),并计算 \[ R = Q^{T} A. \]

为什么 \( R = Q^T A \)? 在 \( A = QR \) 两边左乘 \( Q^T \): \( Q^T A = Q^T Q R \)。由于 \( Q^T Q = I_n \),这简化为 \( Q^T A = R \)。

为什么 \(R\) 是上三角矩阵。 根据构造,每个 \( \mathbf{q}_k \) 与 \( \operatorname{span}\{\mathbf{v}_1, \dots, \mathbf{v}_{k-1}\} \) 正交,所以对于 \( j > k \),\( \mathbf{q}_j \cdot \mathbf{v}_k = 0 \)。因此 \(R\) 中对角线以下的所有元素为零。

示例与解答

例 1 — \(3 \times 3\) 矩阵的 QR 分解

求以下矩阵的 QR 分解:

\[ A = \begin{bmatrix} 1 & 0 & 2 \\ 0 & 2 & 0 \\ 0 & -1 & 1 \end{bmatrix}. \]

查看例 1 的解答

步骤 1 — \(A\) 的列。

\[ \mathbf{v}_1 = \begin{bmatrix} 1 \\ 0 \\ 0 \end{bmatrix}, \quad \mathbf{v}_2 = \begin{bmatrix} 0 \\ 2 \\ -1 \end{bmatrix}, \quad \mathbf{v}_3 = \begin{bmatrix} 2 \\ 0 \\ 1 \end{bmatrix}. \]

步骤 2 — 格拉姆-施密特。

第一个向量(已是单位向量):

\[ \mathbf{q}_1 = \frac{\mathbf{v}_1}{\|\mathbf{v}_1\|} = \begin{bmatrix} 1 \\ 0 \\ 0 \end{bmatrix}. \]

第二个向量:\( \mathbf{v}_2 \cdot \mathbf{q}_1 = 0 \),所以不需要投影。

\[ \mathbf{u}_2 = \mathbf{v}_2 = \begin{bmatrix} 0 \\ 2 \\ -1 \end{bmatrix}, \quad \|\mathbf{u}_2\| = \sqrt{5}, \quad \mathbf{q}_2 = \frac{1}{\sqrt{5}}\begin{bmatrix} 0 \\ 2 \\ -1 \end{bmatrix}. \]

第三个向量:将 \( \mathbf{v}_3 \) 投影到 \( \mathbf{q}_1 \) 和 \( \mathbf{q}_2 \) 上。

\[ \mathbf{v}_3 \cdot \mathbf{q}_1 = 2, \quad \mathbf{v}_3 \cdot \mathbf{q}_2 = \frac{1}{\sqrt{5}}[(2)(0) + (0)(2) + (1)(-1)] = -\frac{1}{\sqrt{5}}. \]

\[ \mathbf{u}_3 = \mathbf{v}_3 - 2\mathbf{q}_1 + \frac{1}{\sqrt{5}}\mathbf{q}_2 = \begin{bmatrix} 0 \\ 0 \\ 1 \end{bmatrix} + \frac{1}{5}\begin{bmatrix} 0 \\ 2 \\ -1 \end{bmatrix} = \begin{bmatrix} 0 \\ 2/5 \\ 4/5 \end{bmatrix}. \]

\[ \|\mathbf{u}_3\| = \frac{\sqrt{20}}{5} = \frac{2}{\sqrt{5}}, \quad \mathbf{q}_3 = \frac{1}{\|\mathbf{u}_3\|}\mathbf{u}_3 = \frac{\sqrt{5}}{2}\begin{bmatrix} 0 \\ 2/5 \\ 4/5 \end{bmatrix} = \begin{bmatrix} 0 \\ 1/\sqrt{5} \\ 2/\sqrt{5} \end{bmatrix}. \]

步骤 3 — 构建 \(Q\) 和 \(R\)。

\[ Q = \begin{bmatrix} 1 & 0 & 0 \\ 0 & \tfrac{2}{\sqrt{5}} & \tfrac{1}{\sqrt{5}} \\ 0 & -\tfrac{1}{\sqrt{5}} & \tfrac{2}{\sqrt{5}} \end{bmatrix}. \]

然后 \( R = Q^T A \):

\[ R = \begin{bmatrix} 1 & 0 & 0 \\ 0 & \tfrac{2}{\sqrt{5}} & -\tfrac{1}{\sqrt{5}} \\ 0 & \tfrac{1}{\sqrt{5}} & \tfrac{2}{\sqrt{5}} \end{bmatrix} \begin{bmatrix} 1 & 0 & 2 \\ 0 & 2 & 0 \\ 0 & -1 & 1 \end{bmatrix} = \begin{bmatrix} 1 & 0 & 2 \\ 0 & \sqrt{5} & -\tfrac{1}{\sqrt{5}} \\ 0 & 0 & \tfrac{2}{\sqrt{5}} \end{bmatrix}. \]

最终因式分解:

\[ A = QR = \begin{bmatrix} 1 & 0 & 0 \\ 0 & \tfrac{2}{\sqrt{5}} & \tfrac{1}{\sqrt{5}} \\ 0 & -\tfrac{1}{\sqrt{5}} & \tfrac{2}{\sqrt{5}} \end{bmatrix} \begin{bmatrix} 1 & 0 & 2 \\ 0 & \sqrt{5} & -\tfrac{1}{\sqrt{5}} \\ 0 & 0 & \tfrac{2}{\sqrt{5}} \end{bmatrix}. \]

例 2 — \(4 \times 3\) 矩阵的 QR 分解

求以下矩阵的 QR 分解:

\[ A = \begin{bmatrix} 0 & 1 & 0 \\ 0 & 1 & 2 \\ -1 & 0 & 1 \\ 0 & -1 & 1 \end{bmatrix}. \]

查看例 2 的解答

步骤 1 — \(A\) 的列。

\[ \mathbf{v}_1 = \begin{bmatrix} 0 \\ 0 \\ -1 \\ 0 \end{bmatrix}, \quad \mathbf{v}_2 = \begin{bmatrix} 1 \\ 1 \\ 0 \\ -1 \end{bmatrix}, \quad \mathbf{v}_3 = \begin{bmatrix} 0 \\ 2 \\ 1 \\ 1 \end{bmatrix}. \]

步骤 2 — 格拉姆-施密特。

第一个向量(已是单位向量):

\[ \mathbf{q}_1 = \begin{bmatrix} 0 \\ 0 \\ -1 \\ 0 \end{bmatrix}. \]

第二个向量:\( \mathbf{v}_2 \cdot \mathbf{q}_1 = 0 \),所以不需要投影。

\[ \mathbf{q}_2 = \frac{1}{\sqrt{3}}\begin{bmatrix} 1 \\ 1 \\ 0 \\ -1 \end{bmatrix}. \]

第三个向量:\( \mathbf{v}_3 \cdot \mathbf{q}_1 = -1 \) 且 \( \mathbf{v}_3 \cdot \mathbf{q}_2 = \tfrac{1}{\sqrt{3}} \)。所以:

\[ \mathbf{u}_3 = \mathbf{v}_3 - (-1)\mathbf{q}_1 - \tfrac{1}{\sqrt{3}}\mathbf{q}_2 = \begin{bmatrix} 0 \\ 2 \\ 1 \\ 1 \end{bmatrix} + \begin{bmatrix} 0 \\ 0 \\ -1 \\ 0 \end{bmatrix} - \frac{1}{3}\begin{bmatrix} 1 \\ 1 \\ 0 \\ -1 \end{bmatrix} = \begin{bmatrix} -1/3 \\ 5/3 \\ 0 \\ 4/3 \end{bmatrix}. \]

\[ \|\mathbf{u}_3\| = \frac{\sqrt{42}}{3}, \quad \mathbf{q}_3 = \frac{3}{\sqrt{42}}\mathbf{u}_3 = \begin{bmatrix} -1/\sqrt{42} \\ 5/\sqrt{42} \\ 0 \\ 4/\sqrt{42} \end{bmatrix}. \]

步骤 3 — 构建 \(Q\) 和 \(R\)。

\[ Q = \begin{bmatrix} 0 & \tfrac{1}{\sqrt{3}} & -\tfrac{1}{\sqrt{42}} \\ 0 & \tfrac{1}{\sqrt{3}} & \tfrac{5}{\sqrt{42}} \\ -1 & 0 & 0 \\ 0 & -\tfrac{1}{\sqrt{3}} & \tfrac{4}{\sqrt{42}} \end{bmatrix}. \]

然后 \( R = Q^T A \):

\[ R = \begin{bmatrix} 1 & 0 & -1 \\ 0 & \sqrt{3} & \tfrac{1}{\sqrt{3}} \\ 0 & 0 & \sqrt{\tfrac{14}{3}} \end{bmatrix}. \]

最终因式分解:

\[ A = QR = \begin{bmatrix} 0 & \tfrac{1}{\sqrt{3}} & -\tfrac{1}{\sqrt{42}} \\ 0 & \tfrac{1}{\sqrt{3}} & \tfrac{5}{\sqrt{42}} \\ -1 & 0 & 0 \\ 0 & -\tfrac{1}{\sqrt{3}} & \tfrac{4}{\sqrt{42}} \end{bmatrix} \begin{bmatrix} 1 & 0 & -1 \\ 0 & \sqrt{3} & \tfrac{1}{\sqrt{3}} \\ 0 & 0 & \sqrt{\tfrac{14}{3}} \end{bmatrix}. \]

更多参考与链接