Skip to content

定理Theorem

QR 分解

QR factorization · QR decomposition · Economy-size QR

把长方矩阵分解为正交列与上三角因子,并区分经济型表示、数值算法和秩亏边界。

形式陈述 ​

设 A∈Fm×n 是一个有 m 行、n 列的矩阵,其中 F 为实数或复数域,且 m≥n。星号 ∗ 表示共轭转置,实数情形就是转置。经济型 QR 分解写作

A=QR,Q∈Fm×n,Q∗Q=In,R∈Fn×n 上三角.

当 A 满列秩时,Q 的列构成 col(A) 的正交规范基。

完整 QR 则把 Q 补成 m×m 酉矩阵 Qfull,并把 R 扩为 m×n 的 Rfull,其底部 m−n 行为零。两种形式重构同一个 A,但完整 Q 的列张成整个 Fm,不能说它与 A 总有相同列空间;公式出现 Q∗b 或 QQ∗ 时必须先说明采用哪一种。

每个 m≥n 的矩阵都有 QR 分解:按列正交化,若当前列扣除已有方向后非零,就归一化为新方向;若变成零,就补选一个与已有方向正交的单位向量。由于 m≥n,始终有足够的方向可补。这个存在性构造使用Gram–Schmidt 正交化,并说明秩亏不妨碍分解存在。若 A 满列秩,则 R 对角元均非零;再约定实情形 rii>0,或复情形将对角相位固定为正实数,可得到经济型分解的唯一性。秩亏时仍能分解,但 R 会奇异,唯一性消失。

稠密数值计算通常用Householder 反射。第 k 步对 Ak:m,k 构造反射,左乘后把对角线下方元素清零;一串反射向量隐式表示 Q,尾部更新最终产生 R。实 m×n 矩阵的分解主成本约为

2mn2−23n3

次浮点运算,存储可覆盖原矩阵的下三角区域。若第 k 步生成的反射扩充成保持前 k−1 个坐标不变的 m×m 矩阵 Hk,则 Qfull∗=Hr⋯H1。按生成顺序把 H1,H2,…,Hr 依次作用到 b,得到完整的 Qfull∗b;取前 n 个分量才是经济型的 Q∗b。两种操作都无须显式形成 Q。

输入是矩阵和可选的列置换策略,输出是反射向量、R 与置换信息。完成时应核对

‖A−QR‖‖A‖,‖Q∗Q−I‖,

相对重构式要求 A≠0;对零矩阵改用绝对重构误差。这是未置换列时的重构检查;若使用列置换,应检查 AP−QR。数值秩还需结合容差与秩揭示信息判断,不能把 R 对角直接当成奇异值。Householder QR 是后向稳定的标准稠密路线;classical Gram–Schmidt 在近相关列上可能严重丢失正交性,modified Gram–Schmidt 通常更好,但不能无条件替代 Householder 的稳定性保证。

直觉

Q 只负责重新选择一组不会放大 2-范数的正交坐标,R 则记录原列怎样在这些坐标中逐层展开。于是矩阵列之间难以直接观察的几何关系,被组织成“正交方向加三角依赖”;求解和投影随后都能沿三角结构完成。

满列秩时,经济型 Q 保存列空间需要的 n 个方向;秩亏时,它的列还包含为凑足 n 列而补出的方向。完整 Q 再补上经济型 Q 的列空间正交补中的 m−n 个方向。默认保存后者往往只是浪费;但若问题确实需要完整正交基,补全才有意义。

例子与边界

取

A=(101112).

先把第一列 (1,1,1)T 除以长度 3,得到 q1。第二列在 q1 上的投影系数为 q1∗a2=3,扣除投影后剩下 (−1,0,1)T;其长度为 2,归一化得到 q2。因此一个经济型分解为

Q=(1/3−1/21/301/31/2),R=(3302).

Q 是 3×2 而非方阵,却仍满足 Q∗Q=I2;QQ∗ 则是到 A 列空间的投影,不等于 I3。例如 z=(1,−2,1)T 同时垂直于两列,故 Q∗z=0、QQ∗z=0,而 I3z=z。这也解释了最小二乘中无法由列空间表达的那部分数据为何会留下残差。

若两列相同,第二个新方向为零,R 的第二个对角元也为零。浮点中“恰好为零”会变成“相对矩阵尺度很小”,数值秩因此需要容差与噪声模型,不能把一个固定阈值写成数学唯一常数。

列主元 QR 写成 AP=QR,每步比较变换后尾列的范数,通过优先处理较独立的列改善秩判断;保留块的最小奇异值与舍弃块的范数共同给出可检验的数值秩证书。求得置换后的参数 y 后,用 x=Py 恢复原顺序。平面旋转更适合只消去少数元素、维护稀疏结构或更新已有分解,但对一般稠密整列消去,Householder 是默认原语。

推论与应用

Gram–Schmidt给出 QR 的构造性几何证明,本页集中 full/economy 维度、Householder 实现、成本和有限精度差异。把 classical Gram–Schmidt 当作默认数值 QR,会把精确算术等价误写成稳定性等价。

随机化 SVD先对采样矩阵 Y=AΩ 正交化,再形成 QTA 做小矩阵分解。这里必须让 Q 恰好张成 Y 的列空间;若采样秩亏,不能把经济型 QR 为补齐列数而加入的方向当作样本捕获的方向。

满列秩最小二乘可在 QR 坐标中化为上三角系统;特征值 QR 算法和 Hessenberg 化也复用正交变换。使用成熟 LAPACK 接口时,分解、显式生成 Q、应用 Q 是不同操作,应只调用实际需要的部分。

若任务变成“在 Frobenius 范数下找离一个非奇异方阵最近的正交矩阵”,目标由极分解与 Newton 正交化解决。QR 的 Q 通常不是这个最近点;正对角上三角矩阵也可能需要一个非平凡的极因子。

参考资料
  • Lloyd N. Trefethen and David Bau III, Numerical Linear Algebra, SIAM, 1997, Lectures 7–10.
  • Nicholas J. Higham, Accuracy and Stability of Numerical Algorithms, 2nd ed., SIAM, 2002, Ch. 19.
  • Tobin A. Driscoll and Richard J. Braun, Fundamentals of Numerical Computation, Python online edition, §3.4 Computing QR factorizations, especially §3.4.2–3.4.3, accessed 2026.
  • LAPACK Users’ Guide, 3rd ed., SIAM, 1999, QR Factorization.
关系图谱19 个相邻概念 · 2 类关系

拖动节点调整位置。

显示关系

显示:依赖

  1. 前置三跳
  2. 前置二跳
  3. 前置一跳
  4. 当前条目
  5. 后续一跳
  6. 后续二跳
  7. 后续三跳
文字版关系按与当前条目的最短距离分组
类型化关系