我在前面说过,线性变换就好比作用于线性空间上的函数.我们在本章第二节里面也详细学习了线性变换中所体现出的函数的性质.在本节中我们将重点讨论线性变换的复合的本质——矩阵的乘法.在谈论线性变换的复合之前,我们有必要首先引入矩阵的乘法运算,只有这样我们才能更好地学习线性变换的复合.
定义 2.7
设A为m×n矩阵,B为k×r矩阵.当且仅当n=k时,矩阵乘法AB有意义,并且其结果C=AB为m×r矩阵.我们设A的行向量分别为v1,⋯,vm ; B的列向量分别为u1,⋯,ur.则在C中,有Cij=(vi)⊤⋅(uj)=(vi)⋅(uj)⊤(1≤i≤m;1≤j≤r).
根据定义,对于C=AB而言,Cij即为A中第i行与B中第j列取“数量积”的结果.我们注意到,若使得AB有意义,我们必须确保矩阵A的列数与矩阵B的行数相等.我们来通过实际的例子来熟悉矩阵的乘法运算:
例题 2.8
设A=1213−11,B=(11012−1),C=(122−1).那么在AB,AC,BC中,哪些运算有意义?在运算有意义的情况下其结果是多少?
解答 2.8
在AB中,A∈M32,B∈M23, 因此运算结果有意义且AB∈M33. 通过计算我们得到
AB=(1,3)⋅(1,1)(2,−1)⋅(1,1)(1,1)⋅(1,1)(1,3)⋅(0,1)(2,−1)⋅(0,1)(1,1)⋅(0,1)(1,3)⋅(2,−1)(2,−1)⋅(2,−1)(1,1)⋅(2,−1)=4123−11−151.在AC中,A∈M32,C∈M22, 因此运算结果有意义且AC∈M32. 通过计算我们得到
AC=(1,3)⋅(1,2)(2,−1)⋅(1,2)(1,1)⋅(1,2)(1,3)⋅(2,−1)(2,−1)⋅(2,−1)(1,1)⋅(2,−1)=503−151.在BC中, B∈M23,C∈M22, 其中B的列数同C的行数不相等,因此运算BC没有意义.
矩阵的乘法还可以从矩阵与向量乘法的角度进行审视,下面的定理便是另一种求解矩阵乘法的方式:
定理 2.8
设A,B为矩阵,且AB有意义.设B=(b1b2⋯bn),则AB=(Ab1Ab2⋯Abn).
不难证明该计算法则与定义2.7中所提到的法则是等价的.
例题 2.9
设矩阵A=(21−10),C=(−1132), 据此找出满足条件的矩阵B, 使得AB=C.
解答 2.9
首先根据定义,我们知道B是2×2矩阵.我们不妨设B=(acbd), 随后根据矩阵乘法的定义,我们有
(21−10)(acbd)=(2a−ca2b−db)=(−1132)由此我们得出线性方程组⎩⎨⎧2a−c=−12b−d=3a=1b=2, 不难解得⎩⎨⎧a=1b=2c=3d=1.由此我们得到矩阵B=(1321).
矩阵的加法运算较乘法运算而言更加简单,我们只需要把对应位置的元素相加即可.这也说明当且仅当矩阵A,B均为m×n矩阵时,其加法运算A+B有意义,记C=A+B, 则(C)ij=(A)ij+(B)ij.
根据矩阵乘法运算的法则,如果A,B均为n×n矩阵,那么其乘积AB,BA也均为n×n矩阵.此时也会有非常多的性质与推论.我们重点研究的对象便是n×n矩阵之间的乘积.在所有的n×n矩阵中,有一种矩阵最为特殊:即由所有Rn的标准基底中的向量e1,e2,⋯,en为列向量所构成的矩阵I=(e1e2⋯en).该矩阵我们也称作是单位矩阵 (Identity Matrix), 其中ei的模均为1,且在ei中有且仅有第i个位置的元素为1,其余元素均为0. 并且ei⋅ej={10(i=j)(i=j). 全体n×n矩阵构成的集合我们写作Mn, 不难发现Mn同样构成线性空间.
定理 2.9
设In为单位矩阵, 则对于任意的A∈Mn, x∈Rn, AI=IA=A;
Ix=x.
另外矩阵之间还满足一定的运算法则:
定理 2.10
设存在矩阵A,B,C使得任意两个矩阵之间的加法,乘法均有意义,设λ∈R, x为向量, 则① A(BC)=(AB)C
② A(B+C)=AB+AC
③ (B+C)A=BA+CA
④ λ(AB)=(λA)B=A(λB)
⑤ A(Bx)=(AB)x (在运算有意义时)
⑥ (AB)⊤=B⊤A⊤,(A+B)⊤=A⊤+B⊤
⑦ (A⊤)⊤=A
在定理2.10的第一条性质里面,我们因此知道矩阵乘法满足乘法的结合律,因此当涉及多个矩阵的乘法时,我们往往也可以将括号省略不写,比如我们可以直接写作ABCD, 其代表4个矩阵的乘积,同时根据乘法的分配律我们有ABCD=(AB)(CD)=A(BCD)=(ABC)D=A(BC)D等多种形式. 因此多个矩阵相乘时可以改变括号的位置, 但不能改变矩阵的相对顺序. 这是因为根据矩阵乘法的定义,AB与BA并不一定相等,这一点读者可以自行验证.交换位置之后矩阵的乘法很可能就没有意义,或者结果发生改变.
例题 2.10
设A为m×n矩阵, B为n×n矩阵, 满足AB=0且A不为零矩阵.那么是否存在n×n矩阵C, 使得BC=I?
解答 2.10
我们假设这样的矩阵C存在.由于BC=I, 根据矩阵乘法的定义,我们可以在等式两边同时乘以矩阵A,使得原式仍有意义.即A(BC)=A(I), 由此我们得到(AB)C=A, 因为我们知道AB=0, 则(AB)C=A(BC)=AI=0, 即A=0, 这一点与题设A=0矛盾,即不存在这样的矩阵C, 使得BC=I.
在矩阵乘法中,有一类乘法是我们重点研究的对象:即同为n×n矩阵之间的乘法.这样一来根据定义,如果A,B∈Mn, 那么其乘积AB,BA必然存在且有意义(但不一定相等),且乘积所得到的新矩阵也为n×n矩阵, 这样一来我们就可以将全体的n×n矩阵当成是线性空间Mn中的“向量”来看待,通过研究线性变换来研究矩阵的乘法.我会在本节的后半部分引入线性变换.
定义 2.8
若矩阵A满足A=A⊤, 我们称A为对称矩阵 (Symmetric Matrix).
我们设A为m×n矩阵,那么根据矩阵转置的定义,A⊤为n×m矩阵.若A=A⊤, 我们则首先要保证二者的行数,列数相同,即m=n. 因此只有n×n矩阵存在对称矩阵. 由全部n×n对称矩阵构成的集合我们也可以用Sym(Mn)表示. Sym(Mn)也是一个线性空间,读者可以自行尝试证明.
例题 2.11
设A,B∈Sym(Mn), 证明AB∈Sym(Mn)当且仅当AB=BA.
解答 2.11
我们先证充分性: 假设AB∈Sym(Mn), 那么根据转置矩阵的性质我们有AB=(AB)⊤.另外我们也知道(AB)⊤=B⊤A⊤, 即AB=B⊤A⊤.再由A,B∈Sym(Mn)可知A=A⊤;B=B⊤, 因此AB=B⊤A⊤=BA, 充分性得证.
我们随后证必要性:假设AB=BA, 那么(AB)⊤=(BA)⊤, 即B⊤A⊤=(BA)⊤. 再由A,B∈Sym(Mn)知, B⊤A⊤=BA=(BA)⊤, 即AB=(AB)⊤, 故AB∈Sym(Mn), 必要性得证.
对于n×n矩阵乘法而言,我们引入了分块矩阵 (Block Matrix), 即将矩阵写成是若干个维数更小的m×n矩阵. 我们通过研究这些m×n矩阵,也可以得出很多重要的性质和推论. 这些矩阵块可以是方阵, 也可以是矩形矩阵;关键是相邻矩阵进行分块乘法时,各块尺寸必须匹配.
我们先假设
A=102301−11004−100270015,
那么我们发现,在矩阵A中有很多性质比较好的“局部”,比如有一片区域为零,同时左上角区域还存在一个单位矩阵I∈M2, 因此我们可以把这些性质比较好的矩阵分割出来, 写成如下的形式:
A=10−−2301−−−1100−∣−4−100−−2700−−15−−=(I2P0Q)
这样一来,我们很大程度地简化了矩阵A的结构. 假设此时我们有另外一个矩阵B:
B=457−11−26306,
那么在计算矩阵乘法时, 我们其实就可以把分块矩阵当成一个整体,然后按照常规的矩阵乘法进行计算.比如我们也可以将B写成这样的分块矩阵:
B=45−−7−11−26−−306=(XY).
在进行矩阵的分块时,我们一定要选取合适的位置.我们想通过分块,使得原矩阵变成数个结构简单的矩阵,同时我们还要考虑每一个分块在与另一个矩阵的对应分块相乘时有意义.按照我们的划分,乘积AB即可以写作
AB=(I2P0Q)(XY)=(I2X+0YPX+QY)=(XPX+QY)=45−−308−26−−827.
所以在计算矩阵的乘法时,我们可以将矩阵划分成若干个分区,把每一个分区当成一个整体进行矩阵乘法.对于一种特殊类型的矩阵,存在下列定理:
定理 2.11
假设A=(B0XC),A1=(B10X1C1) 均为分块矩阵,其中B,B1; C,C1均为同等大小的矩阵. 那么
AA1=(B0XC)(B10X1C1)=(BB10BX1+XC1CC1).
该定理的证明便是矩阵乘法定义的直接应用. 我们由此还可以得到一条推论:
推论 2.1
假设A=(In0X0)为分块矩阵. 则对于任意的正整数k, 有Ak=A.
证明
首先我们有A2=(I0X0)(I0X0), 根据定理2.11,
A2=(I0X0)(I0X0)=(I20IX+X00)=(I0X0)=A.因此, 运用数学归纳法不难发现Ak=A.
∎
说了这么多矩阵的乘法,让我们回到线性变换,用线性变换的角度去审视矩阵的乘法.假设我们有线性变换T:V⟶W, S:W⟶U. 我们是否可以构造出一个新的线性变换Q:V⟶U?
我们假设v∈V, 那么通过变换T, 我们知道T(v)∈W, 我们不妨设T(v)=w; 通过变换S, 我们知道S(w)∈U, 我们不妨设S(w)=u. 我们再将w进行代换, 即S(T(v))=w. 我们此时得到,S(T(v))=ST(v), 于是我们看到矩阵的乘法实际上也就是两个线性变换的复合.此时ST(v)也可以记作S∘T.
定义 2.9
设线性变换T:V⟶W;S:W⟶U, 我们称线性变换T与S的复合 (Composite) 为ST:V⟶U, ST(v)=S(T(v)).
注意到该法则的顺序可能与我们的正常认知有所不同.在这里ST代表“先T”后“S”, 简单来说可以理解为“先内后外”.就好比复合函数f(g(x)), 我们需要先求出内层函数g(x)的值,然后在求解外层函数f(x)的值.
引入线性变换之后,我们重新回到之前我提出的两个问题: 第一,不是所有的矩阵之间都可以做乘法.我们还以上面定义过的T,S为例: 如果我们定义变换TS, 即T(S(w)),w∈W, 那么我们此时发现u=S(w)∈U, 而u=S(w)∈/V. 因此这个时候T(u)即没有意义, 因为u不在其线性变换所定义的范围之内. 在我们给出的使得矩阵AB有意义的条件里面,我强调了矩阵A的列数等于B的行数, 现在我们能否用线性变换的知识去解答这一点? 第二, 我强调AB与BA不一定相等. 为了加深对这一点的理解, 我们来一起看下面这个例子:
例题 2.12
在平面直角坐标系R2中, 选取其基底为标准基底E.考虑两个线性变换:① T:R2⟶R2, 该变换代表将向量v以原点为旋转中心顺时针旋转π/4 ; ②
S:R2⟶R2, 该变换代表将向量v正交投影至x坐标轴上. 分别求出ST,TS, 并判断二者是否相等.
解答 2.12
我们首先求出线性变换T,S在标准基底下所对应的矩阵.对于T而言,我们设其变换矩阵为A,有
A=[T((10))T((01))]=(22−222222).我们再求线性变换S在标准基底下所对应的矩阵.对于S而言,我们设其变换矩阵为B,有
B=[S((10))S((01))]=(1000).那么我们有
T(S(v))=(TS)v=((1000)(22−222222))v=(220220)v.S(T(v))=(ST)v=((22−222222)(1000))v=(22−2200)v.我们由此发现, ST=TS.
在上面的例题中, (TS)v既代表了先将向量正交投影至x轴上, 然后再顺时针旋转4π的变换; 而(ST)v则代表了先将向量x顺时针旋转4π, 然后在正交投影至x轴的变换.
{2.3 练习}
1. 下列说法中,哪些是正确的?那些是错误的?如果是错误的,请找出一个反例或者说明原因.
① A2=I的充要条件是A=I;
② AJ=A的充要条件是J=I;
③ 设A为n×n矩阵, 则(A⊤)3=(A3)⊤
④ A为对称矩阵的充要条件是A+I为对称矩阵
⑤ 若A=0, 那么A2=0.
2. 在AB,BA有意义的情况下,关于矩阵的乘法,下列哪些说法是正确的?
① 若A中有一行元素全部为0,则BA也有一行元素全部为0;
② 若A中有一列元素全部为0,则BA也有一列元素全部为0;
③ 若AB中有一行元素全部为0,则B也有一行元素全部为0;
④ 若AB中有一行元素全部为0,则A也有一行元素全部为0.
3. 找出一个3×3矩阵A,使得A=0, A2=0.
4. 是否存在满足条件的2×2矩阵A,B, 使得AB−BA=I?
5. 若线性变换T:V⟶V满足满足T2=T, 我们则称其为幂等变换 (Idempotent Transformation). 此时T对应的矩阵也被称作是幂等矩阵.
① 证明矩阵(1010);(1010) 为幂等矩阵;
② 在R3中,T代表向量到平面Ax+By+Cz=0的正交投影(A,B,C=0).那么对于任意的A,B,C, 证明T为幂等变换;
③ 若P为n×n幂等矩阵, 那么对于任意的n×n矩阵A, Q=P+AP−PAP同样为幂等矩阵.
6. 若线性变换T:V⟶V满足Tk=0, k≤dim(V), 我们则称其为幂零变换 (Nilpotent Transformation). 设T为幂零变换, 且dim(V)=n. 证明: Tn=0.
7. 设线性变换T:V⟶U, S:U⟶W.
① 若ST为单射, 证明T为单射变换, 且dim(V)≤dim(U);
② 若ST为满射,证明S为满射变换,且dim(W)≤dim(U).