向量的正交
正交是垂直的推广。如果两个向量 $x,y$ 满足 $x^Ty=0$,则称 $x$ 和 $y$ 正交。这和高中时学过的向量垂直的判断方法相同。
在中学中,我们学过正交基的概念:若一组向量两两垂直,则称为一组正交基。在这个基础上,如果每个向量的模长都为 $1$ ,则称为标准正交基。更为严谨的定义如下:
$$
称 x_1,x_2,...,x_n是标准正交的,当且仅当 x_i^Tx_j=\begin{cases}
1,i=j\\
0,i\neq j
\end{cases}
$$
正交矩阵
以一组标准正交向量作为列的方阵称为正交矩阵。设 $x_1,x_2,...,x_n$是一组标准正交向量,并定义正交矩阵 $A = [x_1,x_2,...,x_n]$,那么有
$$
\begin{align}
A^TA &= \begin{bmatrix}
x_1^T\\
x_2^T\\
...\\
x_n^T
\end{bmatrix} * [x_1,x_2,...,x_n]\\
&=\begin{bmatrix}
x_1^Tx_1 & x_1^Tx_2 & ... &x_1^Tx_n\\
x_2^Tx_1 & x_2^Tx_2 & ... &x_2^Tx_n\\
... & & \ddots &\\
x_n^Tx_1 & x_n^Tx_2 & ... &x_n^Tx_n\\
\end{bmatrix}\\
&=I
\end{align}
$$
因此,正交矩阵满足 $A^HA =I$
施密特正交化
施密特正交化(Gram-Schmidt)是从一组线性无关向量生成标准正交向量的方法。它的核心是从一个向量开始,去除沿已经得到的正交向量上的分量(即投影),并将模长修正到 $1$ 。
设 $x_1,x_2,...,x_n$ 是线性无关的,我们希望得到一组标准正交向量 $y_1,y_2,...,y_n$,施密特正交化的可以描述为:
$$
\begin{align}
t_k &= x_k-\sum_{i=1}^{k-1}{\frac{y_i^Tx_k}{y_i^Ty_i} y_i} \\
y_k &= \frac{t_k}{|t_k|}
\end{align}
$$
其中 $t_k$ 是一个中间结果。下面来拆解这个算法:
第一步:去除非正交的分量
$x_k$ 在 $y_i$ 上的投影向量是 $p = {\frac{y_i^Tx_k}{y_i^Ty_i} y_i}$ ,减去后就去除了在 $y_i$ 方向上的分量,即 $x_k-p$ 与 $y_i$ 正交。依次对已经得到的 $k-1$ 个标准正交向量进行这一操作,得到新的向量 $t_k$ 和原来 $k-1$ 个向量 $y_{\{1,...,k-1\}}$ 就组成了一组正交向量,但不一定是标准正交的,因为 $t_k$ 的模长不一定是 $1$。
第二步:修正模长
将 $t_k$ 除以它自身的模长,就将它的模长修正到了 $1$ 。此时就得到了 $y_k$ ,它和前 $k-1$ 个向量是标准正交的。
这样,从 $k=1$ 开始依次进行上面的步骤,就得到了一组标准正交向量。
Comments NOTHING