正交矩阵与格拉姆-施密特正交化
在线性代数中,正交矩阵和格拉姆-施密特正交化是两个非常重要的概念。它们通常在多维空间的坐标变换、求解线性方程、数据降维等方面有广泛应用。下面分别介绍这两个概念。
1. 正交矩阵(Orthogonal Matrix)
1.1 定义
一个矩阵 Q 被称为正交矩阵,如果它满足以下条件:
QTQ=QQT=I Q^T Q = Q Q^T = I QTQ=QQT=I
其中,Q^T 是矩阵 Q 的转置矩阵,I 是单位矩阵。
正交矩阵的一个重要性质是它的逆矩阵等于它的转置矩阵,即:
Q−1=QT Q^{-1} = Q^T Q−1=QT
1.2 正交矩阵的性质
- 行列式为±1:正交矩阵的行列式必定是 1 或 -1。即:
det(Q)=±1 \text{det}(Q) = \pm 1 det(Q)=±1
- 保持向量长度:如果 Q 是一个正交矩阵,那么对于任意向量 v,有:
∥Qv∥=∥v∥ \|Qv\| = \|v\| ∥Qv∥=∥v∥
这意味着正交矩阵保持向量的模(长度),因此它可以看作是一个旋转或反射变换,而不改变向量的长度。
- 保持向量间的夹角:正交矩阵还可以保持向量间的夹角,即对于任意两个向量 u 和 v,有:
(u⋅v)=(Qu⋅Qv) (u \cdot v) = (Qu \cdot Qv) (u⋅v)=(Qu⋅Qv)
- 正交变换:正交矩阵代表了一个正交变换,通常用于旋转、反射等操作。
1.3 正交矩阵的例子
一个常见的正交矩阵是二维空间中的旋转矩阵。例如,旋转矩阵 Q,将二维空间中的向量逆时针旋转角度 θ:
Q=(cosθ−sinθsinθcosθ) Q = \begin{pmatrix} \cos\theta & -\sin\theta \\ \sin\theta & \cos\theta \end{pmatrix} Q=(cosθsinθ−sinθcosθ)
它满足 Q^T Q = I,因此是一个正交矩阵。
2. 格拉姆-施密特正交化(Gram-Schmidt Orthogonalization)
2.1 定义
格拉姆-施密特正交化是将一组线性无关的向量转化为一组正交向量的过程。该过程不仅能够得到正交向量,而且在需要时,还可以通过标准化得到正交单位向量。
假设我们有一组线性无关的向量 {v₁, v₂, …, vₖ},格拉姆-施密特过程将其转化为一组正交向量 {u₁, u₂, …, uₖ},其中:
- u₁ = v₁
- u₂ = v₂ - proj(u₁, v₂)
- u₃ = v₃ - proj(u₁, v₃) - proj(u₂, v₃)
- 以此类推,其中 proj(uₖ, v) 是向量 v 在向量 uₖ 上的投影,计算公式为:
proj(u,v)=u⋅vu⋅uu \text{proj}(u, v) = \frac{u \cdot v}{u \cdot u} u proj(u,v)=u⋅uu⋅vu
2.2 格拉姆-施密特过程步骤
给定一组线性无关的向量 {v₁, v₂, …, vₖ},通过格拉姆-施密特过程生成一组正交向量 {u₁, u₂, …, uₖ} 的步骤如下:
- 选择第一个向量 u₁:
u1=v1 u_1 = v_1 u1=v1
- 从第二个向量开始,用它减去它在之前所有已计算出的正交向量上的投影:
u2=v2−proj(u1,v2) u_2 = v_2 - \text{proj}(u_1, v_2) u2=v2−proj(u1,v2)
其中,proj(u₁, v₂) 表示向量 v₂ 在 u₁ 上的投影,计算公式为:
proj(u1,v2)=v2⋅u1u1⋅u1u1 \text{proj}(u_1, v_2) = \frac{v_2 \cdot u_1}{u_1 \cdot u_1} u_1 proj(u1,v2)=u1⋅u1v2⋅u1u1
- 对第三个向量 v₃,用它减去它在 u₁ 和 u₂ 上的投影:
u3=v3−proj(u1,v3)−proj(u2,v3) u_3 = v_3 - \text{proj}(u_1, v_3) - \text{proj}(u_2, v_3) u3=v3−proj(u1,v3)−proj(u2,v3)
- 继续进行,直到将所有的向量都处理完。
通过这个过程,我们就能得到一组正交向量 {u₁, u₂, …, uₖ}。
2.3 格拉姆-施密特正交化的例子
假设有两个线性无关的向量 v₁ = (1, 1) 和 v₂ = (1, 0),我们通过格拉姆-施密特过程来得到它们的正交基。
- 选择第一个向量 u₁ = v₁:
u1=(1,1) u_1 = (1, 1) u1=(1,1)
- 计算第二个向量 u₂:
首先,计算 v₂ 在 u₁ 上的投影:
proj(u1,v2)=(1,0)⋅(1,1)(1,1)⋅(1,1)(1,1)=12(1,1) \text{proj}(u_1, v_2) = \frac{(1, 0) \cdot (1, 1)}{(1, 1) \cdot (1, 1)} (1, 1) = \frac{1}{2} (1, 1) proj(u1,v2)=(1,1)⋅(1,1)(1,0)⋅(1,1)(1,1)=21(1,1)
然后计算 u₂:
u2=v2−proj(u1,v2)=(1,0)−12(1,1)=(1,0)−(0.5,0.5)=(0.5,−0.5) u_2 = v_2 - \text{proj}(u_1, v_2) = (1, 0) - \frac{1}{2} (1, 1) = (1, 0) - (0.5, 0.5) = (0.5, -0.5) u2=v2−proj(u1,v2)=(1,0)−21(1,1)=(1,0)−(0.5,0.5)=(0.5,−0.5)
因此,得到的正交基为 u₁ = (1, 1) 和 u₂ = (0.5, -0.5)。
2.4 正交单位化
一旦得到了正交向量,我们还可以将这些向量标准化(即将它们转化为单位向量)。标准化的过程如下:
ui′=ui∥ui∥ u'_i = \frac{u_i}{\|u_i\|} ui′=∥ui∥ui
通过标准化,我们可以得到一组正交单位向量,这组向量不仅正交,而且每个向量的模为1。
3. 正交矩阵与格拉姆-施密特的关系
通过格拉姆-施密特过程得到的一组正交向量,可以用来构造一个正交矩阵。如果我们有一组正交单位向量 {u₁, u₂, …, uₖ},那么将这些向量按列排列成矩阵 Q,即:
Q=(u1u2⋯uk) Q = \begin{pmatrix} u_1 & u_2 & \cdots & u_k \end{pmatrix} Q=(u1u2⋯uk)
这个矩阵 Q 就是一个正交矩阵。由于每列向量都是单位向量且正交,所以 Q^T Q = I,即 Q 是一个正交矩阵。
4. 总结
-
正交矩阵:一个矩阵是正交的,当且仅当其转置矩阵与原矩阵相乘得到单位矩阵,即 Q^T Q = I。正交矩阵的逆矩阵等于其转置矩阵。
-
格拉姆-施密特正交化:这是将一组线性无关的向量转化为一组正交向量的过程。通过逐步去除向量在已生成的正交向量上的分量,可以得到一组正交向量。
-
正交矩阵与正交基:通过格拉姆-施密特过程得到的正交向量,可以构造一个正交矩阵,它代表了一种坐标变换,能够保持向量的长度和夹角。
正交矩阵和格拉姆-施密特正交化在计算机图形学、数据分析、物理学等领域都有广泛的应用,尤其在旋转、反射等变换中尤为重要。