少女祈祷中...

第二章 矩阵、向量

一、基础知识

向量可以看成只有一行或一列的矩阵,因此向量可以和矩阵运算

  • 零矩阵:所有元素为0的矩阵,可以写成OO
  • 零向量:所有分量为0的矩阵,可以写成θ\theta
  • 对角矩阵:只有对角线的元素(aiia_{ii})非0,其他元素均为0的矩阵
  • 数量矩阵:对角矩阵每个元素相等,记为k
  • 单位矩阵:对角矩阵的对角线元素均为1,记为EE
  • EnE_n表示n阶单位矩阵

注意:ene_n表示只有第n个元素为1,其他元素为0的单位向量。

|A|表示A的行列式。如果行列式非0,则A是非奇异矩阵;行列式为0表示为奇异矩阵(退化矩阵)

矩阵的乘法:左边的矩阵的每一行与右边的矩阵的每一列的每个元素的乘积的和构成的矩阵

方法:可以通过给左边的矩阵画横线分隔每行、右边的矩阵画竖线分隔每列来算。

如果是a*b阶矩阵和b*c阶矩阵来算,结果是一个a*c阶矩阵(如果第一个矩阵列和第二个矩阵行数不同是不可以乘的)

注意:矩阵不能和一个数相加。如果矩阵要和一个数相加(例如提取公因式后),需要将那个数字转化为几倍的EE。例如AB+A要写成A(B+E)AB+A要写成A(B+E)

kA求行列式时想把k提出去需要乘以一个n,即kA=knA|kA| = k^n|A|

(与行列式不一样,行列式乘以一个数只需要某一行或某一列乘以一个数,而矩阵乘以一个数需要所有元素都乘以这个数)

乘法时,两个矩阵的顺序不能轻易变动

基本公式:

  • AB=AB|AB| = |A||B|(可以扩展到很多项)

转置矩阵的基本公式:

分块矩阵

包括乘法和转置的运算基本都遵循链式法则(先转置矩阵本身,然后对里面的每个矩阵也转置)

矩阵可以按行分块或者按列分块,分块后将使得矩阵的运算大大简化

一般可以将左边的矩阵进行按行分块,右边的矩阵按列分块。这样计算后结果会变得简洁,也有助于更进一步的计算

对于同阶方阵来说,组成的分块矩阵的行列式具有如下公式:
ABCD=ADCA1B\begin{vmatrix} A & B\\ C&D \end{vmatrix} = |A||D-CA^{-1}B|(虽然很少用得上)

逆矩阵

注意:如果A和B可逆,A+B不一定可逆,即使A+B可逆,一般(A+B)1A1+B1(A+B)^{-1} \neq A^{-1}+B^{-1}

求逆矩阵的常用方法

  • 定义法:找一个矩阵,让它和原来矩阵相乘后等于单位矩阵。通常适用于不给矩阵具体细节,用参数让你表示逆矩阵
  • 公式法:设x,解方程(不推荐)
  • 初等变换法:分为行初等变换和列初等变换。一般可以使用行初等变换,把一个矩阵和单位阵E横着组成一个分块矩阵,(A E),然后只通过行初等变换,将A变为E,这个时候E就成为了A的逆矩阵。

伴随矩阵

最最重要的公式:AA=AEAA^*=|A|E

每次题目中出现了关于A*的任何东西,你都可以立刻写下这个式子,因为大部分题目的解决方法都需要使用这个式子。

这个式子有很多变形,例如A=AA1A^* = |A|A^{-1}A1=1AAA^{-1} = \frac{1}{|A|}A^*。当然也可以得出:A=An1|A^*| = |A|^{n-1}

从这里也可看出AA^*A1A^{-1}的关系:AA^*实际上就是A1A^{-1}乘以了一个数,这个数就是A的行列式。

矩阵的初等变换:

  • 对调变换:交换两行
  • 数乘变换:某行乘以一个数
  • 倍加变换:某行乘以一个数加到另一行

对单位矩阵进行一次初等变换就是初等矩阵。对一个矩阵进行一次初等变换相当于
这个矩阵左乘(行变换)或右乘(列变换)一个初等矩阵

矩阵的简化

等价:矩阵A经过有限次初等变换变成矩阵B;

