DennyQi's Log

07 线性映射

线性映射

定义和性质

设我们有一个从线性空间VV到线性空间WW的映射TT,即vV\forall v \in VT(v)WT(v) \in W。如果满足T(v+w)=T(v)+T(w),T(cv)=cT(v)T(v+w)=T(v)+T(w),T(cv)=cT(v)对任意v,wV,cRv,w \in V,c \in \R恒成立,就称TT是一个VVWW的线性映射。

T(0)=0T(0)=0,因为T(0)=T(0v)=0T(v)=0T(0)=T(0 \cdot v) = 0T(v)=0

T(cv+dw)=T(cv)+T(dw)=cT(v)+dT(w)T(cv+dw)=T(cv)+T(dw)=cT(v)+dT(w)

T(c1v1++cnvn)=c1T(v1)++cnT(vn)T(c_1v_1+\cdots+c_nv_n)=c_1T(v_1)+\cdots+c_nT(v_n)

这告诉我们,对一列向量:先做线性组合再映射,与先映射再做线性组合等价的。

基的映射决定线性映射

VVWW的线性映射是多种多样的。而我们意识到,只要确定了VV的一组基映射的结果,就唯一确定了这个映射。

Pf: 设{vi}\{v_i\}VV的一组基。那么T(v)=T(i[n]civi)=i[n]ciT(vi)T(v)=T(\sum\limits_{i \in [n]}c_iv_i)=\sum\limits_{i \in [n]}c_iT(v_i)。由于cic_i是由vv唯一确定的,那么只要确定T(vi)T(v_i),就能确定任意T(v)T(v)

这意味着,我们只需要dim(V)\dim(V)个向量就可以确定一个线性映射,这有点像线性空间中“基”的概念。事实上我们意识到,“所有VVWW的映射TT”构成的一个“映射的集合”也是一个线性映射,只要我们定义T1+T2T_1+T_2(T1+T2)(v)=T1(v)+T2(v)(T_1+T_2)(v)=T_1(v)+T_2(v),定义cTcT(cT)(v)=cT(v)(cT)(v) = c\cdot T(v)

坐标

所谓坐标,就是为线性空间选定一组基用“一组系数”来表示一个向量。如果在VV中选定一组基{vi}\{v_i\},那么任何vv可以唯一地写作c1v1++cnvnc_1v_1+\cdots+c_nv_n,于是(c1,,cn)(c_1,\cdots,c_n)就称为vv的坐标。在基确定的前提下,坐标是描述向量的最直接的方式。

(c1,,cn)(c_1,\cdots,c_n)本身也可以看作Rn\R^n中的一个向量。可以证明,或者说显然,nn维向量vvnn维向量(c1,,cn)(c_1,\cdots,c_n)之间是双射的。我们可以进一步验证这是一个线性映射,这就是坐标映射,记作TvˉT_{\bar{v}},它把一个向量映射为其在基下对应的坐标向量。

如果选取不同的基{vi}\{v_i'\},坐标就会不同。我们想知道,如何通过这两组不同的基来得到这两个坐标映射之间的联系?答案是,仅仅需要乘一个矩阵。一定存在MM使得Tvˉ(v)=MTvˉ(v)T_{\bar{v}}(v)=MT_{\bar{v'}}(v)恒成立。

