线性代数:高维投影和Gram-Schmidt过程

正文

Gram-Schmidt过程: 对于给定空间的一组基,求取该空间的一组正交基的过程

从二维投影理解更高维的投影问题

上一章节学习了一维投影 ,也就是在一个二维空间中求取一个向量 v ⃗ \vec v v u ⃗ \vec u u 向量上的投影 p ⃗ \vec p p 的过程:
通过向量 v ⃗ \vec v v 向向量 u ⃗ \vec u u 作垂线,则垂足所在点的向量就是 v ⃗ \vec v v u ⃗ \vec u u 上的投影 p ⃗ = u ⃗ ⋅ v ⃗ u ⃗ ⋅ u ⃗ ⋅ u ⃗ \vec p = \frac {\vec u \cdot \vec v}{\vec u \cdot \vec u} \cdot {\vec u} p =u u u v u ; 从而与向量 u ⃗ \vec u u 正交的向量就可以表示为 v ⃗ − p ⃗ \vec v - \vec p v p

求取三维空间的一组正交基

在三维空间中,给出空间的一组基 u ⃗ , v ⃗ , w ⃗ \vec u, \vec v ,\vec w u ,v ,w ,但是它们不是一组正交基,也即不满足两两正交这样的条件,求取这个空间的一组正交基

首先,可以选择其中的两个向量,比如先把 u ⃗ , v ⃗ \vec u, \vec v u ,v 处理成两个垂直的向量 p ⃗ 1 , p ⃗ 2 \vec p_1 ,\vec p_2 p 1,p 2,然后再处理第三个向量 w ⃗ \vec w w ,令 w ⃗ \vec w w 垂直于 p ⃗ 1 , p ⃗ 2 \vec p_1,\vec p_2 p 1,p 2也即相当于找出 w ⃗ \vec w w 的一个分量,这个分量垂直于 p ⃗ 1 , p ⃗ 2 \vec p_1,\vec p_2 p 1,p 2所在的平面。由高中的立体几何知识可知,由向量 w ⃗ \vec w w 所在线段的末端向 p ⃗ 1 , p ⃗ 2 \vec p_1,\vec p_2 p 1,p 2所在的平面引一根垂线,相应的就会有一个垂足的位置,这样就可以在 p ⃗ 1 , p ⃗ 2 \vec p_1 ,\vec p_2 p 1,p 2所在的平面上以垂足的位置为末端作出向量 w ⃗ \vec w w 在平面的投影向量 p ⃗ \vec p p ,这就是所谓的高维投影,我们现在是在一个二维平面上进行投影:

那么通过投影向量 p ⃗ \vec p p ,就可以得到与 p ⃗ 1 , p ⃗ 2 \vec p_1 ,\vec p_2 p 1,p 2正交的那个向量 p ⃗ 3 = w ⃗ − p ⃗ \vec p_3 = \vec w - \vec p p 3=w p ,所以此时问题的核心变成了求取 w ⃗ \vec w w 向量在 p ⃗ 1 , p ⃗ 2 \vec p_1 ,\vec p_2 p 1,p 2所在平面的投影向量 p ⃗ \vec p p