注意等价和相似的区别:等价是只要能够经过初等变换变成就可以,可以表示PAQ,而相似必须是左乘P逆,右乘P,即等价:B=PAQB = PAQ,而相似:B=P1APB = P^{-1}AP

标准型:既是行简化梯形,又是列简化梯形(对角线由1和0构成,其余位置全为0,并且对角线上所有的1一定位于所有的0的左上方)

所有矩阵都可以写成Ps...P3P2P1ΛQ1Q2Q3...QtP_s...P_3P_2P_1\Lambda Q_1Q_2Q_3...Q_t的形式,其中Λ\Lambda表示标准型矩阵。这个方法在一些证明题中可以发挥作用。

矩阵的秩

概念:非零子式的最高阶数(如果秩为r,那么所有r+1阶的子式全部为0),有时候证明中会用到这样的定义

r(A) = n 可以得出:|A|不为0

矩阵的分解:假如矩阵秩为r,那么可以化成PΛQP\Lambda Q,其中Λ\Lambda
(ErOOO)\begin{pmatrix} E_r & O\\ O & O \end{pmatrix}(如果A是一个mn矩阵,那么P就是mm矩阵,Q就是nn矩阵,而中间的(ErOOO)\begin{pmatrix} E_r & O\\ O & O \end{pmatrix}就是mn矩阵)

重要的不等式:

线性相关与线性无关

等价向量组:两个向量组中的一个向量组中的每个向量都能用另一个向量组中的向量线性表示。

证明一个向量组线性无关的方法:列出方程k1α1+...+knαn=θk_1\alpha_1+...+k_n\alpha_n = \theta,然后证明这个方程想要成立则必须k1=k2=…=kn=0。这个方法常常在不知道向量组具体有哪些向量的时候使用

一个经典的例子:

想要证明线性相关也可以用这个方法,只不过需要解出K的非零解

n维基本向量组e1,e2,...ene_1,e_2,...e_n是线性无关的,这个结论有时候用已知矩阵构造具体秩为多少的矩阵时可能会用到。

极大无关组与向量组的秩

两个向量组等价的充要条件:两个向量组的一个极大无关组等价

证明极大无关组:向量组线性无关,且可以表示其他剩余向量(任意添加一个其他向量后线性相关)

求极大无关组时,你可以将各个向量按列放成一个矩阵,并将矩阵化成一个行简化梯形矩阵。所有为1的列所代表的向量构成一个极大无关组,所有非1的列的向量,它用极大无关组表示的系数就是这一列的各个数。例如:

这个时候α1,α2,α4\alpha_1,\alpha_2,\alpha_4就是一个极大无关组,而α3\alpha_3就等于3α1α23\alpha_1-\alpha_2α5=5α22α3\alpha_5 = 5\alpha_2-2\alpha_3

如果向量组的秩为r,那么从这个向量组中任意选取r个向量,只要这些向量是线性无关的,那么它们就是向量组的一个极大无关组

前面的秩的不等式中r(AB)r(A)+r(B)nr(AB)\geq r(A) + r(B) - n,这里的AB可以不是方阵,并且n为A的列数

矩阵秩的关系:

二、实用技巧

  • 一个矩阵可以写成很多个行或列向量的组合(按行或按列分块),比如把一个矩阵写成列向量的组合(α1,α2,...αn)(\alpha_1,\alpha_2,...\alpha_n)。这样有一个好处,在矩阵运算时隐藏具体的细节,直观感受到矩阵实际发生的变化。这样也适用于矩阵某一行元素个数、列元素任意的情况,比如(α1,α2,α3)(\alpha_1,\alpha_2,\alpha_3),如果这个矩阵经历某些运算后得到了(2α1,3α2,4α3)(2\alpha_1,3\alpha_2,4\alpha_3),那么它肯定是对矩阵的每一列进行整体的变换的,就和这个矩阵本身行的个数(向量α\alpha的维数)无关。同时在求方程组的解时也可以用上。如果一个矩阵右边乘的不是单个向量而是矩阵,就可以将这个矩阵分成很多个列向量的组合来看。

  • 有的时候要学会将一个矩阵拆成两个向量的乘法,如:

