线性代数笔记(十四)——正交向量与子空间

这一讲从正交的角度来探讨四个子空间具有的性质。

正交向量与子空间

一图胜千言:

本节的所有内容都在阐释上面这张图。

正交

何为正交?从空间角度来看,正交就是垂直。无论是两个向量之间的正交,还是空间的正交,它们在线性代数中都意味着:垂直。

向量正交

如图,\(x\)\(y\)两个向量相互垂直,根据中学知识,我们知道两个向量垂直则意味着这两个向量的内积为0,即:\(x^Ty=0\)

这一结论可以用勾股定理来证明: \[ \begin{aligned} |x|^2+|y|^2=|x+y|^2 \\ x^Tx+y^Ty = (x+y)^T(x+y) \\ 0 = x^Ty+y^Tx \\ 易知x^Ty = y^Tx,故:2x^Ty=0 \\ 得到:x^Ty=0 \end{aligned} \]

进一步,如果两个向量中其中某一个是零向量,那这两个向量一定正交。

空间正交

所谓空间的正交,就是:一个空间中的任意一个向量,都与另一个空间中的任意一个向量正交。

直觉上,我们可能会误以为三维直角坐标系中如\(xy\)平面\(xz\)平面正交,但实际上它们并不正交。这一点很容易证伪,我们选择两个平面交线\(x\)轴上的向量,任取两个,显然它们并不垂直。

反过来,这一事实也意味着:如果两个平面在某个非零向量处相交,那么它们一定不正交。

那么怎么样的两个空间可能会正交呢?我们先从\(R^2\)的子空间来分析,一个平面上的子空间有:

  • 整个平面\(P\)
  • 平面\(P\)上任意过原点的直线\(L\)
  • 原点零向量

\(P\)\(L\)永远不可能正交;当\(L1\)\(L2\)在原点处垂直时,\(L1\)\(L2\)正交;\(L\)\(0\)永远正交。

高维空间也可以由此继续做推理。

矩阵子空间的正交

回归到矩阵,为什么我们可以笃定零空间和行空间是正交的呢?实际上我们只需要从行视角和零空间视角分别来看\(Ax=0\)即可窥得端倪:

\[ Ax=\begin{bmatrix}row_1 of A\\ row_2 of A\\ row_3 of A\\ ...\\ row_m of A \end{bmatrix}\begin{bmatrix}x_1\\ x_2\\ x_3\\ ...\\x_n \end{bmatrix}=\begin{bmatrix}row_1 of A \cdot x\\ row_2 of A \cdot x\\ row_3 of A \cdot x\\ ... \\row_n of A \cdot x \end{bmatrix}=\begin{bmatrix}0\\ 0\\ 0\\ ...\\ 0 \end{bmatrix} \]

从行视角看,\(A\)中每个行向量与向量\(x\)的内积都是\(0\),而从零空间视角看,\(x\)可以是零空间任意一个向量,因此,这就意味着\(A\)中的每个行向量都与零空间的任意向量垂直。此外,行空间的所有向量都是由\(A\)中行向量线性组合得到,因此无论怎么组合,都无非表示成诸如\(c\cdot row_1 + d\cdot row_2 + ... + z\cdot row_m\),结果依然是\(0\)

由此证得矩阵的行空间与零空间正交。同理,我们对矩阵进行转置,可以得到列空间与左零空间正交。

此外,行空间和零空间的关系,更像是把一个空间一分为二所得到的两个子空间:

  • 行空间与零空间的维数之和是\(n\)
    • 行空间维数是\(r\),零空间维数是\(n-r\)
    • 它们都是\(R^n\)的子空间。
  • 列空间与左零空间的维数之和是\(m\)
    • 列空间维数是\(r\),左零空间维数是\(m-r\)
    • 它们都是\(R^m\)的子空间。

进一步,我们把行空间和零空间称作为\(R^n\)中的正交补,列空间和左零空间称为\(R^m\)中的正交补。

所谓正交补,就是指对于一个空间\(S\),另一个空间\(T\)囊括了所有垂直于\(S\)的向量而不是局部,这里的一分为二描述的是一种彻底程度。

无解方程的最优解

现实世界中,矩阵的数据源于测量,测量就难免有误差甚至错误,从而导致\(Ax=b\)无解。

什么样的\(Ax=b\)有解呢?我们知道\(A\)得是可逆的,当\(m\)很大,\(n\)很小时,我们可以通过不断的移除某些行,丢弃这些坏数据,让方程有解。这听上去是个合理的方法,但实际上却难以执行。为什么呢?因为我们根本无法判断究竟哪些行是脏数据。

对于这一困难,工程上常常会进行妥协:我们可以去求近似的最优解,类似于一种拟合。

怎么求近似解呢?在已知\(Ax=b\)无解的前提下,我们可以尝试在方程两侧同时左乘\(A^T\),无解方程就变成\(A^TA\hat x=A^Tb\)

这里的\(\hat x\)不是解\(x\)\(x\)已经是无解的了,这里只是尝试找到一个近似解。

通过前面课程的学习,我们知道\(A^TA\)矩阵是一种对称方阵,此时如果\(A^TA\)可逆,那么解\(\hat x\)就容易求得。

然而\(A^TA\)也不见得就可逆,怎么去判断\(A^TA\)是否可逆呢?先说结论:当\(A\)中各列线性相关时,\(A^TA\)不可逆。

为了证明这一点,需要先得到两个性质:

  1. \(N(A^TA)=N(A)\):二者具有相同的零空间。
    1. 对于\(A^TAx=0\)有:\(x^TA^TAx=(Ax)^T(Ax)=0\),因此\(Ax=0\)
  2. rank(A^TA)=rank(A):二者具有相同的秩。
    1. 由性质1可知二者零空间维数相同,且二者具有相同的列数,因此秩相等。

\(A^TA\)若可逆,则意味着\(N(A^TA)\)只有零向量,既然\(N(A)\)\(N(A^TA)\)相同,也就意味着\(N(A)\)中也只能有零向量,此时,\(A\)中各列线性无关。证毕。

附录

视频

参考链接


线性代数笔记(十四)——正交向量与子空间
https://r00tk1ts.github.io/2023/09/21/线性代数笔记(十四)——正交向量与子空间/
作者
r00tk1t
发布于
2023年9月21日
许可协议