施密特正交化
Posted back-to-the-past
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了施密特正交化相关的知识,希望对你有一定的参考价值。
对于一组向量,有时候我们需要对其进行正交化处理,也就是说,该组向量中任意两个向量都是互相垂直的。那么,要怎么做呢?
假设只有两个向量,(vec v_0)和(vec v_1),正交化的几何示意图如下所示。
假设正交化之后的向量为(vec w_0)和(vec w_1),那么由图可知,可得(vec w_0 = vec v_0),且有:
(vec w_1 = vec v_1 - dfrac{vec v_1 cdot vec w_0}{|vec w_0|})
这里减去的部分是向量(vec v_1)在向量(vec w_0)上的投影。然后将(vec w_0)和(vec w_1)进行归一化,就得到了最终的结果。
那么,如果有三个向量,(vec v_0),(vec v_1),(vec v_2),这种情况要如何处理呢?同样地,正交化的几何示意图如下所示。
假设正交化之后的向量为(vec w_0),(vec w_1),(vec w_2),由图可知,可得(vec w_0 = vec v_0),且有:
(vec w_1 = vec v_1 - dfrac{vec v_1 cdot vec w_0}{|vec w_0|})
(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|})
从图中可以看出向量(vec w_2)即为向量(vec v_2)减去在(vec w_0)和(vec w_1)上的投影。将这三个向量进行归一化即可得到最终的结果。
那么,假如我们有一组向量({ vec v_0, vec v_1, vec v_2, ..., vec v_n }),要想求得它们正交化后的向量组({ vec w_0, vec w_1, vec w_2, ..., vec w_n }),步骤如下:
- 令(vec w_0 = vec v_0);
- 计算(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);
- 将得到的({ vec w_0, vec w_1, vec w_2, ..., vec w_n })进行正交化。
以上是关于施密特正交化的主要内容,如果未能解决你的问题,请参考以下文章
机器学习|数学基础Mathematics for Machine Learning系列之线性代数(15):向量的内积长度及正交性
《Linear Algebra and Its Applications》-chaper6-正交性和最小二乘法- 格拉姆-施密特方法