投影向量 p ⃗ \vec p p 的求取过程
由于 p ⃗ 1 , p ⃗ 2 \vec p_1 ,\vec p_2 p 1,p 2已经是一组正交向量,所以这两个向量就是 p ⃗ 1 , p ⃗ 2 \vec p_1 ,\vec p_2 p 1,p 2所在平面这样一个子空间的一组正交基,则向量 p ⃗ \vec p p 可以由 p ⃗ 1 , p ⃗ 2 \vec p_1 ,\vec p_2 p 1,p 2的一组线性组合所表示 p ⃗ = k 1 ⋅ p ⃗ 1 + k 2 ⋅ p ⃗ 2 \vec p = k_1 \cdot \vec p_1 + k_2 \cdot \vec p_2 p =k1p 1+k2p 2,在这里,直接求取 k 1 , k 2 k_1, k_2 k1,k2这两个系数显然不方便; 其实对于向量 p ⃗ \vec p p ,它存在于 p ⃗ 1 , p ⃗ 2 \vec p_1 ,\vec p_2 p 1,p 2所在的平面,那么如果把 p ⃗ \vec p p 这个向量向 p ⃗ 1 \vec p_1 p 1 p ⃗ 2 \vec p_2 p 2作垂线,那么在 p ⃗ 1 \vec p_1 p 1 p ⃗ 2 \vec p_2 p 2方向上就有两个分向量 a ⃗ \vec a a b ⃗ \vec b b ,然后 p ⃗ = a ⃗ + b ⃗ \vec p = \vec a + \vec b p =a +b , 然后求解向量 p ⃗ \vec p p 的问题就变成了求解向量 a ⃗ \vec a a b ⃗ \vec b b :
→ p ⃗ = k 1 ⋅ p ⃗ 1 + k 2 ⋅ p ⃗ 2 = a ⃗ + b ⃗ \to \vec p = k_1 \cdot \vec p_1 + k_2 \cdot \vec p_2 = \vec a + \vec b p =k1p 1+k2p 2=a +b

根据高中立体几何的知识可知

  • a ⃗ \vec a a 其实也是 w ⃗ \vec w w p ⃗ 1 \vec p_1 p 1上的投影
  • b ⃗ \vec b b 其实也是 w ⃗ \vec w w p ⃗ 2 \vec p_2 p 2上的投影

进而,求出 w ⃗ \vec w w p ⃗ 1 \vec p_1 p 1 p ⃗ 2 \vec p_2 p 2上的投影就求出来 a ⃗ \vec a a b ⃗ \vec b b ,进而就能够得到投影向量 p ⃗ \vec p p ,最后构造出垂直于 p ⃗ 1 , p ⃗ 2 \vec p_1 ,\vec p_2 p 1,p 2 的第三个向量 p 3 = w ⃗ − p ⃗ = w ⃗ − a ⃗ − b ⃗ p_3 = \vec w - \vec p = \vec w - \vec a - \vec b p3=w p =w a b 。这个二维投影问题就变成了一维投影问题;

计算向量 w ⃗ \vec w w p ⃗ 1 , p ⃗ 2 \vec p_1,\vec p_2 p 1,p 2上的投影,直接代入一维投影计算公式可得
a ⃗ = w ⃗ ⋅ p ⃗ 1 ∥ p ⃗ 1 ∥ 2 ⋅ p ⃗ 1     ,    b ⃗ = w ⃗ ⋅ p ⃗ 2 ∥ p ⃗ 2 ∥ 2 ⋅ p ⃗ 2 \vec a = \frac {\vec w \cdot \vec p_1}{\| {\vec p_1} \| ^2} \cdot \vec p_1 \ \ \ , \ \ \vec b = \frac {\vec w \cdot \vec p_2}{\| {\vec p_2} \| ^2} \cdot \vec p_2 a =p 12w p 1p 1   ,  b =p 22w p 2p 2

从而, p ⃗ 3 = w ⃗ − p ⃗ = w ⃗ − w ⃗ ⋅ p ⃗ 1 ∥ p ⃗ 1 ∥ 2 ⋅ p ⃗ 1 − w ⃗ ⋅ p ⃗ 2 ∥ p ⃗ 2 ∥ 2 ⋅ p ⃗ 2 \vec p_3 = \vec w - \vec p = \vec w - \frac {\vec w \cdot \vec p_1}{\| {\vec p_1} \| ^2} \cdot \vec p_1 - \frac {\vec w \cdot \vec p_2}{\| {\vec p_2} \| ^2} \cdot \vec p_2 p 3=w p =w p 12w p 1p 1p 22w p 2p 2


推广到 n n n维度空间