根据定义我们有v=[v1vn]Tvˉ(v)=[v1vn]Tvˉ(v)v=\begin{bmatrix}v_1 & \cdots & v_n\end{bmatrix}T_{\bar{v}}(v)=\begin{bmatrix}v_1' & \cdots & v_n'\end{bmatrix}T_{\bar{v'}}(v)。那么只需证明一定存在MM使得[v1vn]M=[v1vn]\begin{bmatrix}v_1 & \cdots & v_n\end{bmatrix}M=\begin{bmatrix}v_1' & \cdots & v_n'\end{bmatrix}。用矩阵乘法相当于列向量的线性组合来理解,只需写出如何用{vi}\{v_i\}线性组合出每个viv'_i就可以得到MM,因此MM一定是存在且唯一的。同时,如果把两组基的位置对调,那么一定可以重复一遍上述过程,也就能找到对应的矩阵MM'。即[v1vn]M=[v1vn]\begin{bmatrix}v_1' & \cdots & v_n'\end{bmatrix}M'=\begin{bmatrix}v_1 & \cdots & v_n\end{bmatrix}。根据VM=V,VM=VVM=V',V'M'=V联立,得到M=VV1,M=V(V)1M=V'V^{-1},M'=V(V')^{-1},因此MM=VV1V(V)1=IMM'=V'V^{-1}V(V')^{-1}=IMM一定是可逆的,MM'就是M1M^{-1}

这个矩阵就称为从vˉ\bar{v}vˉ\bar{v'}的基变换矩阵。

根据定义,要注意区分:

原先的基向量构成的矩阵右乘基变换矩阵就能得到新的基向量构成的矩阵,[v1vn]M=[v1vn]\begin{bmatrix}v_1 & \cdots & v_n\end{bmatrix}M=\begin{bmatrix}v_1' & \cdots & v_n'\end{bmatrix}

同时,变换后的坐标向量左乘及变换矩阵得到变换前的坐标向量,[x1x2xn]=M[x1x2xn]\begin{bmatrix}x_1\\x_2\\\vdots\\x_n\end{bmatrix}=M\begin{bmatrix}x'_1\\x'_2\\\vdots\\x'_n\end{bmatrix}

矩阵与线性映射

我们容易验证对于矩阵AAT(v)=AvT(v)=Av是个线性映射,因为矩阵乘法的运算法则满足线性性。我们把这个映射记作TAT_A

显而易见的是,一个m×nm\times n的矩阵可以看作一个从Rn\R^nRm\R^m的线性映射。它对应着从满的一个空间映射到另一个满的空间。

下面我们要说明:任何两个向量空间(比如子空间)之间的线性映射本质上就是一个矩阵。

对于向量空间V,WV,W,设VV有一组基{v1..n}\{v_{1..n}\}WW有一组基{w1..m}\{w_{1..m}\}。我们知道只要确定T(vi)T(v_i)就能确定TT,而根据WW中基向量的唯一表示可以写出T(vi)=j[m]aijwjT(v_i)=\sum\limits_{j \in [m]}a_{ij}w_j,系数aija_{ij}唯一确定。aija_{ij}能够构成n×mn \times m的矩阵AA,其中A(i,j)=aijA(i,j)=a_{ij}。而v\forall vT(v)=T(i[n]civi)=i[n]ciT(vi)T(v)=T(\sum\limits_{i \in [n]}c_iv_i)=\sum\limits_{i \in [n]}c_iT(v_i)。代入就有T(v)=i[n]ci(j[m]aijwj)=j[m](i[n]ciaij)wjT(v)=\sum\limits_{i \in [n]}c_i\left(\sum\limits_{j \in [m]}a_{ij}w_j\right)=\sum\limits_{j\in [m]}\left(\sum\limits_{i \in [n]}c_ia_{ij}\right)w_j。也就是说我们通过T(v)T(v){vi}\{v_i\}基下的坐标cic_i找到了其在{wi}\{w_i\}基下的坐标,记为did_i。那么通过上式得到dj=i[n]ciaijd_j=\sum\limits_{i \in [n]}c_ia_{ij}。我们令矩阵AT(i,j)=ajiA_T(i,j)=a_{ji},那么dj=i[n]AT(j,i)cid_j=\sum\limits_{i \in [n]}A_T(j,i)c_i,也即我们有坐标变换[d1dn]=AT[c1cn]\begin{bmatrix}d_1 \\ \vdots \\ d_n\end{bmatrix}=A_T\begin{bmatrix}c_1 \\ \vdots \\ c_n\end{bmatrix}。因此所有线性映射在特定的坐标表示下就等价于乘以一个矩阵!

在这个过程,实际上发生了这样的事:一个VV中的向量有一个坐标表示,其映射后的向量在WW中也有一个坐标表示。而当我们观察(计算)这两个坐标的关系的时候,发现他们恰好满足矩阵乘法的运算法则。

如果基的选取是确定的,那么一旦TT确定,ATA_T也确定;一旦ATA_T确定,那么TT也确定。因此在基确定的前提下,线性映射与其对应的矩阵是双射的。另外,线性变换是可以复合的,而复合就是矩阵的乘法。

假如基变了,我们只需要联立矩阵映射的式子与基变换矩阵的式子就可以解出新的矩阵了。比如假如TTVVV \to V的映射,选择两边都用vˉ\bar{v}作为基对应矩阵ATA_T,选择两边都用vˉ\bar{v'}作为基对应矩阵BTB_T。假设某个向量v0v_0vˉ\bar{v}下坐标是xxT(v0)T(v_0)坐标是yy。在vˉ\bar{v'}下相应的是x,yx',y'。那么就有x=Mx,y=Myx=Mx',y=My'。同时还有ATx=y,BTx=yA_Tx=y,B_Tx'=y'。联立得到AMx=MBxAMx'=MBx'。由于对所有的xx'这个式子都成立,因此AM=MBAM=MB,于是解得B=M1AMB=M^{-1}AM

其实我们做的事情是,从任何一个向量空间到另一个向量空间的线性映射,等价于“坐标”在一个满的空间到另一个满的空间的映射。而我们知道满的空间的映射就是矩阵,所以任何一个线性映射都可以用矩阵表示。任何一个线性空间都可以通过基的选取和坐标向量而“等价于”Rn\R^n这样的空间。

特征向量作为基

怎样选基最好?最好的基应当能使ATA_T尽可能的简单。我们发现,如果选择特征向量作为基,那么ATA_T将是一个对角阵。根据线性映射定义的特征向量和之前根据矩阵定义的特征向量本质上就是一回事:如果映射前后选同一组基,那么向量乘以某个常数对应着坐标也乘这个常数——T(v)=λvT(v)=\lambda v相当于对于vv的坐标xx满足了ATx=λxA_Tx=\lambda x

如果能够在VV中找到nn个线性独立的特征向量,那么我们就得到了一组基。以这组基为基础,T(v1)=λ1v1T(v_1)=\lambda_1 v_1就是AT[100]=[λ100]A_T \begin{bmatrix}1 \\ 0\\\vdots \\ 0\end{bmatrix}=\begin{bmatrix}\lambda_1 \\ 0\\\vdots \\ 0\end{bmatrix}。依次类推,就能得到AT=[λ1000λ2000λn]A_T=\begin{bmatrix}\lambda_1 & 0 & \cdots & 0 \\ 0 & \lambda_2 & \cdots & 0\\\vdots & \vdots & \ddots & \vdots \\ 0 & 0 & \cdots & \lambda_n\end{bmatrix}。用它作为矩阵是方便的,因为AT[x1x2xn]=[λ1x1λ2x2λnxn]A_T\begin{bmatrix}x_1\\x_2\\\vdots\\x_n\end{bmatrix}=\begin{bmatrix}\lambda_1x_1\\\lambda_2x_2\\\vdots\\\lambda_nx_n\end{bmatrix}

从线性映射看矩阵

知道了矩阵本质上是线性映射,我们就可以从线性映射的“高观点”来理解矩阵。

The Rank-Nullity Theorem

定义T:VWT:V \to W的Image为集合{T(v)vV}\{T(v)|v \in V\},记作Im(T)\text{Im}(T)。定义TT的Kernel为集合{vT(v)=0}\{v|T(v)=0\},记作Ker(T)\text{Ker}(T)

Im(T)\text{Im}(T)Ker(T)\text{Ker}(T)都是向量空间,并且分别是WWVV的子空间。TT是满射当且仅当dim(Im(T))=dim(W)\dim(\text{Im}(T))=\dim(W)TT是单射当且仅当Ker(T)={0}\text{Ker}(T)=\{0\}(必要性Pf:T(v1)=T(v2)T(v_1)=T(v_2)当且仅当T(v1v2)=0T(v_1-v_2)=0当且仅当v1=v2v_1=v_2

如果从矩阵的角度看,Im(T)\text{Im}(T)就对应着对于所有的坐标xxATxA_Tx收集在一起,因此dim(Im(T))=dim(C(AT))\dim(\text{Im}(T))=\dim(C(A_T))Ker(T)\text{Ker}(T)就是所有满足ATx=0A_Tx=0xx,因此dim(Ker(T))=dim(N(AT))\dim(\text{Ker}(T))=\dim(N(A_T))。根据我们的Fundamental Theorem,dim(C(AT))+dim(N(AT))=n\dim(C(A_T))+\dim(N(A_T))=n,其中nnATA_T的列数,也就是dim(V)\dim(V)

结论dim(Im(T))+dim(Ker(T))=dim(V)\dim(\text{Im}(T))+\dim(\text{Ker}(T))=\dim(V)就是我们的The Rank-Nullity Theorem。它告诉我们一个线性映射的image与Kernel的维数之和等于定义域的维数。它本质上和我们之前证明的The Fundamental Theorem of Linear Algebra是同一回事,但我们记得我们用高斯消元来证明这个定理的时候过程繁琐而且非常不自然。现在我们将给出一个非常简洁自然的证明。

VVnn维的,并且有一组基vˉ\bar{v}。于是Im(T)=span{T(v1),,T(vn)}\text{Im}(T)=\text{span}\{T(v_1),\cdots,T(v_n)\}{T(v1),,T(vn)}\{T(v_1),\cdots,T(v_n)\}的极大线性无关组就是Im(T)\text{Im}(T)的一组基,不妨设这个极大线性无关组为{w1,,wm}\{w_1,\cdots,w_m\},为了书写方便,我们就不妨设他们就对应着{T(v1),,T(vm)}\{T(v_1),\cdots,T(v_m)\}。再假设Ker(T)\text{Ker}(T)有一组基{v1,,vp}\{v_1',\cdots,v_p'\}。我们断言v1,,vm,v1,,vpv_1,\cdots,v_m,v_1',\cdots,v_p'VV的一组基,这样就能证明m+p=nm+p=n,证明也就结束了。

先证span{v1,,vm,v1,,vp}=V\text{span}\{v_1,\cdots,v_m,v_1',\cdots,v_p'\}=VvV\forall v \in VT(v)=i[m]xiT(vi)=T(i[m]xivi)T(v)=\sum\limits_{i \in [m]}x_iT(v_i)=T(\sum\limits_{i \in [m]}x_iv_i)。因此T(vi[m]xivi)=0T(v-\sum\limits_{i \in [m]}x_iv_i)=0,推出vi[n]xiviKer(T)v-\sum\limits_{i \in [n]}x_iv_i \in \text{Ker}(T)。我们知道Ker(T)\text{Ker}(T)中的元素被v1vpv_1'\cdots v_p'线性表示,因此综合起来vv一定能被v1,,vmv_1,\cdots,v_m以及v1,,vpv_1',\cdots,v_p'线性表示。

再证v1,,vm,v1,,vpv_1,\cdots,v_m,v_1',\cdots,v_p'线性独立。对于i[m]xivi+i[p]yivi=0\sum\limits_{i \in [m]}x_iv_i+\sum\limits_{i \in [p]}y_iv_i'=0,两边同时映射上TT,就得到T(i[m]xivi+i[p]yivi)=T(0)=0T(\sum\limits_{i \in [m]}x_iv_i+\sum\limits_{i \in [p]}y_iv_i')=T(0)=0。因此i[m]xiT(vi)+i[p]yiT(vi)=0\sum\limits_{i \in [m]}x_iT(v_i)+\sum\limits_{i \in [p]}y_iT(v_i')=0,而我们知道任何T(vi)T(v_i')都是0,因此这等价于i[m]xiT(vi)=0\sum\limits_{i \in [m]}x_iT(v_i)=0,由于已知T(vi)T(v_i)是线性独立的,因此全部xix_i都为0。带回最初的式子,就有i[p]yivi=0\sum\limits_{i \in [p]}y_iv_i'=0,因此所有的yiy_i都为0。所有系数都为0,线性独立得证。

一个应用:

我们曾经证明过rank(AB)min{rank(A),rank(B)}\text{rank}(AB) \leq \min\{\text{rank}(A),\text{rank}(B)\},这给出了一个rank(AB)\text{rank}(AB)的上界。现在我们来证明下界:

rank(AB)rank(A)+rank(B)n\text{rank}(AB) \geq \text{rank}(A)+\text{rank}(B)-n(设Am×n,Bn×A_{m \times n},B_{n \times \ell}

利用The Rank-Nullity Theorem,这等价于dim(N(AB))ndim(N(A))+dim(N(B))n\ell-\dim(N(AB)) \geq n-\dim(N(A))+\ell-\dim(N(B))-n,化简得到dim(N(AB))dim(N(A))+dim(N(B))\dim(N(AB)) \leq \dim(N(A))+\dim(N(B))

考虑对于线性映射T:N(AB)RnT:N(AB) \to \R^nT(x)=BxT(x)=Bx,那么dim(N(AB))=dim(Im(T))+dim(Ker(T))\dim(N(AB))=\dim(\text{Im}(T))+\dim(\text{Ker}(T))xN(AB)x \in N(AB)要求ABx=0ABx=0,因此Bx=T(x)N(A)Bx=T(x) \in N(A),因此dim(Im(T))dim(N(A))\dim(\text{Im}(T)) \leq \dim(N(A))。而xKer(T)x \in \text{Ker}(T)等价于Bx=0Bx=0,这等价于xN(B)x \in N(B),因此dim(Ker(T))dim(N(B))\dim(\text{Ker}(T)) \leq \dim(N(B))。因此就有dim(N(AB))dim(N(A))+dim(N(B))\dim(N(AB)) \leq \dim(N(A))+\dim(N(B))