形式陈述
对非零向量 ,定义 Householder 反射
矩阵 是到 的正交投影公理库正交投影Orthogonal projection把向量映到子空间上最近点并使误差与子空间正交的线性算子。,满足 与 。因此
在 方向上乘以 ,在 上保持不变;实数情形是关于超平面 的镜面反射,行列式为 。
给定 ,令
并取 ,便有
负相位选择使 与 同向相加,避免在构造 时让两个接近的数相减。输入向量 后,算法只需输出 、 和必要的缩放,而不必形成稠密 。
对任意向量 ,可按
以 成本应用反射;对尾部矩阵则是一次秩一更新。完成准则是 有效、结果有限,并核对目标向量除首分量外已降到舍入尺度。显式构造 的 再做矩阵乘法会把线性存储和秩一更新膨胀成不必要的稠密工作。
直觉
Gram–Schmidt 一次去掉一个已有方向的分量,Householder 反射则选择一面镜子,让整根向量在一次变换后与坐标轴重合。镜子保持长度和夹角,所以在连续施加反射时,不会主动放大 -范数误差;被“清零”的尾部也可以直接成为三角结构。
向量 不是额外的大矩阵,而是这面镜子的法向。保存一串反射向量,就等于紧凑保存一个复杂正交变换;只有读者确实需要 的每个元素时,才值得把它们显式展开。
例子与边界
对 ,取 和 ,得到
反射保持 ,却一次消去了第二分量。若后续只需把 作用到别的列,使用 的秩一公式即可。
若 已非常接近正的 方向,却错误选择 ,则 的首分量由两个近数相减得到,可能丢失大部分有效位;相反相位使其相加并保持可表示尺度。复数情形不能只取实数符号,还必须使用 的相位,否则目标首分量与消去公式不一致。
反射不是任意旋转。实 Householder 矩阵的行列式为 ,而纯旋转行列式为 ;两个反射的乘积才可能形成旋转。这个代数边界不妨碍它作为正交变换原语,却不能在几何描述中省略。
推论与应用
QR 分解公理库QR 分解QR factorization · QR decomposition · Economy-size QR把长方矩阵分解为正交列与上三角因子,并区分经济型表示、数值算法和秩亏边界。逐列使用 Householder 反射,把每列对角线下方的整段向量清零。相同原语还用于 Hessenberg 化、双对角化与许多特征值、奇异值算法,因为酉变换既保留范数,又适合用紧凑向量实现。
Gram–Schmidt公理库Gram–Schmidt 正交化Gram–Schmidt process把有限线性无关组逐步转化为张成同一子空间的正交规范组。仍是理解正交化与张成空间保持的直接方法;对于稠密数值 QR,Householder 通常提供更可靠的正交性。两种方法解决同一精确结构目标,却拥有不同计算图和舍入路径。
参考资料
- Lloyd N. Trefethen and David Bau III, Numerical Linear Algebra, SIAM, 1997, Lecture 10.
- Gene H. Golub and Charles F. Van Loan, Matrix Computations, 4th ed., Johns Hopkins University Press, 2013, §5.1.
- LAPACK Users’ Guide, QR Factorization.