如果已知一组基: v ⃗ 1 , v ⃗ 2 , ⋯   , v ⃗ n \vec v_1 , \vec v_2 , \cdots , \vec v_n v 1,v 2,,v n,相应的求出这组基所代表的 n n n维空间的一组正交基的过程就是:
p ⃗ 1 = v ⃗ 1 \vec p_1 = \vec v_1 p 1=v 1
p ⃗ 2 = v ⃗ 2 − p ⃗ 1 ⋅ v ⃗ 2 ∥ p ⃗ 1 ∥ ⋅ p ⃗ 1 \vec p_2 = \vec v_2 - \frac {\vec p_1 \cdot \vec v_2}{\|{\vec p_1}\|} \cdot {\vec p_1} p 2=v 2p 1p 1v 2p 1
p ⃗ 3 = v ⃗ 3 − p ⃗ 1 ⋅ v ⃗ 3 ∥ p ⃗ 1 ∥ ⋅ p ⃗ 1 − p ⃗ 2 ⋅ v ⃗ 3 ∥ p ⃗ 2 ∥ ⋅ p ⃗ 2 \vec p_3 = \vec v_3 - \frac {\vec p_1 \cdot \vec v_3}{\|{\vec p_1}\|} \cdot {\vec p_1} - \frac {\vec p_2 \cdot \vec v_3}{\|{\vec p_2}\|} \cdot {\vec p_2} p 3=v 3p 1p 1v 3p 1p 2p 2v 3p 2
p ⃗ 4 = v ⃗ 4 − p ⃗ 1 ⋅ v ⃗ 4 ∥ p ⃗ 1 ∥ ⋅ p ⃗ 1 − p ⃗ 2 ⋅ v ⃗ 4 ∥ p ⃗ 2 ∥ ⋅ p ⃗ 2 − p ⃗ 3 ⋅ v ⃗ 4 ∥ p ⃗ 3 ∥ ⋅ p ⃗ 3 \vec p_4 = \vec v_4 - \frac {\vec p_1 \cdot \vec v_4}{\|{\vec p_1}\|} \cdot {\vec p_1} - \frac {\vec p_2 \cdot \vec v_4}{\|{\vec p_2}\|} \cdot {\vec p_2} - \frac {\vec p_3 \cdot \vec v_4}{\|{\vec p_3}\|} \cdot {\vec p_3} p 4=v 4p 1p 1v 4p 1p 2p 2v 4p 2p 3p 3v 4p 3

p ⃗ n = v ⃗ n − p ⃗ 1 ⋅ v ⃗ n ∥ p ⃗ 1 ∥ ⋅ p ⃗ 1 − p ⃗ 2 ⋅ v ⃗ n ∥ p ⃗ 2 ∥ ⋅ p ⃗ 2 − p ⃗ 3 ⋅ v ⃗ n ∥ p ⃗ 3 ∥ ⋅ p ⃗ 3 − ⋯ − p ⃗ n − 1 ⋅ v ⃗ n ∥ p ⃗ n − 1 ∥ ⋅ p ⃗ n − 1 \vec p_n = \vec v_n - \frac {\vec p_1 \cdot \vec v_n}{\|{\vec p_1}\|} \cdot {\vec p_1} - \frac {\vec p_2 \cdot \vec v_n}{\|{\vec p_2}\|} \cdot {\vec p_2} - \frac {\vec p_3 \cdot \vec v_n}{\|{\vec p_3}\|} \cdot {\vec p_3} - \cdots - \frac {\vec p_{n-1} \cdot \vec v_n}{\|{\vec p_{n-1}}\|} \cdot {\vec p_{n-1}} p n=v np 1p 1v np 1p 2p 2v np 2p 3p 3v np 3p n1p n1v np n1

以上算法过程称为**“格拉姆-斯密特过程(Gram-Schmidt)”**。这样一步步计算出来的正交向量组 p ⃗ 1 , p ⃗ 2 , ⋯   , p ⃗ n \vec p_1 ,\vec p_2, \cdots , \vec p_n p 1,p 2,,p n就是 v ⃗ 1 , v ⃗ 2 , ⋯   , v ⃗ n \vec v_1 , \vec v_2 , \cdots , \vec v_n v 1,v 2,,v n这组基所代表的空间的正交基,进一步的对正交基的向量进行归一化 u ^ = 1 ∥ u ⃗ ∥ ⋅ u ⃗ \hat u = \frac {1}{\|\vec u\|} \cdot \vec u u^=u 1u 就可以得到空间的一组 标准正交基

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

倪桦

有帮助的话请杯咖啡吧,谢谢!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值