Gram-Schmidt 正交化计算器
使用 Gram-Schmidt 过程,将任意一组线性无关向量转换为正交基或标准正交基。
请在下方输入向量,每行一个,分量之间用逗号或空格分隔。计算器会应用 Gram-Schmidt 过程,生成正交基和标准正交基。
Gram-Schmidt 正交化计算器
使用 Gram-Schmidt 过程,将任意一组线性无关向量转换为正交基或标准正交基。
关于 Gram-Schmidt 计算器
Gram-Schmidt 过程是线性代数中最重要的算法之一。给定一组线性无关向量,它会系统地生成一组彼此正交、且张成同一子空间的新向量。若再将每个正交向量除以自身长度使其变为单位向量,得到的就是标准正交基。标准正交基在线性代数中被视为黄金标准,因为它几乎能简化所有涉及投影、旋转、反射和分解的计算。
该算法按归纳方式进行。第一个输出向量就是第一个输入向量,不做任何改变。第二个输出向量等于第二个输入向量减去其在第一个输出向量上的投影,这样第二个输出就与第一个向量垂直。第三个输出向量则是第三个输入向量减去其在前两个输出向量上的投影。一般来说,第 k 个输出向量等于第 k 个输入向量减去它在所有先前输出向量上的投影之和。向量 v 在已正交化向量 u 上的投影公式为 (v·u / u·u) × u,其中 · 表示点积。
如果在这一过程中,减去所有投影后的结果是零向量,则说明该输入向量与前面的向量线性相关,应当直接丢弃。计算器会自动处理这一情况,并报告输入集合的秩,也就是真正线性无关向量的数量。实际应用中,还会使用一个较小的数值阈值来捕捉由于浮点舍入而接近零的向量。
标准正交基的获取方式,是将每个正交输出向量除以其欧几里得范数(即其与自身点积的平方根)。这样得到的一组向量全部长度恰为 1,彼此两两垂直。这样的标准正交集合构成了原始输入所张成子空间的标准正交框架。
Gram-Schmidt 过程的应用几乎遍及所有定量领域。在数值线性代数中,它是 QR 分解的基础,而 QR 分解常用于求解最小二乘问题和计算特征值。在信号处理中,它用于构造正交滤波器组并分离独立的信号分量。在量子力学中,量子系统的态空间是希尔伯特空间,物理可观测量对应于特征向量的标准正交基。在统计学和机器学习中,主成分分析(PCA)可以理解为寻找一个与数据集中最大方差方向对齐的标准正交基。在计算机图形学中,构建相机或物体坐标系需要三个彼此垂直的单位向量,而 Gram-Schmidt 正好适合完成这项任务。
这款计算器支持任意维度的向量,能优雅处理线性相关输入,并将中间的正交向量与最终的标准正交向量并排显示,让你清楚看到整个变换过程。
Gram-Schmidt 示例
三个示例展示二维、三维以及线性相关向量组的正交化过程。
| 输入向量 | 标准正交基 | 说明 |
|---|---|---|
| v1 = (1, 0), v2 = (1, 1) | e1 = (1, 0), e2 = (0, 1) | 标准二维情形。v2 减去其在 v1 上的投影后得到 (0,1),它本身已经是单位向量。 |
| v1 = (1, 1, 0), v2 = (1, 0, 1), v3 = (0, 1, 1) | e1 ≈ (0.707, 0.707, 0), e2 ≈ (0.408, −0.408, 0.816), e3 ≈ (−0.577, 0.577, 0.577) | 经典的三维标准正交化。三个输入向量彼此线性无关,因此得到 ℝ³ 的完整标准正交基。 |
| v1 = (1, 2, 3), v2 = (2, 4, 6), v3 = (1, 0, 0) | e1 ≈ (0.267, 0.535, 0.802), e2 ≈ (0.964, −0.148, −0.222) | v2 是 v1 的数倍(线性相关),因此被丢弃。秩为 2,而不是 3。 |
| v1 = (3, 1), v2 = (2, 2) | e1 ≈ (0.949, 0.316), e2 ≈ (−0.316, 0.949) | 带有非整数分量的二维示例。输出向量是互相垂直的单位向量。 |
如何使用 Gram-Schmidt 计算器
- 在文本框中输入向量,每行一个向量,分量之间用逗号或空格分隔(例如 '1, 2, 3' 或 '1 2 3')。
- 确保所有向量都有相同数量的分量——维度会根据第一行自动推断。
- 点击“计算基”。计算器会应用 Gram-Schmidt 过程,并显示正交基和标准正交基。
- 查看结果中报告的秩。如果它小于输入向量的数量,说明有些输入向量线性相关,已被跳过。
- 使用“重置”按钮清空输入并开始新的计算。
Gram-Schmidt 计算器常见问题
什么是 Gram-Schmidt 过程?
Gram-Schmidt 过程是一种算法,它将一组线性无关向量转换为一组彼此正交、且张成相同子空间的向量。也可以将每个正交向量归一化为单位长度,从而得到标准正交基。
正交与标准正交有什么区别?
正交集合中的向量两两点积都为零,也就是彼此垂直。标准正交集合还要求每个向量的长度为 1(单位向量)。每个标准正交集合都是正交的,但反过来不一定。
如果输入向量线性相关会怎样?
当某个向量与前面的向量线性相关时,减去其投影后会得到零向量,而零向量无法归一化。计算器会检测到这一点并省略该向量。报告的秩会小于输入向量的数量。
什么是 QR 分解,它有什么关系?
QR 分解将矩阵 A 分解为 Q·R 的乘积,其中 Q 的列向量是标准正交的,R 是上三角矩阵。Gram-Schmidt 过程是计算 Q 的经典方法之一。这种分解广泛用于求解最小二乘问题以及数值特征值算法中。
我可以使用多少维?
除了内存和浮点精度限制外,计算器没有硬性的维度上限。支持 2、3、4 或更多分量的向量。只需将每个向量单独占一行,并保持分量数量一致即可。
为什么结果看起来和手算略有不同?
计算器使用 IEEE-754 双精度浮点运算,可能会引入微小的舍入误差。为了显示,结果会四舍五入到固定的小数位数。若需要精确的符号解,可使用 Wolfram Alpha 之类的计算机代数系统或符号 Python 库。