对于一组向量,有时候我们需要对其进行正交化处理,也就是说,该组向量中任意两个向量都是互相垂直的。那么,要怎么做呢?
假设只有两个向量, v ⃗ 0 \vec v_0 v0和 v ⃗ 1 \vec v_1 v1,正交化的几何示意图如下所示。
假设正交化之后的向量为 w ⃗ 0 \vec w_0 w0和 w ⃗ 1 \vec w_1 w1,那么由图可知,可得 w ⃗ 0 = v ⃗ 0 \vec w_0 = \vec v_0 w0=v0,且有:
w ⃗ 1 = v ⃗ 1 − v ⃗ 1 ⋅ w ⃗ 0 ∣ w ⃗ 0 ∣ \vec w_1 = \vec v_1 - \dfrac{\vec v_1 \cdot \vec w_0}{|\vec w_0|} w1=v1−∣w0∣v1⋅w0
这里减去的部分是向量 v ⃗ 1 \vec v_1 v1在向量 w ⃗ 0 \vec w_0 w0上的投影。然后将 w ⃗ 0 \vec w_0 w0和 w ⃗ 1 \vec w_1 w1进行归一化,就得到了最终的结果。
那么,如果有三个向量,
v
⃗
0
\vec v_0
v0,
v
⃗
1
\vec v_1
v1,
v
⃗
2
\vec v_2
v2,这种情况要如何处理呢?同样地,正交化的几何示意图如下所示。
假设正交化之后的向量为
w
⃗
0
\vec w_0
w0,
w
⃗
1
\vec w_1
w1,
w
⃗
2
\vec w_2
w2,由图可知,可得
w
⃗
0
=
v
⃗
0
\vec w_0 = \vec v_0
w0=v0,且有:
w ⃗ 1 = v ⃗ 1 − v ⃗ 1 ⋅ w ⃗ 0 ∣ w ⃗ 0 ∣ \vec w_1 = \vec v_1 - \dfrac{\vec v_1 \cdot \vec w_0}{|\vec w_0|} w1=v1−∣w0∣v1⋅w0
w ⃗ 2 = v ⃗ 2 − v ⃗ 2 ⋅ w ⃗ 0 ∣ w ⃗ 0 ∣ − v ⃗ 2 ⋅ w ⃗ 1 ∣ w ⃗ 1 ∣ \vec w_2 = \vec v_2 - \dfrac{\vec v_2 \cdot \vec w_0}{|\vec w_0|} - \dfrac{\vec v_2 \cdot \vec w_1}{|\vec w_1|} w2=v2−∣w0∣v2⋅w0−∣w1∣v2⋅w1
从图中可以看出向量 w ⃗ 2 \vec w_2 w2即为向量 v ⃗ 2 \vec v_2 v2减去在 w ⃗ 0 \vec w_0 w0和 w ⃗ 1 \vec w_1 w1上的投影。将这三个向量进行归一化即可得到最终的结果。
那么,假如我们有一组向量 { v ⃗ 0 , v ⃗ 1 , v ⃗ 2 , . . . , v ⃗ n } \{ \vec v_0, \vec v_1, \vec v_2, ..., \vec v_n \} {v0,v1,v2,...,vn},要想求得它们正交化后的向量组 { w ⃗ 0 , w ⃗ 1 , w ⃗ 2 , . . . , w ⃗ n } \{ \vec w_0, \vec w_1, \vec w_2, ..., \vec w_n \} {w0,w1,w2,...,wn},步骤如下:
- 令 w ⃗ 0 = v ⃗ 0 \vec w_0 = \vec v_0 w0=v0;
- 计算: w ⃗ i = v ⃗ i − ∑ j = 0 i − 1 v ⃗ i ⋅ w ⃗ j ∣ w ⃗ j ∣ ; ( 1 ≤ i ≤ n ) \vec w_i = \vec v_i - \sum_{j = 0}^{i - 1} \dfrac{\vec v_i \cdot \vec w_j}{|\vec w_j |};(1 \leq i \leq n) wi=vi−∑j=0i−1∣wj∣vi⋅wj;(1≤i≤n);
- 将得到的 { w ⃗ 0 , w ⃗ 1 , w ⃗ 2 , . . . , w ⃗ n } \{ \vec w_0, \vec w_1, \vec w_2, ..., \vec w_n \} {w0,w1,w2,...,wn}进行正交化。