这个结果矩阵的每一行和每一列都有一个共有的因数,比如第一行都有一个α1,第一列都有一个β1。而这就可以看成左边的行向量构成的矩阵和右边的列向量构成的矩阵的参与的结果。

  • 对角矩阵有时候很有用,因为它可以操作某个矩阵的行和列。一般来说,左乘一个对角矩阵是对矩阵进行行变换,右乘对角矩阵是列变换。

例如,有一个矩阵(α1,α2,α3)(\alpha_1,\alpha_2,\alpha_3),如果想让他每列都乘以一个数,就可以让它右乘一个对角矩阵diag(a,b,c),就可以变成(aα1,bα2,cα3)(a\alpha_1,b\alpha_2,c\alpha_3)。这在某些需要你构造某些特殊矩阵的时候会用到。

  • 更进一步,如果一些向量可以由其他向量组合,比如β1=α1+α2+α3\beta_1 = \alpha_1 + \alpha_2 + \alpha_3β2=2α1+3α2α3\beta_2 = 2\alpha_1 + 3\alpha_2 - \alpha_3β3=5α1+5α2\beta_3 = 5\alpha_1 + -5\alpha_2,那么我们可以通过矩阵来表示这种变换。将β铺开成一个矩阵:(β1,β2,β3)(\beta_1,\beta_2,\beta_3),那么它就可以通过矩阵(α1,α2,α3)(\alpha_1,\alpha_2,\alpha_3)右乘一个矩阵
    (125135110)\begin{pmatrix} 1 & 2 &5 \\ 1 & 3 & -5 \\ 1 & -1 & 0 \end{pmatrix}
    来实现。这个矩阵的每一列的元素就是每个β对应的α向量的组合前面的系数。这个方法在证明向量组等价时会很有用。当然也可以β竖着放,然后变成竖着放的α矩阵左乘一个系数矩阵来表示。这个时候每一行就是表示每个β前面的系数。

  • 分块矩阵在计算行列式时也可以模仿普通元素的行列式进行操作(需要注意前提,往往乘是可以的,但是加减的时候需要注意)

  • 如果要求一个矩阵的逆矩阵,你可以通过想办法找一个矩阵,让它和原来的矩阵相乘后变成单位矩阵来做。(可能需要靠自己猜一下)。

  • 在解一些矩阵方程时,你可以不必要直接写出X的表达式,然后一个一个求逆矩阵,再算矩阵乘法。而是可以先将复杂的乘积设成一个未知量,然后先求出这个未知量,再具体求出里面的X。

例如:AXB = C,可以先设XB = Y,然后求AY = C,这个时候可以使用初等变换法算出Y,即列出矩阵(AC)\begin{pmatrix} A & C \end{pmatrix},然后只通过初等行变换把A化成E,这个时候C所在的矩阵就变成了Y。然后我们就可以解XB = Y这个方程。注意这里X是在B的左边(刚刚是在右边),所以我们必须竖着放矩阵:(BY)\begin{pmatrix} B \\ Y \\ \end{pmatrix},然后只通过初等列变换,将B变成E,然后Y所在的矩阵就变成了X。通过这种方式可以大大简化计算步骤。

  • 如果AT=A1A^T = A^{-1}的话,就可以利用两者的性质得到AT(A+B)BT=(A+B)TA^T(A+B)B^T = (A+B)^T,也许可以证明一些结论。这实际上是利用了消去作用,即:AAATA^T在一起就可以消成E。

  • 如果A2=AA^2 = A的话,说明A乘以它本身仍然是A。这其实是一种吸收作用,也就是A矩阵可以吸收它自己。当题目给出关于一个矩阵乘以另一个矩阵后不变的情况,就要想到吸收作用。

  • 不管是消去作用还是吸收作用,如果有的话,我们可以尝试在已知的式子中去左乘或者右乘一些会产生消去作用或吸收作用的矩阵,也许可以得出新的结论

  • 题目要是给出了一个带有AB、A、B、E矩阵的等式,就可以从中找到一对互为逆矩阵的式子。例如:ABA2B=OA(BE)2B=OA(BE)2(BE)=2E(A2E)(BE)=2EAB-A-2B=O,A(B-E)-2B=O,A(B-E)-2(B-E)=2E,(A-2E)(B-E)=2E,就可以找到一对互为逆矩阵的式子了

