格拉姆-施密特正交化
1. 基本概述
在向量空间中,基向量通常不是正交的。若直接使用不正交的基进行数学运算(如解方程组、最小二乘法等),可能会引入额外的复杂性,并导致数值计算不稳定。为了解决这一问题,格拉姆-施密特正交化提供了一种简单的算法,此方法可以将非正交基向量转化为正交基。下面的动画演示了中的一组非正交基转化为正交基的过程:
下面我们通过示例来展示通过施密特方法将非正交基转化为正交基的过程。给定子空间中的两个非正交的基向量:
我们来构造一个正交基来表示子空间。方法也很简单,首先,任选一个向量作为第一个正交向量。接着,对于下一个向量,计算它在上的投影,并从中减去这个投影,得到新的正交向量。下面的动画演示了这个过程:
开通会员解锁全部动画
2. 具体步骤
在下面的示例中,我们将使用施密特正交化过程,将一组中的线性无关向量转换为正交基,并详细展示每个步骤。给定如下向量:
这些向量是线性无关的,可以作为中三维子空间的基。以下是正交化的具体步骤:
可以直接选择:
此时,张成的子空间。
我们要从中减去它在上的投影,得到一个与正交的向量。 首先,计算在上的投影:
计算内积和:
因此,投影是:
接下来,计算:
为了简化计算,我们可以选择将乘以:
现在,我们需要从中减去它在和上的投影,得到一个与 和正交的向量。首先,计算在和上的投影,下面是在上的投影:
下面是在上的投影:
接下来,从中减去这两个投影,得到:
最终得到了三个正交向量:
3. 定理及推导过程
施密特正交化的过程可由以下定理给出:
- 基础步骤:
当时,设置,显然,因此作为的唯一向量,自然属于的正交基。
- 归纳假设:
假设对于某个,我们已经构造了正交基,并且它们是子空间的正交基。
- 归纳步骤:
需要证明对于,构造的向量也是的正交基。
- 构造:其中,代表的是在上的投影。根据正交投影的定义,它可以表示为:这里的是中的正交基向量,在上的投影等于在各分量上的投影之和。
- 我们考虑与中任意一个向量的点积:将展开:由于是正交基,因此而,所以只有当时,第二项非零:这两个项相互抵消,得到:因此,与中的每一个向量都正交,且,所以是的正交基。
- 归纳终止:
当时,归纳过程终止,证明完成。
4. 构建标准正交基
把正交基进一步标准化,使得每个基向量的模长为,就得到了标准正交基,标准正交基可以进一步简化计算。在施密特正交化的步骤中,对每次得到的正交向量进行标准化处理即可得到标准正交基。对向量进行标准化的公式为:
对于下面两个正交向量:
进行标准化后:
5. QR 矩阵分解
分解是一种将矩阵分解为一个正交矩阵和一个上三角矩阵的方法,它广泛应用于最小二乘问题、特征值计算和解线性方程组等场景。与分解相比,分解不仅适用于方阵,还能应用于任意矩阵。而施密特正交化方法为分解提供了基础。通过施密特正交化,我们可以将矩阵的列空间转换为标准正交基,从而实现了 分解。有如下定理:
- 构造标准正交基
令的列向量构成的基。根据定理,可以通过施密特正交化构造一个标准正交基来表示。
- 构造矩阵
- 定义矩阵为:其中是通过拉姆-施密特正交化得到的标准正交基。
表示为正交基的线性组合:
- 对于每个,可以表示为的线性组合。由于在中,存在常数,使得:可以将这些系数提取成一个列向量,对于可以表示为:
构造
- 对于所有,我们可以定义:那么矩阵可以表示为:
- 把展开更为清晰:
提取矩阵的列向量
- 将的列向量表示为:
构建正交矩阵
- 应用施密特正交化生成正交基:标准化得到:将作为的列向量:
- 计算上三角矩阵
- 使用: