正交是一个非常好的性质呀!
Householder矩阵
Takeaway:
Householder矩阵实际上描述了关于某个超平面的镜面反射。
关于某平面的镜面反射,就是保持垂直分量不变,而平行分量反向。
首先给出Householder矩阵的定义,同样,我们只考虑实数域上的事情。设$u\in \mathbb{R}^n$是单位向量,那么称:
$$ H=I-2uu^T $$
为Householder矩阵或初等反射矩阵。
当时笔者学到这里,就想,为什么这样一个公式,就表示了一个反射变换呢?实际上,书中给的这个呈现形式非常烂,笔者认为合理的定义方法是:如果一个向量$u\in \mathbb{R}^n$是一个非零向量,那么称:
$$ H=I-2\frac{uu^T}{u^Tu} $$
为Householder矩阵或初等反射矩阵。
为什么这个形式好?或许有些读者已经看出来了——减号后面这一项,不就是投影公式嘛!
考虑两个非零向量$x$和$v$,要求$x$在$v$方向上的投影,也就是求:
$$ x_{\parallel}=\alpha v $$
那么:
$$ x_{\perp}=x-x_{\parallel} $$
亦即:
$$ v^Tx_{\perp}=0 $$
亦即:
$$ v^T(x-\alpha v)=0 $$
亦即:
$$ v^Tx-\alpha v^Tv=0 $$
也就是:
$$ \alpha=\frac{v^Tx}{v^Tv} $$
哈哈,也就有了我们的投影公式:
$$ x_{\parallel}=\frac{v^Tx}{v^Tv}v $$
因为分子是一个标量:
$$ x_{\parallel}=\boxed{\frac{vv^T}{v^Tv}}x $$
框起来的不就是我们Householder矩阵减号右边的东西吗?这个东西就叫做投影矩阵,能够把向量变换为向量在$v$上的投影向量。
那我们想要求一个向量关于$v$的反射,该怎么做?这里有一个事情,需要告诉各位读者,一点便通——关于某平面的镜面反射,就是保持垂直分量不变,而平行分量反向!这一点笔者不再展开,读者自己画画图就能理解。
那么当Householder作用到一个向量上,就应该满足我们镜面反射的性质:
$$ Hx=x-x_{\parallel}-x_{\parallel} $$
那么代入上面的结果,不正是我们Householder矩阵的定义嘛!
Gram-Schmidt正交化
Takeaway:
Gram-Schmidt正交化就是把一组不正交的向量,变成为一组互相垂直的单位向量。
笔者在本科阶段,被这个东西折磨了很久,太难算了!不过笔者已经上完了所有的课程,现在可以静下心来想想这个东西到底是什么?
Schmidt正交化方法的流程是这样的,对于向量组$\alpha_1,\alpha_2,\cdots,\alpha_n$,构造新的正交单位向量组:
$$ \beta_1=\frac{\alpha_1}{||\alpha_1||} $$
$$ \beta_2=\alpha_2-(\beta_1^T\alpha_2)\beta_1 $$
$$ \cdots $$
$$ \beta_n=\alpha_n-(\beta_1^T\alpha_n)\beta_1-(\beta_2^T\alpha_n)\beta_2-\cdots-(\beta_{n-1}^T\alpha_n)\beta_{n-1} $$
熟悉吗?这里减去的每一项,不就是$\alpha_n$在之前各个方向上的投影吗?没错,不断选择向量,把它在前面所有已选择向量上的平行分量都减掉,最后就彼此垂直了。也就是说:新向量就是旧向量减掉它在其他方向上的投影。
QR分解
Takeaway:
QR分解是在给一组斜的列向量重新建立一个正交坐标系。
读者可能会问:「嘿,你这家伙,为什么到现在才讲Schmidt正交化?」哈哈,没错,因为Gram-Schmidt正交化本质上就是对矩阵做QR分解;也可以这么说,QR分解实际上就是Gram-Schmidt正交化的矩阵表示。
QR分解就是把一个矩阵$A$,分解为一个正交矩阵$Q$和一个上三角矩阵$R$的乘积的形式。我们对矩阵$A$所有的列向量进行Gram-Schmidt正交化,就会生成一个正交矩阵$Q$,那么我们将矩阵都看作列向量的形式:
$$ A=[a_1,a_2,\cdots,a_n]=[q_1,q_2,\cdots,q_n]M $$
这里$M$我们暂时还不知道是什么,不过可以确定的是,我们当前做了这样一件事,我们把矩阵$A$——可以看作向量组的一种排列形式——变换到了一组标准正交基上。那么$M$就应该是列向量的坐标。
那么根据Gram-Schmidt正交化方法的公式我们知道:
$$ a_i=k_{1i}q_1+k_{2i}q_2+\cdots+k_{ii}q_i $$
这无非是把公式进行移项而已。那么很明显$M$是一个上三角矩阵,每一个元素满足:
$$ M_{ij}=q_i^Ta_j $$