1. 矩阵和秩
1.1 矩阵的定义
前面我们在不定义的情况下,一直在使用着矩阵,那些场合中矩阵仅仅是一些数的纵横排列,它只有符号的意义,而没有代数的性质。在继续讨论之前,先严格定义一下(n imes m)阶矩阵(matrix):它由(nm)个环元素排成(n)行(m)列(式(1)),并用方括号括起来,一般用大写字母表示,(n imes n)阶矩阵又称(n)阶方阵。矩阵元素的取值空间可以为一般环,也可以是域,这里默认是在域中讨论,环矩阵以后专门介绍。
[A_{n imes m}=egin{bmatrix}a_{11}&a_{12}&cdots&a_{1m}\a_{21}&a_{22}&cdots&a_{2m}\vdots&vdots&ddots&vdots\a_{n1}&a_{n2}&cdots&a_{nm}end{bmatrix} ag{1}]
矩阵既可以看成是一个纵横排列的结构,也可以把它当成是由(nm)个孤立的元素组成。这时矩阵就是一个(nm)维的向量,按如下方法定义加法和数乘运算,显然所有(n imes m)阶矩阵组成一个(nm)维的线性空间,一般记作(M_{n imes m}(R)),方阵也可记作(M_n(R))。
[egin{bmatrix}a_{11}&cdots&a_{1m}\vdots&ddots&vdots\a_{n1}&cdots&a_{nm}end{bmatrix}+egin{bmatrix}b_{11}&cdots&b_{1m}\vdots&ddots&vdots\b_{n1}&cdots&b_{nm}end{bmatrix}=egin{bmatrix}a_{11}+b_{11}&cdots&a_{1m}+b_{1m}\vdots&ddots&vdots\a_{n1}+b_{n1}&cdots&a_{nm}+b_{nm}end{bmatrix} ag{2}]
[kegin{bmatrix}a_{11}&cdots&a_{1m}\vdots&ddots&vdots\a_{n1}&cdots&a_{nm}end{bmatrix}=egin{bmatrix}ka_{11}&cdots&ka_{1m}\vdots&ddots&vdots\ka_{n1}&cdots&ka_{nm}end{bmatrix} ag{3}]
方阵中(a_{ii})称为主对角元,仅主对角元非零的矩阵称为对角矩阵,记作( ext{diag}{d_1,d_2,cdots,d_n}),其中( ext{diag}{1,1,cdots,1})也叫单位矩阵,记作(I_n)。主对角线下(上)方全为(0)的矩阵称为上(下)三角矩阵,单位矩阵经过一次初等变换后称为初等矩阵(式子(4))。元素全为(1)的矩阵一般记作(J),容易有等式(J^2=nJ),这个式子变形中非常有用。
[P(i(k))=egin{bmatrix}ddots&&\&k&\&&ddotsend{bmatrix},quad P(i,j)=egin{bmatrix}0&cdots&1\vdots&&vdots\1&cdots&0end{bmatrix},quad P(j,i(k))=egin{bmatrix}1&&\vdots&ddots&\k&cdots&1end{bmatrix} ag{4}]
矩阵中一个常用操作就是将(a_{ij})和(a_{ji})交换,得到的新矩阵叫(A)的转置,一般记做(A^T)或(A')。显然有等式(3)成立,这个等式一定程度说明了矩阵中行和列的对等性。(A'=A)的矩阵称为对称矩阵,(A'=-A)的矩阵称为反对称矩阵,显然反对称矩阵的对角元皆为(0)。
[|A'|=|A| ag{3}]
• 求(n)阶对角矩阵、三角矩阵、对称矩阵、反对称矩阵的维度;
• 求证:奇数阶反对称矩阵的行列式为(0)。
1.2 矩阵的秩
解线性方程组时,系数矩阵可以看成是(n)个列向量,这个向量组有它的相关性和秩。这使得我们好奇:矩阵行向量的相关性和秩是怎样的?它与列向量有什么关系?
不管是在线性方程组还是行列式中,我们看到用初等变换将矩阵阶梯化可以简化问题。容易证明,初等变换并不改变向量组所生成的线性空间,故它们的秩是不变的。所以矩阵的行(列)向量在阶梯化后秩保持不变,而显然阶梯矩阵的秩就是非零行(列)的个数,这就是求秩的一般方法。在按行阶梯化矩阵后,可以很轻松地继续按列阶梯化(公式(4)),最终每行每列最多只有一个非零元素。这样的话,矩阵行向量和列向量的秩都等于非零元素的个数,它们是相等的。我们把这个共同的秩也称为矩阵的秩,同样记作( ext{rank}\,A),秩是矩阵的一个基本属性。
[egin{bmatrix}a_{i_1j_1}&0&0&0&0\0&a_{i_2j_2}&0&0&0\vdots&vdots&ddots&vdots&vdots\0&0&0&a_{i_rj_r}&0end{bmatrix} ag{4}]
在秩为(r)的向量组中,我们可以选出(r)个无关向量作为它的代表,那么在秩为(r)的矩阵中是否有(r imes r)的“子矩阵”呢?为此先定义矩阵任意(m')行、(n')列的交点元素组成的矩阵为其子矩阵,这是除行、列外考察矩阵的另一个视角。由于线性相关向量组的子向量组或截断向量组也线性相关,故子矩阵的秩必定不大于(r)。另一方面,可以先选出(r)行无关的行向量,它们组成的矩阵的秩还是(r),所以一定有(r)列是线性无关的,这就找到了原矩阵秩为(r)的(r imes r)子矩阵。特别地,满足(r=min(n,m))的矩阵称为满秩矩阵,对应分别有行满秩和列满秩的概念。
我们现在有三个视角看待一个矩阵:行或列的向量空间、矩阵的秩、方阵的行列式,这里稍作总结。首先矩阵的秩也是向量空间的维数,所以线性方程组有解的充要条件是:系数矩阵的秩等于增广矩阵的秩,有唯一解时还要求系数矩阵是列满秩的。特别地,齐次方程有非零解的充要条件是:系数矩阵不是列满秩的,且解空间(W)满足公式(5)。对于方阵而言,它满秩的充要条件是:矩阵的行列式非零。
[dim{W}+ ext{rank}\,A=n ag{5}]
2. 矩阵的乘法
2.1 定义和基本性质
线性空间的浅层结构我们已经基本了解了,按照抽象代数的经验,现在需要借助同态映射研究其深层结构。但在此之前,我们需要需要一点准备工作,而把同态映射放到下一篇中介绍。其实前面的线性方程组就是同态映射的一个具体例子,现在就以此为切入点介绍矩阵的乘法。
回顾上一篇的线性方程组(11),如果把未知数也看作是一个向量(ar{x}=[x_1:cdots:x_m]'),系数矩阵(A_{n imes m})可以看成是将(ar{x})映射成了(eta)。映射是可以复合的,但要继续映射(eta),矩阵的列数必须是(n),设为(B_{l imes n})。设(B)将(eta)又映射成(gamma=[z_1:cdots:z_l]'),可以算得(z_i=sum{c_{ij}x_j}),其中(c_{ij}=sum{b_{ik}a_{kj}})。复合映射的结果任然可以看成是一个矩阵(C)在(ar{x})上的映射,为此我们定义这种映射的复合为矩阵的乘法,记作(C=BA),其中(C)的元素满足下式。
[C=BA,quad c_{ij}=b_{i1}a_{1j}+b_{i2}a_{2j}+cdots+b_{in}a_{nj}=sum_{k=1}^n{b_{ik}a_{kj}} ag{8}]
对矩阵(A_{s imes t},B_{t imes m},C_{m imes n}),可以证明有式子(9)成立,所以矩阵的乘法满足结合律。但不是所有矩阵之间都可以做乘法,所以全体矩阵并不构成半群。要使乘法处处成立,必须是阶相同的方阵组成的集合,但即使是方阵的乘法也不一定满足交换律。另外容易验证,乘法和加法的分配率成立(式子(10)),数乘运算满足公式(11),转置运算满足公式(12)。
[(AB)C=A(BC)=D,quad d_{ij}=sum_{k=1}^tsum_{l=1}^m{a_{ik}b_{kl}c_{lj}} ag{9}]
[A(B+C)=AB+AC,quad (B+C)A=BA+CA ag{10}]
[k(AB)=(kA)B=A(kB) ag{11}]
[(AB)'=B'A' ag{12}]
如果集合中任意两个矩阵都可以做乘法,这个集合必定是由阶相同的方阵组成的。特别地,(M_n(R))是一个幺半群,其中单位元就是单位矩阵(I_n)(公式(13))。(M_n(R))中的元素可以按照式子(14)定义幂次(A^m),容易证明幂次的一般性质对它都成立。另外要注意,由于交换律不一定成立,故((AB)^m=A^mB^m)一般也不成立。
[I_mA_{m imes n}=A_{m imes n},quad A_{m imes n}I_n=A_{m imes n} ag{13}]
[A^0=I_n,quad A^m=AA^{m-1}:(m>0) ag{14}]
• 求证:(n)阶对角矩阵、上(下)三角矩阵分别都是幺半群,并且乘积的对角元就是对角元的乘积。
2.2 乘法的向量意义
如果把线性方程组的未知数写成(m imes 1)的矩阵(X=[x_1:x_2:cdots:x_m]'),显然方程组其实就是矩阵乘法(AX=eta)。另外又因为线性方程组的本质是线性表示(sum{}alpha_i x_i=eta),这就将矩阵乘法和线性表示建立起了联系。这个结论一方面给予了矩阵乘法的另一个现实意义,另一方面可以把变换统一到矩阵乘法中去,下面分别加以阐述。
如果把矩阵(A_{l imes n},B_{n imes m})分别表示成列向量组([alpha_1:alpha_2:cdots:alpha_n])和行向量组([eta_1:eta_2:cdots:eta_n]'),则(AB)可以看成是(alpha_i)或(eta_j)的一组线性表示(公式(15)(16)),其中([gamma_1:gamma_2:cdots:gamma_m])是(AB)的列向量组表示,而([delta_1:delta_2:cdots:delta_l]')是(AB)的行向量组表示。
[AB=egin{bmatrix}alpha_1&alpha_2&cdots&alpha_nend{bmatrix}B=egin{bmatrix}gamma_1&gamma_2&cdots&gamma_mend{bmatrix},:gamma_j=sum_{k=1}^n{alpha_k{b_{kj}}} ag{15}]
[AB=Aegin{bmatrix}eta_1\eta_2\vdots\eta_nend{bmatrix}=egin{bmatrix}delta_1\delta_2\vdots\delta_lend{bmatrix},:delta_i=sum_{k=1}^n{eta_k{a_{ik}}} ag{16}]
这种视角在一些论证中非常有用,比如因为(gamma_k)是(alpha_1,alpha_2,cdots,alpha_n)的线性表示,故(AB)的列秩不大于的(A)的列秩,同样可证(AB)的行秩不大于的(B)的行秩。结合前面行列秩相等的结论,可有以下(AB)秩的估算式。
[ ext{rank}\,ABleqslantmin( ext{rank}\,A, ext{rank}\,B) ag{17}]
• (A)为实数域上的矩阵,求证:方程组(A'AX=0)和(AX=0)的解空间相同,从而( ext{rank}\,A'A= ext{rank}\,A);
• 若(A_{l imes n}B_{n imes m}=0),求证:( ext{rank}\,A+ ext{rank}\,Bleqslant n);
• 设(A)的秩为(r),求证:存在列数为(r)的列满矩阵(B)和行数为(r)的行满矩阵(C),使得(A=BC)。
其实不光线性方程组可以表示成矩阵的乘积,矩阵上的其它操作也可以转化为乘积,比如数乘运算(kA)其实就是对角矩阵( ext{diag}{k,k,cdots,k})与(A)的乘积。另外容易证明,初等矩阵(P(i(k)))左(右)乘(A)就是将(A)的第(i)行(列)乘以(k),(P(i,j))左(右)乘(A)就是将(A)的第(i,j)行(列)交换。(P(j,i(k)))左乘(A)就是将(A)的第(i)行的(k)倍加到第(j)行上,(P(j,i(k)))右乘(A)就是将(A)的第(j)列的(k)倍加到第(i)行上。
2.3 矩阵的逆
(M_n(R))是幺半群,并不是所有矩阵都有逆元,这里就来讨论一下矩阵存在逆元的条件,以及逆元的计算。首先如果式(18)成立,(B)就称为(A)的逆矩阵(inverse matrix),也记作(A^{-1})。在抽象代数中我们已经知道,逆元是唯一的,且逆元的逆元还是逆元,故(A^{-1})唯一且((A^{-1})^{-1}=A),还有公式(19)成立。
[AB=BA=IquadLeftrightarrow quad B=A^{-1} ag{18}]
[(AB)^{-1}=B^{-1}A^{-1} ag{19}]
由公式(17)知(A)必须是满秩的,反之对任意满足(|A| e 0)的矩阵,是否都有逆呢?逆矩阵是可以构造出来的,回顾行列式中的代数余子式的概念,以及行列式按一行(列)展开的结论,我们构造如下矩阵(A^*)(注意行列的下标),它被称为(A)的伴随矩阵(companion matrix)。
[A^*=egin{bmatrix}A_{11}&A_{21}&cdots&A_{n1}\A_{12}&A_{22}&cdots&A_{n2}\vdots&vdots&ddots&vdots\A_{1n}&A_{2n}&cdots&A_{nn}end{bmatrix} ag{20}]
现在来计算(AA^*),它的第(i)行、(j)列的元素为(sumlimits_{k=1}^n{a_{ik}A_{jk}}),它正是将(|A|)的第(j)行替换成第(i)行后的值。显然(i=j)时值为(|A|),(i e j)时值为(0),故(AA^*=|A|I),这样就构造了(A)的如下逆矩阵。同时还说明了,矩阵有逆的充要条件是:(|A| e 0)。
[A^{-1}=dfrac{1}{|A|}A^* ag{21}]
对于线性方程组(AX=eta),它有唯一解的充要条件是(|A| e 0),且这个解就是(X=A^{-1}eta)。再根据公式(21),可以得到解的如下公式,其中(y_i)是将(|A|)的第(i)列换成(eta)后的值。这个式子用系数和常数项表达了方程组的解,该结论就是线性方程组的克莱姆法则(Cramer)。
[X=dfrac{1}{|A|}A^*eta=dfrac{1}{|A|}egin{bmatrix}y_1\y_2\vdots\y_nend{bmatrix} ag{22}]
用公式(21)求逆计算量较大,现在用另一个方法来计算它。首先直接由逆的定义容易证明,初等矩阵都是可逆矩阵,而且它们的逆还是初等矩阵(公式(23))。试想对可逆矩阵(A)进行初等变换,最终一定可以变换成(I),将这些初等变换表示成矩阵(P_1,cdots,P_s),则有(P_scdots P_2P_1A=I),所以(A)可以表示成初等矩阵的乘积(公式(24))。由于初等变换不改变矩阵的秩,所以与(A)相乘也不改变矩阵的秩(25),这是对公式(17)的一个补充。
[P(i,j)^{-1}=P(i,j),quad P(i(k))^{-1}=P(i(dfrac{1}{k})),quad P(j,i(k))^{-1}=P(j,i(-k)) ag{23}]
[P_scdots P_2P_1A=IquadRightarrowquad A=P_1^{-1}P_2^{-1}cdots P_s^{-1} ag{24}]
[ ext{rank}\,AB= ext{rank}\,B,quad(|A| e 0) ag{25}]
公式(24)的左式说明(P_scdots P_2P_1)正好就是(A^{-1}),所以我们可以对矩阵([A:I])的行做初等变换,直至将(A)变成(I),这时原来的(I)自然已经变成了(A^{-1})。这样求矩阵逆的方法也叫初等变换法。根据行列式的初等变换可知,初等矩阵对行列式的影响如公式(26),结合公式(24)知可逆矩阵的行列式仅由其初等矩阵决定,从而有可逆矩阵乘积的行列式等同于行列式的乘积(公式(27))。(A,B)若有非满秩矩阵,公式(27)显然也成立(两边为(0)),故公式(27)对任意方阵恒成立,它就是比奈-柯西定理(Binet-Cauchy)。
[|P(i,j)A|=-|A|,quad |P(i(k))A|=k|A|,quad |P(j,i(k))A|=|A| ag{26}]
[|AB|=|A||B| ag{27}]
对于很多特殊形式的矩阵,有时候直接用逆的定义反而更容易,这当然还需要一些技巧。比如对于常用的矩阵(J+lambda I),由于(J^2=nJ),可以猜想它的逆有形式(xJ+yI),解方程((J+lambda I)(xJ+yI)=I)便可得到结果。
• 已知(A^k=0),求((I-A)^{-1});
• 若(I_n-AB)可逆,求证:(I_m-BA)也可逆。(提示:构造)
2.4 矩阵的分块
把矩阵的(n)行、(m)列连续地分割成(n_1,cdots,n_s)行、(m_1,cdots,m_t)列,形成一个(s imes t)的分块矩阵,之前将矩阵作为行列向量看待其实就是一种分块方法。分块矩阵其实是扩展了矩阵的元素,但矩阵的很多性质在分块矩阵上同样成立,由此它还成为了矩阵研究的一个有力工具(将矩阵嵌入到分块矩阵中)。
这里先罗列一些分块矩阵的常规性质,首先比较容易得到分块矩阵的转置、乘法的形式结果,也容易定义分块对角矩阵、分块上(下)三角矩阵,这里就不赘述了。同样可以对分块矩阵进行初等变换,行变换对应的初等矩阵如公式(28)所示(交换较复杂),初等变换都是满秩的((|P_{n_i}| e 0)),它们不改变分块矩阵的秩。
[P(i(K))=egin{bmatrix}ddots&&\&K_{n_i}&\&&ddotsend{bmatrix},quad P(j,i(K))=egin{bmatrix}I_{n_i}&&\vdots&ddots&\K_{n_j imes n_i}&cdots&I_{n_j}end{bmatrix} ag{28}]
分块矩阵的初等变换能方便地找到矩阵间的关系,当要讨论矩阵性质时,可以先把它们嵌入到分块矩阵中,通过初等变换得到一些表达式。比如刚才的习题中,要研究(I_n-AB)和(I_m-BA),可以先把对应矩阵放到公式(29)左边的分块矩阵的行列式中,分别作(P(2,1(-A)))和(P(1,2(-B)))两种行变换,由行列式不变得到右边的结论。
[egin{vmatrix}I_m&B\A&I_nend{vmatrix}=egin{vmatrix}I_m&B\0&I_n-ABend{vmatrix}=egin{vmatrix}I_m-BA&0\A&I_nend{vmatrix}:Rightarrow:|I_n-AB|=|I_m-BA| ag{29}]
再比如考察(A_{l imes n}B_{n imes m}),将它嵌入到公式(30)左边的分块矩阵,依次使用行变换(P(2,1(A)))、列变换(P(1,2(-B)),P(2(-1))),得到右边的分块矩阵。这样就有(n+ ext{rank}\,ABgeqslant ext{rank}\,A+ ext{rank}\,B),故得到公式(31),这个结论叫Sylvester秩不等式,它和公式(17)一起组成了(AB)秩的估算式。
[egin{bmatrix}I_n&0\0&ABend{bmatrix}Rightarrowegin{bmatrix}I_n&0\A&ABend{bmatrix}Rightarrowegin{bmatrix}I_n&-B\A&0end{bmatrix}Rightarrowegin{bmatrix}I_n&B\A&0end{bmatrix} ag{30}]
[ ext{rank}\,ABgeqslant ext{rank}\,A+ ext{rank}\,B-n ag{31}]
• 求证:(A^2=A)的充要条件是:( ext{rank}\,A+ ext{rank}\,(I-A)=n);
• 使用分块矩阵证明公式(27);
• (A,D)都是方阵,(A)可逆,求证:(egin{vmatrix}A&B\C&Dend{vmatrix}=|A|·|D-CA^{-1}B|)。
最后,我们使用分块矩阵讨论一下矩阵(A_{n imes m})的“逆矩阵”。我们知道,若方程组(AX=eta)有解,解的表达式为(X=B_{m imes n}eta)(注意(B)可能不唯一)。这个(B)是(A)的“逆矩阵”的理想定义,记之为(A^-),但我们需要用单纯的矩阵语言描述它。首先有(AA^-eta=eta),另外(A,A^-)固定时,这个式子成立的充要条件是:(eta)为(A)的列向量的线性组合。所以该等式等价于等式(32),我们也就把所有满足式子(32)的(A^-)称为(A)的广义逆矩阵。
[AA^-A=A ag{32}]
剩下的问题是如何表达广义逆,首先容易知道,秩为(r)矩阵(A)在经过一系列行和列的初等变换后,总能得到形式(L=egin{bmatrix}I_r&0\0&0end{bmatrix}),故存在可逆矩阵(P,Q)使得公式(33)左成立。带入公式(32)有(PLQA^-PLQ=PLQ),即(LQA^-PL=L),所以(QA^-P=egin{bmatrix}I_r&X\Y&Zend{bmatrix}),其中(X,Y,Z)任意,这样就得到了广义逆的表达式(33)右。
[A=Pegin{bmatrix}I_r&0\0&0end{bmatrix}QquadRightarrowquad A^-=Q^{-1}egin{bmatrix}I_r&X\Y&Zend{bmatrix}P^{-1} ag{33}]