zoukankan      html  css  js  c++  java
  • 【线性代数】 04

    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}]

  • 相关阅读:
    归并排序(Merge Sort)
    AtCoder AGC035D Add and Remove (状压DP)
    AtCoder AGC034D Manhattan Max Matching (费用流)
    AtCoder AGC033F Adding Edges (图论)
    AtCoder AGC031F Walk on Graph (图论、数论)
    AtCoder AGC031E Snuke the Phantom Thief (费用流)
    AtCoder AGC029F Construction of a Tree (二分图匹配)
    AtCoder AGC029E Wandering TKHS
    AtCoder AGC039F Min Product Sum (容斥原理、组合计数、DP)
    AtCoder AGC035E Develop (DP、图论、计数)
  • 原文地址:https://www.cnblogs.com/edward-bian/p/4874947.html
Copyright © 2011-2022 走看看