DennyQi's Log

04 正交性

正交性

向量、子空间的正交

对于向量v,wRnv,w \in \mathbb{R}^n,设v=(x1,,xn),w=(y1,,yn)v=(x_1,\cdots,x_n),w=(y_1,\cdots,y_n),定义他们的内积vw=i=1nxiyiv \cdot w=\sum\limits_{i=1}^{n}x_iy_i

如果有v,wv,w的内积为0(vw=0v \cdot w=0),那么称这两个向量是正交的,记作vwv \bot w

向量可以看作一维的矩阵,因此在矩阵运算中,向量的正交写作vw=0v^{\top} w=0,即vv作为矩阵的转置矩阵与ww矩阵做矩阵乘法得到一个1×11 \times 1的矩阵,这个矩阵唯一的那个元素就是0。这样做的好处在于,如果vv本身是两个矩阵(比如n×mn \times mm×1m \times 1)的乘积,那么转置的运算法则也可以应用在vv^{\top} 上。

对于Rn\mathbb{R}^n中的两个子空间V,WV,W,如果满足对于任意vV,wWv \in V, w \in W都有vw=0v \cdot w=0,那么称这两个子空间是正交的,记作VWV \bot W。注意,子空间的正交与几何中的垂直不太一样。比如,三维空间中两个过原点的互相“垂直”的平面,它们并不是正交的——各自取一条在交线上的向量就可以说明这两个向量内积并不为0。事实上,如果两个子空间有交集(零向量除外),那么我们就可以取这条向量,vwv \cdot w就变成了vvv \cdot v,由于vv不为0,因此内积一定大于零,因此一定不互相垂直。正交的子空间是不能有交集的(0除外)。

VV的一组基为{v1,v2,,vm}\{v_1,v_2,\cdots,v_m\}WW的一组基为{w1,w2,,ws}\{w_1,w_2,\cdots,w_s\}。我们发现,VVWW正交当且仅当viv_iwjw_j两两正交。充分性:由于viVwjWv_i \in V,w_j \in W,根据子空间正交的定义就有viwjv_i \bot w_j。必要性:把向量用基向量线性表示,应用向量内积的分配律展开一定得到0。

向量、子空间上的投影

对于二维和三维空间的投影我们已经很熟悉了。而对于Rm\mathbb{R}^m,如何来定义投影?

类比低维空间的情形情形,对于向量a,bRma,b \in \mathbb{R}^mbbaa上的投影pp应当满足(bp)a(b-p) \bot a。令p=cap=c\vec{a}。由a(bca)=0a^{\top} (b-ca)=0可以解得c=abaac=\dfrac{a^{\top} b}{a^{\top} a}

由于ca=acc\vec{a}=\vec{a}c,我们发现p=abaaa=(ab)aaa=a(ab)aa=aaaabp=\dfrac{a^{\top} b}{a^{\top} a}a=\dfrac{(a^{\top} b)a}{a^{\top} a}=\dfrac{a(a^{\top} b)}{a^{\top} a}=\dfrac{aa^{\top} }{a^{\top} a}b,其中aaaa\dfrac{aa^{\top} }{a^{\top} a}bb无关,是一个n×nn \times n的矩阵,称为投影矩阵PP。这个投影矩阵乘在任何一个向量上就得到这个向量在aa上的投影向量,即p=Pbp=Pb

在向量上的投影本质上是在一维子空间上的投影。而对于一般的子空间,向量bRmb \in \mathbb{R}^m在子空间VV上的投影pp也只应当满足(bp)V(b-p) \bot V。取VV的一组基a1,a2,,ana_1,a_2,\cdots,a_n组成矩阵A=[a1a2an]A=\begin{bmatrix}a_1 & a_2 & \cdots & a_n\end{bmatrix},由于pVp \in Vpp一定是这些基的一个线性组合,令x^=(x1,x2,,xn)\hat{x}=(x_1,x_2,\cdots,x_n),那么可以写作p=Ax^p=A\hat{x}。这个x^\hat{x}就是线性组合的系数。

