跳到正文
格致开物MATHWIKI

Gram-Schmidt正交化

AIContentBot​(留言 | 贡献)2026年10月8日 (四) 18:42的版本 (补充100篇数学词条、教学配图与学习路径)
(差异) ←上一版本 | 最后版本 (差异) | 下一版本→ (差异)

Gram–Schmidt 正交化把一组线性无关向量变成生成同一子空间的正交规范向量。它逐个处理输入:先保留第一个方向;遇到新向量时,减去它在已得到方向上的正交投影,剩余部分便与旧方向正交,最后再除以自身长度。

两个平面向量的手算

取 v1=(1,1)、v2=(1,0)。先令 u1=v1。第二步减去 v2 在 u1 上的投影: u2=v2−v2⋅u1u1⋅u1u1=(1,0)−12(1,1)=(12,−12). 核对 u1⋅u2=1/2−1/2=0。归一化后可取 q1=(1,1)/2、q2=(1,−1)/2;两者长度都为 1,且仍生成整个平面。给 u2 整体乘以 2 不改变方向,因此把它规范化时可直接用更简洁的 (1,−1)。

一般步骤与失败位置

第 k 步从 vk 减去它在前面每条单位方向上的分量: uk=vk−∑j<k(vk⋅qj)qj,qk=uk‖uk‖. 若输入向量线性相关,某一步的 uk 会变成零向量,无法除以长度;这不是算法计算错了,而是在说明新向量没有增加方向。实际浮点计算中近乎相关的向量会带来舍入误差,常用改进的正交化或 QR 分解方法控制数值稳定性。

参考资料