施密特正交化
引言
在高维向量空间中,施密特正交化(Gram-Schmidt Orthogonalization)是一种将线性无关向量组转化为正交单位向量组的经典方法。它广泛应用于线性代数、机器学习(如PCA降维)、数值分析等领域。本文将深入解析施密特正交化的定义、计算步骤及其应用。
1. 预备知识
内积(Inner Product)
对于两个 $n$ 维向量 $\mathbf{u}$ 和 $\mathbf{v}$,其内积定义为:
$$ \langle \mathbf{u}, \mathbf{v} \rangle = \sum_{i=1}^{n} u_i v_i $$
线性无关性
一组向量 $\{ \mathbf{v}_1, \mathbf{v}_2, \ldots, \mathbf{v}_k \}$ 是线性无关的,当且仅当不存在不全为零的标量 $c_1, c_2, \ldots, c_k$,使得:
$$ c_1 \mathbf{v}_1 + c_2 \mathbf{v}_2 + \cdots + c_k \mathbf{v}_k = \mathbf{0} $$
正交与单位向量
- 正交:若两个向量 $\mathbf{u}$ 和 $\mathbf{v}$ 满足 $\langle \mathbf{u}, \mathbf{v} \rangle = 0$,则称它们正交。
- 单位向量:若向量 $\mathbf{u}$ 的模为1,即 $\|\mathbf{u}\| = 1$,则称其为单位向量。
2. 施密特正交化的定义
给定一组线性无关的 $n$ 维向量 $\{ \mathbf{a}_1, \mathbf{a}_2, \ldots, \mathbf{a}_k \}$,施密特正交化将其转化为一组正交单位向量 $\{ \mathbf{q}_1, \mathbf{q}_2, \ldots, \mathbf{q}_k \}$,满足:
$$ \text{span}\{ \mathbf{a}_1, \ldots, \mathbf{a}_k \} = \text{span}\{ \mathbf{q}_1, \ldots, \mathbf{q}_k \} $$
3. 正交化步骤
步骤1:构造正交向量
初始化第一个正交向量:
$$ \mathbf{u}_1 = \mathbf{a}_1 $$
对于 $i = 2, 3, \ldots, k$,依次计算:
$$ \mathbf{u}_i = \mathbf{a}_i - \sum_{j=1}^{i-1} \frac{\langle \mathbf{a}_i, \mathbf{u}_j \rangle}{\langle \mathbf{u}_j, \mathbf{u}_j \rangle} \mathbf{u}_j $$
步骤2:单位化
将正交向量 $\mathbf{u}_i$ 转化为单位向量 $\mathbf{q}_i$:
$$ \mathbf{q}_i = \frac{\mathbf{u}_i}{\|\mathbf{u}_i\|} = \frac{\mathbf{u}_i}{\sqrt{\langle \mathbf{u}_i, \mathbf{u}_i \rangle}} $$
4. 实例演示
考虑一组线性无关向量:
$$ \mathbf{a}_1 = \begin{bmatrix} 1 \\ 1 \\ 0 \end{bmatrix}, \quad \mathbf{a}_2 = \begin{bmatrix} 1 \\ 0 \\ 1 \end{bmatrix} $$
Step 1: 初始化第一个正交向量:
$$ \mathbf{u}_1 = \mathbf{a}_1 = \begin{bmatrix} 1 \\ 1 \\ 0 \end{bmatrix} $$
Step 2: 计算第二个正交向量:
$$ \mathbf{u}_2 = \mathbf{a}_2 - \frac{\langle \mathbf{a}_2, \mathbf{u}_1 \rangle}{\langle \mathbf{u}_1, \mathbf{u}_1 \rangle} \mathbf{u}_1 $$
计算内积:
$$ \langle \mathbf{a}_2, \mathbf{u}_1 \rangle = 1 \cdot 1 + 0 \cdot 1 + 1 \cdot 0 = 1 $$
$$ \langle \mathbf{u}_1, \mathbf{u}_1 \rangle = 1^2 + 1^2 + 0^2 = 2 $$
因此:
$$ \mathbf{u}_2 = \begin{bmatrix} 1 \\ 0 \\ 1 \end{bmatrix} - \frac{1}{2} \begin{bmatrix} 1 \\ 1 \\ 0 \end{bmatrix} = \begin{bmatrix} 0.5 \\ -0.5 \\ 1 \end{bmatrix} $$
Step 3: 单位化:
$$ \mathbf{q}_1 = \frac{\mathbf{u}_1}{\|\mathbf{u}_1\|} = \frac{1}{\sqrt{2}} \begin{bmatrix} 1 \\ 1 \\ 0 \end{bmatrix} $$
$$ \mathbf{q}_2 = \frac{\mathbf{u}_2}{\|\mathbf{u}_2\|} = \frac{1}{\sqrt{1.5}} \begin{bmatrix} 0.5 \\ -0.5 \\ 1 \end{bmatrix} $$
5. 性质分析
存在性
- 任何线性无关向量组均可通过施密特正交化转化为正交单位向量组。
唯一性
- 正交化结果不唯一,取决于初始向量的顺序。
6. 应用场景
- 线性方程组求解:通过正交化简化矩阵结构。
- 数据降维:在PCA中用于提取主成分。
- 机器学习:用于特征正交化,提升模型性能。
结语
施密特正交化是线性代数中一种重要的工具,通过将线性无关向量转化为正交单位向量,简化了许多数学问题的求解过程。无论是理论研究还是实际应用,掌握施密特正交化都具有重要意义。