很多时候我们在求矩阵的秩的时候都只能使用那几个不等式来推导,例如如果知道r(A)和r(B)的时候,我们就可以利用r(AB)<=min(r(A),r(B))=n以及r(AB)>=r(A)+r(B)-n = n得出r(AB) = n (其实更简单的方法是直接利用一个矩阵乘以一个可逆矩阵秩不变得出这个结论)

对于矩阵P来说,右乘一个向量eke_k就相当于变成矩阵的第k行(本质上右乘一个向量就是把矩阵的第k列乘以向量的第k个坐标,然后每行求和)

矩阵AnA_n可逆的等价条件:

  • A0|A|\neq 0
  • r(A)=nr(A) = n
  • A=PEQA = PEQ,其中PQ为可逆矩阵
  • A行向量组或列向量组线性无关
  • 以A为系数矩阵的齐次线性方程组只有零解
  • ATA^T可逆
  • A的所有特征值都不为0

有一个结论:如果一个矩阵的秩为r,然后这个矩阵和另一个矩阵组合形成一个分块矩阵以后,这个分块矩阵的秩仍然为r,那么这个新的矩阵中的行(列)向量就可以用原来的矩阵表示。这个结论可以用极大无关组证明。设原来矩阵的行(列)向量的极大无关组是某r个向量,然后因为组合后秩不变,所以新的矩阵的极大无关组也是那r个向量,因此新矩阵的几个向量也可以使用原来的极大无关组的向量表示,因此新的矩阵中的向量就可以用原来矩阵中的向量表示。这个结论可以用来证明两个矩阵等价。

一般想要证明一个矩阵和另一个矩阵组合后的秩仍然是原来的矩阵的秩,可以通过让它大于等于同时小于等于原来矩阵的秩实现。大于等于原来矩阵的秩可根据组合矩阵的秩一定大于等于单个矩阵的秩直接得出,而小于等于原来矩阵的秩可通过将组合矩阵化为两个矩阵相乘实现,并且乘积的秩一定小于等于乘积中的任何一个矩阵的秩。例如如果知道B=ACB = AC,那么就可以知道r(A)<r(AB)<r(AAC)<r(A(EC))<r(A),从而r(A)=r(AB)r(A)<r(A B)<r(A AC)<r(A(E C))<r(A),从而r(A) = r(A B)

  • 如果一个矩阵给出了它的秩,那么可以有以下几种处理方法:

    1、将它化为P(ErOOO)QP\begin{pmatrix} E_r & O \\ O & O \end{pmatrix}Q的形式

    2、将它化成行简化阶梯型,变成(β1β2...βrO...O)\begin{pmatrix} \beta_1\\ \beta_2\\ ...\\ \beta_r\\ O\\ ...\\ O \end{pmatrix}的形式

    3、取出它的极大无关组,把它表示成极大无关组的线性组合的形式,比如(α1,α2...αr)(β1β2...βr)(\alpha_1,\alpha_2...\alpha_r)\begin{pmatrix} \beta_1\\ \beta_2\\ ...\\ \beta_r \end{pmatrix}的形式

    • 有一个结论:r(AB)r(A)+r(B)r\begin{pmatrix} A\\ B \end{pmatrix} \leq r(A) + r(B)。这个结论可以按如下方法证明:r(AB)r(AOBB)=r(AOOB)=r(A)+r(B)r\begin{pmatrix} A\\ B \end{pmatrix} \leq r\begin{pmatrix} A & O\\ B & B \end{pmatrix} = r\begin{pmatrix} A & O\\ O & B \end{pmatrix} = r(A)+r(B)
  • 一般矩阵运算可以将其分块之和去运算,如相加、相乘等。但是需要注意的是:分块矩阵整体是不能直接初等变换的,这意味着你不能直接写成分块矩阵第几行怎么怎么样加到第几行这种。如果你想要做初等变换,你需要把它写成左乘或者右乘初等矩阵的分块矩阵的形式,或者直接按照不分块的形式写分块矩阵时初等变换的操作(也就是一次同时变很多行)。

  • 一般,如果行列式中出现了|A+B|这样的加法,我们需要想办法将其和差化积,变成两个矩阵相乘的形式,就可以将其表示为两个矩阵各自的行列式的乘积

  • 如果题目中要你求关于矩阵ABAB的东西,并且给出了BABA相关的信息,那么你可以考虑(AB)n(AB)^n,这个式子就会出现n-1个矩阵BABA,从而利用题目的条件