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