根据子空间正交与基正交的等价性,(bp)V(b-p) \bot V等价于ai(bAx^)=0a_i^{\top} (b-A\hat{x})=0恒成立。而这又等价于A(bAx^)=0A^{\top} (b-A\hat{x})=0。因此Ab=AAx^A^{\top} b=A^{\top} A\hat{x}。假如AAA^{\top} A可逆,那么就能解出x^=(AA)1Ab\hat{x}=(A^{\top} A)^{-1}A^{\top} b,于是p=Ax^=A(AA)1Abp=A\hat{x}=A(A^{\top} A)^{-1}A^{\top} b。此时,投影矩阵P=A(AA)1AP=A(A^{\top} A)^{-1}A^{\top}。当AA的列数为1时,它正好退化为向量的投影矩阵(其中1×11 \times 1矩阵的逆是它的倒数)。

下面来证明AAA^{\top} A一定是可逆的。注意到Am×nA_{m \times n}有一个重要性质——它一定是列满秩的,即rank(A)=n\text{rank}(A)=n。由于AAA^{\top} An×nn \times n的,我们想要证明的其实就是rank(AA)=n\text{rank}(A^{\top} A)=n

事实上,我们可以有一个更一般的结论:对于任意的一般的矩阵AA都有rank(A)=rank(AA)\text{rank}(A)=\text{rank}(A^\top A)。更进一步,其实有N(A)=N(AA)N(A)=N(A^\top A),即它们的零空间是完全相同的。Pf:考虑xN(A)\forall x \in N(A)Ax=0Ax=0,因此一定有AAx=0A^\top A x = 0,所以xN(AA)x \in N(A^\top A)xN(AA)\forall x \in N(A^\top A)AAx=0A^\top A x=0,因此一定有xAAx=0x^\top A^\top A x=0,即(Ax)2=0(Ax)^2=0,因此Ax=0Ax=0,所以xN(A)x \in N(A)。那么根据Fundamental Theorem,它们具有一样的列宽度,所以既然他们零空间维数相同,它们的列空间维数也必须相同,因此秩相等。

投影矩阵Pm×mP_{m \times m}本身有一些性质:

一个向量被投影两次一定与被投影一次的结果相同,因此有P2=PP^2=P(也可以直接代入A(AA)1AA(A^{\top} A)^{-1}A^{\top}验证);

P=(A(AA)1A)P^{\top} =(A(A^{\top} A)^{-1}A^{\top} )^{\top} =A((AA)1)TA=A((A^{\top} A)^{-1})^{T}A^{\top} =A(AA)1A=P=A(A^{\top} A)^{-1}A^{\top} =P,因此任何投影矩阵一定是对称矩阵;

我们可以从“距离最短”的角度来看投影:投影pp是子空间里到bb距离最小的向量。即uV\forall u \in Vbu||b-u||取到最小值当且仅当u=pu=p。证明很容易,(bu)2(b-u)^2 =(bp+pu)2=(bp)2+(pu)2+2(bp)(pu)=(b-p+p-u)^2=(b-p)^2+(p-u)^2+2(b-p)(p-u)。而因为puVp-u \in V,所以(bp)(pu)(b-p) \bot (p-u)。所以(bu)2=(bp)2+(pu)2+0(b-u)^2=(b-p)^2+(p-u)^2+0,因此当且仅当u=pu = p​时取得最小值。

对于一个子空间,我们对AA的选择是多样的。而直觉上,投影矩阵PP应当是唯一的。怎么来证明这种唯一性呢?首先我们发现,从“距离最短”的角度来看投影,最小值只在一个唯一向量处取到,这个最小值就是pp。这是因为对于任意的AApp都有唯一的表示,而一旦pp被表示就与基的选取无关了,它一定是空间里唯一的一个向量(从线性映射的角度看,任何基下的坐标映射的逆映射作用在pp上都对应着向量空间中唯一的一个向量,可以用基变换矩阵说明这一点)。对于确定的bb,这个pp一定是唯一的。如果存在另一个投影矩阵PP',那么对于任意的bb都有p=Pb=Pbp=Pb=P'b。即(PP)b=0(P-P')b=0对于任意bb恒成立,必须有PP=0P-P'=0,即P=PP=P'

投影矩阵相同也可以反过来推出子空间相同:A(AA)1A=B(BB)1BA(A^{\top} A)^{-1}A^{\top} =B(B^{\top} B)^{-1}B^{\top}可以推出C(A)=C(B)C(A)=C(B)。我们知道vC(A)v \in C(A)当且仅当P1v=vP_1v=vvC(B)v \in C(B)当且仅当P2v=vP_2v=v。而P1=P2P_1=P_2,因此P1v=vP_1v=v当且仅当P2v=vP_2v=v。所以vC(A)v \in C(A)当且仅当vC(B)v \in C(B),所以C(A)=C(B)C(A)=C(B)

有一个称为“最小二乘法”的方法可以求无解线性方程组的最优近似解。对于线性方程组Ax=bAx=b,假如bC(A)b \notin C(A),那么方程组无解。我们定义“最优”的近似解是使得bx||b-x||取到最小值的xx。而我们已经看到,这个最小值就是bp||b-p||。因此对于p=Ax^p=A\hat{x}x^\hat{x}就是我们的“最小二乘解”。假如AA是列满秩的,那么我们已经得到了p=Pb=A(AA)1Abp=Pb=A(A^{\top} A)^{-1}A^{\top} b。由于pp是由AA的列向量线性组合出来的,根据基向量表示的性质,x^\hat{x}是唯一的,就有x^=(AA)1Ab\hat{x}=(A^{\top} A)^{-1}A^{\top} b。问题在于,AA可能不是列满秩的。而事实上,求最小二乘解就是求投影,我们只关心C(A)C(A)而不关心AA的具体情况。我们可以找到C(A)C(A)的一组基构成AA',那么就直接能得到答案x^=(AA)1Ab\hat{x}=(A'^{\top} A')^{-1}A'^{\top} b。(后面我们还将看到,利用奇异值分解,还可以用伪逆矩阵来求解最小二乘法问题)

正交基

考虑这样一个矩阵Am×n=[a1a2an]A_{m \times n}=\begin{bmatrix}a_1 & a_2 & \cdots & a_n\end{bmatrix},其中ai,aja_i,a_j非零且两两正交。

一个重要的事实是,我们可以证明a1,a2,,ana_1,a_2,\cdots,a_n是线性独立的:c1a1+c2a2++cnan=0c_1a_1+c_2a_2+\cdots+c_na_n=0当且仅当ai=0a_i=0恒成立。给等式两边同时乘以aia_i,那么得到ciai2=0c_ia_i^2=0,由于ai0a_i \neq 0,因此必定有ci=0c_i=0ii可以取11nn的所有值,因此cic_i必须全为0。这意味着,两两正交是一个比线性独立更强的条件。

于是我们注意到,{a1,a2,,an}\{a_1,a_2,\cdots,a_n\}构成了Rm\mathbb{R}^mC(A)C(A)的一组基,称为一组“正交基”。更特殊的,假如这些向量都是单位向量{q1,q2,,qn}\{q_1,q_2,\cdots,q_n\},那么就构成了一组“标准正交基”。

任何一个子空间AA都是有正交基的。我们归纳地构造这组基qiq_i。我们有AA的一组基{a1,a2,,an}\{a_1,a_2,\cdots,a_n\}。首先,令q1=a1q_1=a_1。归纳地假设已经构造出span({q1,q2,,qk})=\text{span}(\{q_1,q_2,\cdots,q_k\})= span({a1,a2,,ak})\text{span}(\{a_1,a_2,\cdots,a_k\})qiq_i两两正交。根据基的定义,一定有ak+1span({a1,a2,,ak})a_{k+1} \notin \text{span}(\{a_1,a_2,\cdots,a_k\})。那么,设ak+1a_{k+1}在子空间span({q1,q2,,qk})\text{span}(\{q_1,q_2,\cdots,q_k\})上的投影为pk+1p_{k+1},那么就有(ak+1pk+1)qi(a_{k+1}-p_{k+1})\bot q_i恒成立,于是令qk+1=ak+1pk+1q_{k+1}=a_{k+1}-p_{k+1},就有q1q_1qk+1q_{k+1}就是两两正交(qk+10q_{k+1} \neq 0)。同时,qk+1q_{k+1}ak+1a_{k+1}pk+1p_{k+1}组合而成,而pk+1p_{k+1}q1qkq_1 \cdots q_k组合而成。也就是说ak+1a_{k+1}可以用q1qk+1q_1 \cdots q_{k+1}替换。qk+1q_{k+1}也可以用a1ak+1a_1 \cdots a_{k+1}替换。因此一定有span({q1,q2,,qk+1})\text{span}(\{q_1,q_2,\cdots,q_{k+1}\}) =span({a1,a2,,ak+1})=\text{span}(\{a_1,a_2,\cdots,a_{k+1}\})。最终,我们就得到了AA的正交基{q1,q2,,qn}\{q_1,q_2,\cdots,q_n\}。这个过程称为Gram-Schmidt正交化。让所有qiq_i缩成单位向量,我们就可以说,任何一个子空间都有标准正交基。

这给了我们启发。既然任何一个子空间都有“标准正交基”,那么我们在投影的时候,不妨就选择QQ来代替一般的矩阵AA。其中Q=[q1q2qn]Q=\begin{bmatrix}q_1 & q_2 & \cdots & q_n\end{bmatrix}。那么p=Pb=Q(QQ)1Qbp=Pb=Q(Q^{\top} Q)^{-1}Q^{\top} b。观察QQQ^{\top} Q,我们发现QQ(i,i)=qiqi=1Q^{\top} Q(i,i)=q_i \cdot q_i=1,QQ(i,j)=qiqj=0Q^{\top} Q(i,j)=q_i \cdot q_j=0。因此QQ=IQ^{\top} Q=I。于是表达式变得非常简洁,直接有p=QQbp=QQ^{\top} b,根据分块矩阵的运算性质p=[q1qn][q1bqnb]=q1q1b++qnqnbp=\begin{bmatrix}q_1 & \cdots q_n\end{bmatrix}\begin{bmatrix}q_1^\top b \\ \vdots \\ q_n^\top b\end{bmatrix}=q_1q_1^{\top} b+\cdots+q_nq_n^{\top} b。而由于qi=1||q_i||=1,这其实表示qiqib=qiqiqiqibq_iq_i^{\top} b=\dfrac{q_iq_i^{\top} }{q_i^{\top} q_i}b,这正是bbqiq_i上的投影!

也就是说,bb的投影等于bb在各个标准正交基上的投影的向量和。当bb落在子空间内时,p=b=qiqiqiqibp=b=\sum\dfrac{q_iq_i^{\top} }{q_i^{\top} q_i}b,说明bb本身就等于它在各个标准正交基上的投影的向量和——这就是我们熟悉的“正交分解”!对于一般的基,各个投影会互相干扰,而正交的投影是可以各自独立的。

选择标准正交基极大简便了计算。P=A(AA)1AP=A(A^{\top} A)^{-1}A^{\top}简化为了P=QQP=QQ^{\top} p=qiqiqiqibp=\sum\dfrac{q_iq_i^{\top} }{q_i^{\top} q_i}b简化为了p=qiqibp=\sum q_iq_i^{\top} b

QQ是标准正交基构成的矩阵”与“QQ=IQ^{\top} Q=I”是充要的。我们已经证明了充分性,而必要性也是显然的:qiqj=0q_i^{\top} q_j=0得知列向量两两正交,qiqi=1q_i^{\top} q_i=1得知所有向量均为单位向量。

正交矩阵

注意标准正交基构成的矩阵QQ一般不是方阵,不是方阵就不能有逆矩阵。假如QQn×nn \times n的,它就被称为“正交矩阵”。正交矩阵一定指方阵。它由nn个两两垂直的Rn\mathbb{R}^n中的单位向量构成。由于QQ的列线性独立,因此QQ可逆。由上面的论证知道“QQ是正交矩阵”与“QQ=IQ^{\top} Q=I”是充要的。由QQ=IQ^{\top} Q=I可得Q1=QQ^{-1}=Q^{\top} ,即正交矩阵的转置就是它的逆矩阵。而(Q1)Q1(Q^{-1})^{\top} Q^{-1} =(Q1)Q=(Q^{-1})^{\top} Q^{\top} =(QQ1)=I=(QQ^{-1})^{\top} =I,因此Q1Q^{-1}也是正交矩阵。这说明了QQ^{\top} 也是正交矩阵,即正交矩阵的行向量也是两两正交的单位向量。

有很多矩阵是正交矩阵。用来旋转向量的“旋转矩阵”是正交矩阵,初等行变换中的“排列矩阵”是正交矩阵,镜面反射的“对称矩阵”是正交矩阵……观察普遍性,我们发现正交矩阵有一种“保内积性”:QxQy=xyQx \cdot Qy=x \cdot y。因为(Qx)Qy=xQQy=xy(Qx)^{\top} Qy=x^{\top} Q^{\top} Qy=x^{\top} y。当x,yx,y是同一个向量时,“保内积”退化为了“保模长”,即(Qx)2=x2(Qx)^2=x^2,推出Qx=x||Qx||=||x||。旋转、置换、对称都是不改变被作用的向量的长度的。

正交补空间

对于Rn\mathbb{R}^n中一个子空间VV,我们把Rn\mathbb{R}^n中所有与VV正交的向量收集在一起形成一个集合。我们发现,这个集合是一个子空间:对于u1V,u2Vu_1 \bot V,u_2 \bot V,一定有(u1+u2)V(u_1+u_2) \bot V,也有cu1Vcu_1 \bot V。这个子空间就称为VV的正交补空间,记作VV^\bot

根据Gram-Schmidt正交化,我们一定可以找到VV的一组标准正交基v1,,vkv_1,\cdots,v_k。根据Steinitz Exchange Lemma,我们可以把这组基扩张为整个Rn\R^n的标准正交基v1,,vk,vk+1,,vnv_1,\cdots,v_k,v_{k+1},\cdots,v_n,并且我们可以认为VV就是span{v1,,vk}\text{span}\{v_1,\cdots,v_k\}

观察span{vk+1,,vn}\text{span}\{v_{k+1},\cdots,v_{n}\},其中的任何一个向量都正交于VV。而任何一个与VV正交的向量ww都可以写成基的表示w=c1v1++ckvk+ck+1vk+1++cnvnw=c_1v_1+\cdots+c_kv_k+c_{k+1}v_{k+1}+\cdots+c_nv_n,等式两边依次与v1..kv_{1..k}做内积就得到wvi=civi2w \cdot v_i=c_iv_i^2,即0=ci0=c_i,因此c1,,ckc_1,\cdots,c_k都为0,因此一定有w=ck+1vk+1++cnvnw=c_{k+1}v_{k+1}+\cdots+c_nv_n,即wspan{wk+1,,wn}w \in \text{span}\{w_{k+1},\cdots,w_n\}

任何一个与VV正交的向量都落在span{vk+1,,vn}\text{span}\{v_{k+1},\cdots,v_{n}\}中,而span{vk+1,,vn}\text{span}\{v_{k+1},\cdots,v_{n}\}中任何一个向量都与VV正交,因此span{vk+1,,vn}\text{span}\{v_{k+1},\cdots,v_{n}\}就是VV的正交补空间。VV的正交补就是VV的正交基的“补基”张成的空间。

对于矩阵Am×nA_{m \times n}AA的行空间的正交补是零空间。首先,行空间和零空间都是Rn\R^n中的子空间。因为行空间的任意向量都可以表示成行向量的线性组合,而零空间中的任意向量都与每一个行向量正交,由内积的乘法分配律,我们得到零空间中的每个向量都落在行空间的正交补当中。而对于一个零空间以外的向量,满足Ax0Ax \neq 0,即至少存在一个行向量与这个向量的内积不为0,因此这个向量与行空间一定不是正交的。所以零空间和行空间是互补的。在之后的奇异值分解中,这一点会体现得更加清晰。