作者水平有限,欢迎大家提出文中错误

矩阵运算

  • 转置
    • 转置的性质
  • 求逆
    • 使用高斯消元法求解逆矩阵
    • 矩阵逆的代数表达式
      • Cramer′sruleCramer's\ ruleCramer′s rule
    • 方阵逆矩阵的性质
  • 矩阵乘法
    • 矩阵乘法的五种形式
      • 1. 行列内积
      • 2. 矩阵与列向量之积
      • 3. 行向量和矩阵之积
      • 4. 若干秩1矩阵之和
      • 5. 分块乘法
    • 矩阵乘法的性质
  • 行列式
    • 行列式的性质
    • 行列式的计算方法
      • 行列式的定义式
    • 代数余子式法
      • 代数余子式
    • 上三角阵对角线元素之积
    • 例子
  • 特征值和特征向量
    • 算法
    • 复数特征值
    • 重复的特征值
    • 特征值的性质
    • 对角化和矩阵幂
      • 对角化的条件
      • 矩阵幂
        • 矩阵的稳定性
    • 相似性
      • 再议特征值分解
      • 相似矩阵的性质
      • 相似矩阵的特征值与特征向量
        • JordanJordanJordan标准型
          • JordanJordanJordan块
          • JordanJordanJordan定理

本文主要讨论除加法和数乘之外的矩阵常用运算

转置

Aij=AjiTA_{ij}=A^T_{ji} Aij​=AjiT​

转置的性质

  1. (AT)−1(A^T)^{-1}(AT)−1=(A−1)T(A^{-1})^T(A−1)T
  2. 对于任意矩阵RRR,RTRR^TRRTR是对称矩阵

求逆

使用高斯消元法求解逆矩阵

通过高斯消元法,可以将可逆矩阵化为单位矩阵,但是此时左乘的矩阵不仅仅是消元矩阵,而是涉及到所有初等行变换。如果将合作用依然写作EEE
那么有
EA=IEA=I EA=I

E=A−1E=A^{-1} E=A−1
如果同时对矩阵AAA和单位阵III做初等行变换,则可以构造增广矩阵[A∣I][A|I][A∣I]
E[A∣I]=[I∣A−1]E[A|I]=[I|A^{-1}] E[A∣I]=[I∣A−1]

矩阵逆的代数表达式

这里会用到本部分后面的内容
A−1=1detACTA^{-1}=\frac{1}{det\ A}C^T A−1=det A1​CT
矩阵CCC被称为代数余子式矩阵
C=[A11A12⋯A1nA21A22⋯A2n⋮⋮⋱⋮An1An2⋯Ann]C= \left[ \begin{matrix} A_{11}&A_{12}&\cdots &A_{1n}\\ A_{21}&A_{22}&\cdots &A_{2n}\\ \vdots&\vdots&\ddots &\vdots\\ A_{n1}&A_{n2}&\cdots &A_{nn}\\ \end{matrix} \right] C=⎣⎢⎢⎢⎡​A11​A21​⋮An1​​A12​A22​⋮An2​​⋯⋯⋱⋯​A1n​A2n​⋮Ann​​⎦⎥⎥⎥⎤​
而CTC^TCT称为伴随矩阵

证明:
ACT=[a11a12⋯a1na21a22⋯a2n⋮⋮⋱⋮an1an2⋯ann][A11A21⋯An1A12A22⋯An2⋮⋮⋱⋮A1nA2n⋯Ann]AC^T= \left[ \begin{matrix} a_{11}&a_{12}&\cdots &a_{1n}\\ a_{21}&a_{22}&\cdots &a_{2n}\\ \vdots&\vdots&\ddots &\vdots\\ a_{n1}&a_{n2}&\cdots &a_{nn}\\ \end{matrix} \right] \left[ \begin{matrix} 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{matrix} \right] ACT=⎣⎢⎢⎢⎡​a11​a21​⋮an1​​a12​a22​⋮an2​​⋯⋯⋱⋯​a1n​a2n​⋮ann​​⎦⎥⎥⎥⎤​⎣⎢⎢⎢⎡​A11​A12​⋮A1n​​A21​A22​⋮A2n​​⋯⋯⋱⋯​An1​An2​⋮Ann​​⎦⎥⎥⎥⎤​
得到
(ACT)ij=ai1Aj1+ai2Aj2+⋯+ainAjn(AC^T)_{ij}=a_{i1}A_{j1}+a_{i2}A_{j2}+\cdots+a_{in}A_{jn} (ACT)ij​=ai1​Aj1​+ai2​Aj2​+⋯+ain​Ajn​
注意到i=ji=ji=j时,(ACT)ii=detA(AC^T)_{ii}=det\ A(ACT)ii​=det A
对于其他项,考虑其意义,是矩阵AAA某一行的元素,乘以一个不同行对应的代数余子式,如果将矩阵的第jjj行用第iii行进行代替,其行列式的值正是上式
∣a11a12⋯a1n⋮⋮⋮ai1ai2⋯ain⋮⋮⋮aj1aj2⋯ajn⋮⋮⋮an1an2⋯ann∣→∣a11a12⋯a1n⋮⋮⋮ai1ai2⋯ain⋮⋮⋮ai1ai2⋯ain⋮⋮⋮an1an2⋯ann]\left| \begin{matrix} a_{11}&a_{12}&&\cdots &&a_{1n}\\ \vdots&\vdots&&&&\vdots\\ a_{i1}&a_{i2}&&\cdots &&a_{in}\\ \vdots&\vdots&&&&\vdots\\ a_{j1}&a_{j2}&&\cdots &&a_{jn}\\ \vdots&\vdots&&&&\vdots\\ a_{n1}&a_{n2}&&\cdots &&a_{nn}\\ \end{matrix} \right| \rightarrow \left| \begin{matrix} a_{11}&a_{12}&&\cdots &&a_{1n}\\ \vdots&\vdots&&&&\vdots\\ a_{i1}&a_{i2}&&\cdots &&a_{in}\\ \vdots&\vdots&&&&\vdots\\ a_{i1}&a_{i2}&&\cdots &&a_{in}\\ \vdots&\vdots&&&&\vdots\\ a_{n1}&a_{n2}&&\cdots &&a_{nn}\\ \end{matrix} \right] ∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣​a11​⋮ai1​⋮aj1​⋮an1​​a12​⋮ai2​⋮aj2​⋮an2​​​⋯⋯⋯⋯​​a1n​⋮ain​⋮ajn​⋮ann​​∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣​→∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣​a11​⋮ai1​⋮ai1​⋮an1​​a12​⋮ai2​⋮ai2​⋮an2​​​⋯⋯⋯⋯​​a1n​⋮ain​⋮ain​⋮ann​​⎦⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎤​
所以i≠ji\not= ji​=j时,(ACT)ij=0(AC^T)_{ij}=0(ACT)ij​=0
所以ACT=detA⋅IAC^T=det\ A\cdot IACT=det A⋅I,证毕

这样的公式对实际中矩阵逆的求解没有什么价值,因为时间复杂度太高,但是它提供了逆矩阵的代数表达式

Cramer′sruleCramer's\ ruleCramer′s rule

上一小节知道了矩阵逆的代数表达式,现在考虑矩阵方程Ax=bAx=bAx=b,可知
x=1detACTbx=\frac{1}{det\ A}C^Tb x=det A1​CTb
考虑xxx的其中一项
detA⋅xi=b1C1i+b2C2i+⋯+bnCnidet\ A\cdot x_i=b_1C_{1i}+b_2C_{2i}+\cdots+b_nC_{ni} det A⋅xi​=b1​C1i​+b2​C2i​+⋯+bn​Cni​
构造矩阵BiB_iBi​
Bi=[a11⋯b1⋯a1na21⋯b2⋯a2n⋮⋮⋮an1⋯bn⋯ann]B_i= \left[ \begin{matrix} a_{11}&\cdots &b_1&\cdots&a_{1n}\\ a_{21}&\cdots&b_2&\cdots&a_{2n}\\ \vdots&&\vdots&&\vdots\\ a_{n1}&\cdots&b_n &\cdots&a_{nn}\\ \end{matrix} \right] Bi​=⎣⎢⎢⎢⎡​a11​a21​⋮an1​​⋯⋯⋯​b1​b2​⋮bn​​⋯⋯⋯​a1n​a2n​⋮ann​​⎦⎥⎥⎥⎤​
矩阵AAA用列向量bbb替换了第iii列,形成了矩阵BiB_iBi​,所以
detA⋅xi=detBidet\ A\cdot x_i=det\ B_i det A⋅xi​=det Bi​
克拉默法则
矩阵方程Ax=bAx=bAx=b若是有解且唯一的,那么其解为
xi=detBidetAx_i=\frac{det\ B_i}{det\ A} xi​=det Adet Bi​​

方阵逆矩阵的性质

如果AAA是可逆矩阵,AA−1=A−1A=IAA^{-1}=A^{-1}A=IAA−1=A−1A=I

矩阵乘法

矩阵乘法的五种形式

1. 行列内积

Cm∗n=Am∗pBp∗nC_{m*n}=A_{m*p}B_{p*n} Cm∗n​=Am∗p​Bp∗n​

cij=rowi(A)⋅columnj(A)c_{ij}=row\ i(A)\cdot column\ j(A) cij​=row i(A)⋅column j(A)

2. 矩阵与列向量之积

columni(C)=Acolumni(B)column\ i(C)=A\ column\ i(B) column i(C)=A column i(B)

3. 行向量和矩阵之积

rowi(C)=rowiA⋅Brow\ i(C)=row\ iA\cdot B row i(C)=row iA⋅B

4. 若干秩1矩阵之和

C=∑i=1p[a1ia2i⋮ami][bi1bi2⋯bin]C=\sum\limits_{i=1}^p \left[ \begin{matrix} a_{1i}\\ a_{2i}\\ \vdots\\ a_{mi}\\ \end{matrix} \right] \left[ \begin{matrix} b_{i1}&b_{i2}&\cdots &b_{in} \end{matrix} \right] C=i=1∑p​⎣⎢⎢⎢⎡​a1i​a2i​⋮ami​​⎦⎥⎥⎥⎤​[bi1​​bi2​​⋯​bin​​]
比如
[273849][1600]=[234][16]3.[789][00]\left[ \begin{matrix} 2&7\\ 3&8\\ 4&9 \end{matrix} \right] \left[ \begin{matrix} 1&6\\ 0&0\\ \end{matrix} \right]= \left[ \begin{matrix} 2\\ 3\\ 4 \end{matrix} \right] \left[ \begin{matrix} 1&6 \end{matrix} \right] 3. \left[ \begin{matrix} 7\\ 8\\ 9 \end{matrix} \right] \left[ \begin{matrix} 0&0\\ \end{matrix} \right] ⎣⎡​234​789​⎦⎤​[10​60​]=⎣⎡​234​⎦⎤​[1​6​]3.⎣⎡​789​⎦⎤​[0​0​]

5. 分块乘法

[A11A12A21A22][B11B12B21B22]=[A11B11+A12B21A11B12+A12B22A21B11+A22B21A21B12+A22B22]\left[ \begin{matrix} A_{11}&A_{12}\\ A_{21}&A_{22}\\ \end{matrix} \right] \left[ \begin{matrix} B_{11}&B_{12}\\ B_{21}&B_{22}\\ \end{matrix} \right]= \left[ \begin{matrix} A_{11}B_{11}+A_{12}B_{21}&A_{11}B_{12}+A_{12}B_{22}\\ A_{21}B_{11}+A_{22}B_{21}&A_{21}B_{12}+A_{22}B_{22}\\ \end{matrix} \right] [A11​A21​​A12​A22​​][B11​B21​​B12​B22​​]=[A11​B11​+A12​B21​A21​B11​+A22​B21​​A11​B12​+A12​B22​A21​B12​+A22​B22​​]
分块必须匹配

矩阵乘法的性质

(AB)−1=B−1A−1(AB)^{-1}=B^{-1}A^{-1}(AB)−1=B−1A−1

行列式

行列式的性质

1.detI=1det\ I=1det I=1
2.行交换或列交换,会使行列式值取反

结合性质1,2可知detPij=−1det\ P_{ij}=-1det Pij​=−1(单次交换)
3.
∣tatbcd∣=t∣abcd∣\left| \begin{matrix} ta&tb\\ c&d\\ \end{matrix} \right|=t \left| \begin{matrix} a&b\\ c&d\\ \end{matrix} \right| ∣∣∣∣​tac​tbd​∣∣∣∣​=t∣∣∣∣​ac​bd​∣∣∣∣​
detkA=kndetAdet\ kA=k^ndet\ A det kA=kndet A
4.

∣a+a′b+b′cd∣=∣abcd∣+∣a′b′cd∣\left| \begin{matrix} a+a'&b+b'\\ c&d\\ \end{matrix} \right|= \left| \begin{matrix} a&b\\ c&d\\ \end{matrix} \right|+ \left| \begin{matrix} a'&b'\\ c&d\\ \end{matrix} \right| ∣∣∣∣​a+a′c​b+b′d​∣∣∣∣​=∣∣∣∣​ac​bd​∣∣∣∣​+∣∣∣∣​a′c​b′d​∣∣∣∣​

结合性质3,4可知det⋅det\ \cdotdet ⋅是对矩阵某一行或一列的线性算子
5.矩阵中出现两个相等的行或列,会使行列式为0
6.消去操作(从某一行加上零一行的k倍)不影响行列式的值
∣a+kcb+kdcd∣=∣abcd∣+∣kckccd∣=∣abcd∣\left| \begin{matrix} a+kc&b+kd\\ c&d\\ \end{matrix} \right|= \left| \begin{matrix} a&b\\ c&d\\ \end{matrix} \right|+ \left| \begin{matrix} kc&kc\\ c&d\\ \end{matrix} \right|= \left| \begin{matrix} a&b\\ c&d\\ \end{matrix} \right| ∣∣∣∣​a+kcc​b+kdd​∣∣∣∣​=∣∣∣∣​ac​bd​∣∣∣∣​+∣∣∣∣​kcc​kcd​∣∣∣∣​=∣∣∣∣​ac​bd​∣∣∣∣​
7.全零行(列)会导致行列式为零
8.三角阵的行列式等于对角元之积
9.奇异矩阵行列式为0
10.detAB=detA⋅detBdet\ AB=det\ A\cdot det\ Bdet AB=det A⋅det B
11.detA−1=(detA)−1det\ A^{-1}=(det\ A)^{-1}det A−1=(det A)−1
12.detA=detATdet\ A=det\ A^Tdet A=det AT

行列式的计算方法

行列式的定义式

接下来,利用上面的性质1,2,3,可以得到行列式的计算方法
以二阶方阵为例
∣abcd∣=∣a0cd∣+∣0bcd∣=\left| \begin{matrix} a&b\\ c&d\\ \end{matrix} \right|= \left| \begin{matrix} a&0\\ c&d\\ \end{matrix} \right|+ \left| \begin{matrix} 0&b\\ c&d\\ \end{matrix} \right|= ∣∣∣∣​ac​bd​∣∣∣∣​=∣∣∣∣​ac​0d​∣∣∣∣​+∣∣∣∣​0c​bd​∣∣∣∣​=

∣a0c0∣+∣a00d∣+∣0bc0∣+∣0b0d∣=ad−bc\left| \begin{matrix} a&0\\ c&0\\ \end{matrix} \right|+ \left| \begin{matrix} a&0\\ 0&d\\ \end{matrix} \right|+ \left| \begin{matrix} 0&b\\ c&0\\ \end{matrix} \right|+ \left| \begin{matrix} 0&b\\ 0&d\\ \end{matrix} \right|=ad-bc ∣∣∣∣​ac​00​∣∣∣∣​+∣∣∣∣​a0​0d​∣∣∣∣​+∣∣∣∣​0c​b0​∣∣∣∣​+∣∣∣∣​00​bd​∣∣∣∣​=ad−bc
可见,对于n阶方阵,依次分解第一行,第二行……第nnn行,共得到nnn^nnn项,其中只要有某项的一列或一行全为零,则此项为0,所有非零项的种类数问题,变成了一个排列组合问题,相当于对1⋯n1\cdots n1⋯n进行全排列,项总数为n!n!n!,留下的项不仅没有空行空列,而且每行或每列都只有一个元素,都可以使用多次置换矩阵PPP左乘对角阵得到。

而这n!n!n!个项的值又是什么,每一项都等于置换矩阵和某对角阵的乘积,这个对角阵的行列式就是这个项的所有非零元素之积

对于符号,已经知道,一次置换就会使行列式符号相反,这个总的置换矩阵PPP,假设非零项分别为p1a1p2a2...pnanp_{1a_1}p_{2a_2}...p_{na_n}p1a1​​p2a2​​...pnan​​,{a1a2⋯an}\{a_1\ a_2\cdots\ a_n\}{a1​ a2​⋯ an​}是1,2⋯n1,2\cdots n1,2⋯n的一种排列

所以,置换矩阵PPP的行列式值是+1+1+1还是−1-1−1,就取决于{12⋯n}\{1\ 2\cdots n\}{1 2⋯n}要经过多少次置换才能达到{a1a2⋯an}\{a_1\ a_2\cdots\ a_n\}{a1​ a2​⋯ an​},是偶数次还是奇数次。

考虑这个问题,需要先介绍逆序数的概念,在序列{a1a2⋯an}\{a_1\ a_2\cdots\ a_n\}{a1​ a2​⋯ an​}中,所有的二元对(ai,aj)(a_i,a_j)(ai​,aj​)都有两种情况,假设i<ji<ji<j,一种是ai>aja_i>a_jai​>aj​,另一种是ai<aja_i<a_jai​<aj​(注意ai=aja_i=a_jai​=aj​是不可能的,因为{a1a2⋯an}\{a_1\ a_2\cdots\ a_n\}{a1​ a2​⋯ an​}是1,2⋯n1,2\cdots n1,2⋯n的一种排列),而逆序数就是所有ai>aja_i>a_jai​>aj​情况的总数,记作τ(a1a2...an)\tau(a_1a_2...a_n)τ(a1​a2​...an​),显然τ(12⋯n)=0\tau(1\ 2\ \cdots n)=0τ(1 2 ⋯n)=0

置换操作会如何影响逆序数?
{a1a2⋯ai⋯aj⋯an}→{a1a2⋯aj⋯ai⋯an}\{a_1\ a_2\cdots a_i\cdots a_j\cdots\ a_n\}\rightarrow \{a_1\ a_2\cdots a_j\cdots a_i\cdots\ a_n\} {a1​ a2​⋯ai​⋯aj​⋯ an​}→{a1​ a2​⋯aj​⋯ai​⋯ an​}

这里要证明一次置换会导致逆序数的奇偶性发生改变,为了避免对序列其他部分的影响,通过相邻元素的置换完成置换
{a1a2⋯aiai+1⋯aj⋯an}→{a1a2⋯ai+1ai⋯aj⋯an}}\{a_1\ a_2\cdots a_i\ a_{i+1}\cdots a_j\cdots\ a_n\}\rightarrow \{a_1\ a_2\cdots a_{i+1}\ a_i\cdots a_j\cdots\ a_n\}\} {a1​ a2​⋯ai​ ai+1​⋯aj​⋯ an​}→{a1​ a2​⋯ai+1​ ai​⋯aj​⋯ an​}}
这样的一次置换使得序列的逆序数只加111或减111,奇偶性一定会改变
假设原序列中aia_iai​和aja_jaj​之间有nnn个元素
{a1a2⋯ai⋯aj⋯an}→{a1a2⋯ai+1⋯ajai⋯an}\{a_1\ a_2\cdots a_i\cdots a_j\cdots\ a_n\}\rightarrow \{a_1\ a_2\cdots a_{i+1}\cdots a_j\ a_i\cdots\ a_n\} {a1​ a2​⋯ai​⋯aj​⋯ an​}→{a1​ a2​⋯ai+1​⋯aj​ ai​⋯ an​}

需要n+1n+1n+1步

{a1a2⋯ai+1⋯ajai⋯an}→{a1a2⋯aj⋯ai⋯an}\{a_1\ a_2\cdots a_{i+1}\cdots a_j\ a_i\cdots\ a_n\}\rightarrow \{a_1\ a_2\cdots a_j\cdots \ a_i\cdots\ a_n\} {a1​ a2​⋯ai+1​⋯aj​ ai​⋯ an​}→{a1​ a2​⋯aj​⋯ ai​⋯ an​}

需要nnn步
总步数是2n+12n+12n+1,则不管置换发生在什么位置,逆序数奇偶性一定会改变

那么逆序数的奇偶性就能代表置换次数的奇偶性,这正是所求的,τ(12...n)=0\tau(1\ 2...n)=0τ(1 2...n)=0,之后的每次置换都会同步改变detPdet\ Pdet P的极性,以及序列逆序数的奇偶性。至此置换矩阵PPP的行列式就已经清晰了
detP=(−1)τ(p1p2...pn)det\ P=(-1)^{\tau(p_1p_2...p_n)} det P=(−1)τ(p1​p2​...pn​)
再次说明,p1p2...pnp_1p_2...p_np1​p2​...pn​是置换矩阵每行非零元所在列数(或每列非零元所在行数)

最后有行列式的定义式
det(An∗n)=∑allofpermutations(−1)τ(p1p2...pn)a1p1a2p2...anpndet(A_{n*n})=\sum\limits_{all\ of\ permutations}(-1)^{\tau(p_1p_2...p_n)}a_{1p_1}a_{2p_2}...a_{np_n} det(An∗n​)=all of permutations∑​(−1)τ(p1​p2​...pn​)a1p1​​a2p2​​...anpn​​

τ(p1p2...pn)istheinversionnumberofpermutationp1p2...pn.{\tau(p_1p_2...p_n)}\ is\ the\ inversion\ number\ of\ permutation\ p_1p_2...p_n. τ(p1​p2​...pn​) is the inversion number of permutation p1​p2​...pn​.

代数余子式法

在刚才的定义式推导的过程中,所有n!n!n!项其实可以进行如下划分
{n!terms}=\{n!\ terms\}={n! terms}=
{(n−1)!termswithnonzeroa11}+\{(n-1)!\ terms\ with\ nonzero\ a_{11}\}+{(n−1)! terms with nonzero a11​}+
{(n−1)!termswithnonzeroa12}+\{(n-1)!\ terms\ with\ nonzero\ a_{12}\}+{(n−1)! terms with nonzero a12​}+
⋮\vdots⋮
{(n−1)!termswithnonzeroa1n}\{(n-1)!\ terms\ with\ nonzero\ a_{1n}\}{(n−1)! terms with nonzero a1n​}
而这每一个划分之和,又好像满足一个n−1n-1n−1阶行列式的定义式,比如
∣a11000∗∗0∗∗∣∣0a120∗0∗∗0∗∣∣00a13∗∗0∗∗0∣\left| \begin{matrix} a_{11}&0&0\\ 0&*&*\\ 0&*&*\\ \end{matrix} \right| \left| \begin{matrix} 0&a_{12}&0\\ *&0&*\\ *&0&*\\ \end{matrix} \right| \left| \begin{matrix} 0&0&a_{13}\\ *&*&0\\ *&*&0\\ \end{matrix} \right| ∣∣∣∣∣∣​a11​00​0∗∗​0∗∗​∣∣∣∣∣∣​∣∣∣∣∣∣​0∗∗​a12​00​0∗∗​∣∣∣∣∣∣​∣∣∣∣∣∣​0∗∗​0∗∗​a13​00​∣∣∣∣∣∣​
∗*∗是可以非零的位置

所以这个nnn阶的行列式,可以分裂成nnn个n−1n-1n−1阶类似行列式的量之和。
注意这里的划分不是唯一的,可以对第一行展开,也可以对任意行展开,甚至可以对任意列展开,不过是何种展开,都能得到这个低一阶的类似行列式的量
这个类似行列式的量被称为代数余子式,记作AijA_{ij}Aij​。
det(An∗n)=∑j=1naijAij,(i=1,2,...,n)det(A_{n*n}) = \sum\limits_{j=1}^na_{ij}A_{ij},(i=1,2,...,n)det(An∗n​)=j=1∑n​aij​Aij​,(i=1,2,...,n)

det(An∗n)=∑i=1naijAij,(j=1,2,...,n)det(A_{n*n}) = \sum\limits_{i=1}^na_{ij}A_{ij},(j=1,2,...,n)det(An∗n​)=i=1∑n​aij​Aij​,(j=1,2,...,n)

代数余子式

为什么说代数余子式是类似行列式的量,它和行列式差在哪里?
以3∗33*33∗3矩阵为例
∣a11a12a13a21a22a23a31a32a33∣=\left| \begin{matrix} a_{11}&a_{12}&a_{13}\\ a_{21}&a_{22}&a_{23}\\ a_{31}&a_{32}&a_{33}\\ \end{matrix} \right|= ∣∣∣∣∣∣​a11​a21​a31​​a12​a22​a32​​a13​a23​a33​​∣∣∣∣∣∣​=

a11(a22a33−a23a32)−a12(a21a33−a23a31)+a13(a21a32−a22a31)a_{11}(a_{22}a_{33}-a_{23}a_{32})-a_{12}(a_{21}a_{33}-a_{23}a_{31})+a_{13}(a_{21}a_{32}-a_{22}a_{31}) a11​(a22​a33​−a23​a32​)−a12​(a21​a33​−a23​a31​)+a13​(a21​a32​−a22​a31​)
从中可以观察出规律aija_{ij}aij​的代数余子式Aij=(−1)i+jMijA_{ij}=(-1)^{i+j}M_{ij}Aij​=(−1)i+jMij​,其中MijM_{ij}Mij​是除去iii行jjj列的元素,组成的子行列式,被称为aija_{ij}aij​的余子式

所以3∗33*33∗3矩阵的代数余子式的极性为
∣+−+−+−+−+∣\left| \begin{matrix} +&-&+\\ -&+&-\\ +&-&+\\ \end{matrix} \right| ∣∣∣∣∣∣​+−+​−+−​+−+​∣∣∣∣∣∣​

上三角阵对角线元素之积

以上两种方法的时间复杂度都是O(n!)O(n!)O(n!),其实根据行列式的倍加不变性质,可以知道detA=detUdet\ A=det\ Udet A=det U,而高斯消元法的时间复杂度只有O(n3)O(n^3)O(n3),所以MATLAB在求解矩阵行列式时,都是先消元然后计算主元之积。
det(An∗n)=∏i=1npivotelementidet(A_{n*n}) = \prod\limits_{i=1}^npivot\ element_idet(An∗n​)=i=1∏n​pivot elementi​

例子

三对角矩阵AnA_nAn​,比如
A4=[1111111111]A_4= \left[ \begin{matrix} 1&1&&\\ 1&1&1&\\ &1&1&1\\ &&1&1\\ \end{matrix} \right] A4​=⎣⎢⎢⎡​11​111​111​11​⎦⎥⎥⎤​
求一下detAndet\ A_ndet An​通项
可以直接看出A1=1,A2=0,A3=−1A_1=1,A_2=0,A_3=-1A1​=1,A2​=0,A3​=−1,从A4A_4A4​开始
detA4=∣1111111111∣=det\ A_4= \left| \begin{matrix} 1&1&&\\ 1&1&1&\\ &1&1&1\\ &&1&1\\ \end{matrix} \right|= det A4​=∣∣∣∣∣∣∣∣​11​111​111​11​∣∣∣∣∣∣∣∣​=
1⋅∣1111111∣+(−1)⋅∣111111∣=detA3−detA2=−11\cdot \left| \begin{matrix} 1&1&\\ 1&1&1\\ &1&1\\ \end{matrix} \right|+(-1)\cdot \left| \begin{matrix} 1&1&\\ &1&1\\ &1&1\\ \end{matrix} \right|=det\ A_3-det\ A_2=-1 1⋅∣∣∣∣∣∣​11​111​11​∣∣∣∣∣∣​+(−1)⋅∣∣∣∣∣∣​1​111​11​∣∣∣∣∣∣​=det A3​−det A2​=−1
不难发现detAn=detAn−1−detAn−2det\ A_n=det\ A_{n-1}-det\ A_{n-2}det An​=det An−1​−det An−2​
所以{An}\{A_n\}{An​}是一个循环的数列,循环部分为
{10−1−101}\{1\ 0\ -1\ -1\ 0\ 1\} {1 0 −1 −1 0 1}

特征值和特征向量

矩阵AAA的特征向量是在左乘矩阵AAA后,方向不变的向量
Ax=λxAx=\lambda\ x Ax=λ x
λ\lambdaλ是特征向量xxx的特征值

根据不可逆矩阵的定义,存在非零向量xxx,满足Ax=0Ax=0Ax=0,所以如果一个矩阵是奇异的,那么它必有特征值000。

例子

投影矩阵P=A(ATA)−1ATP=A(A^TA)^{-1}A^TP=A(ATA)−1AT
对于v∈C(A)v\in C(A)v∈C(A),Pv=vPv=vPv=v,所以所有在AAA列空间(投影到的子空间)的向量都是特征向量,特征值为111。
对于w∈N(AT)w\in N(A^T)w∈N(AT),Pw=0Pw=0Pw=0,所以所有与AAA列空间垂直的向量都是特征向量,特征值为000。

算法

Ax=λx→[A−λI]x=0Ax=\lambda\ x\rightarrow[A-\lambda I]x=0 Ax=λ x→[A−λI]x=0
可见x∈N(A−λI)x\in N(A-\lambda I)x∈N(A−λI)。
在计算中,常常首先计算det[A−λI]det\ [A-\lambda I]det [A−λI],先求出λs\lambda sλs
对于矩阵
A=[3113]A=\left[ \begin{matrix} 3&1\\ 1&3\\ \end{matrix} \right] A=[31​13​]
A−λI=[3−λ113−λ]A-\lambda I=\left[ \begin{matrix} 3-\lambda&1\\ 1&3-\lambda\\ \end{matrix} \right] A−λI=[3−λ1​13−λ​]
det[A−λI]=(3−λ)2−1=0det\ [A-\lambda I]=(3-\lambda)^2-1=0 det [A−λI]=(3−λ)2−1=0
得到λ1=2,λ2=4\lambda_1=2,\lambda_2=4λ1​=2,λ2​=4
分别将λ1=2,λ2=4\lambda_1=2,\lambda_2=4λ1​=2,λ2​=4代回方程
[3−λ113−λ]\left[ \begin{matrix} 3-\lambda&1\\ 1&3-\lambda\\ \end{matrix} \right] [3−λ1​13−λ​]
λi\lambda_iλi​对应的特征向量就在这个矩阵的零空间中
λ1=2\lambda_1=2λ1​=2
[1111]\left[ \begin{matrix} 1&1\\ 1&1\\ \end{matrix} \right] [11​11​]
x1=[1−1]Tx_1=[1\ -1]^Tx1​=[1 −1]T

λ2=4\lambda_2=4λ2​=4
[−111−1]\left[ \begin{matrix} -1&1\\ 1&-1\\ \end{matrix} \right] [−11​1−1​]
x2=[11]Tx_2=[1\ 1]^Tx2​=[1 1]T

A−λIA-\lambda IA−λI的意义是什么
矩阵
[0110]\left[ \begin{matrix} 0&1\\ 1&0\\ \end{matrix} \right] [01​10​]
其特征值为λ1=−1,λ2=1\lambda_1=-1,\lambda_2=1λ1​=−1,λ2​=1,特征向量为x1=[1−1]Tx_1=[1\ -1]^Tx1​=[1 −1]T,x2=[11]Tx_2=[1\ 1]^Tx2​=[1 1]T
对比上边的例子,可以发现A−λIA-\lambda IA−λI并不会影响特征向量,而是将所有特征值减去了λ\lambdaλ

复数特征值

90°90\degree90°旋转矩阵
Q=[0−110]Q= \left[ \begin{matrix} 0&-1\\ 1&0\\ \end{matrix} \right] Q=[01​−10​]
Q−λI=[−λ−11−λ]Q-\lambda I= \left[ \begin{matrix} -\lambda&-1\\ 1&-\lambda\\ \end{matrix} \right] Q−λI=[−λ1​−1−λ​]
det[Q−λI]=λ2+1=0det\ [Q-\lambda I]=\lambda^2+1=0 det [Q−λI]=λ2+1=0
可得λ1=−i\lambda_1=-iλ1​=−i,λ2=i\lambda_2=iλ2​=i
注意特征值是纯虚数,而矩阵是反对称的

虚数意味着某种旋转

重复的特征值

矩阵
A=[3103]A= \left[ \begin{matrix} 3&1\\ 0&3\\ \end{matrix} \right] A=[30​13​]
det[A−λI]=(3−λ)2−1=0det\ [A-\lambda I]=(3-\lambda)^2-1=0 det [A−λI]=(3−λ)2−1=0
这个矩阵,有两个相等的特征值λ1=λ2=3\lambda_1=\lambda_2=3λ1​=λ2​=3,也称特征值λ=3\lambda=3λ=3的代数重度是2。
但是对于这个矩阵的特征向量
A−3I=[0100]A-3I= \left[ \begin{matrix} 0&1\\ 0&0\\ \end{matrix} \right] A−3I=[00​10​]
发现只有一个特征向量[10]T[1\ 0]^T[1 0]T
重复的特征值可能会造成特征向量的短缺,但是不是所有有重复特征值的矩阵都会造成特征向量的短缺,对于这样矩阵的重复的特征值,其对应的特征空间维度等于其特征值的代数重度。

特征值的性质

n∗nn*nn∗n矩阵有nnn个特征值
特征值之和等于矩阵的迹(trace)(trace)(trace)
特征值之积等于矩阵行列式
复特征值成对出现,互为共轭

对角化和矩阵幂

假设矩阵AAA存在nnn个相互独立的特征向量,构造成特征向量矩阵
S=[x1x2⋯xn]S=[x_1\ x_2\cdots x_n] S=[x1​ x2​⋯xn​]
将AAA左乘SSS
AS=[λ1x1λ2x2⋯λnxn]AS=[\lambda_1x_1\ \lambda_2x_2\cdots\lambda_nx_n] AS=[λ1​x1​ λ2​x2​⋯λn​xn​]
分离特征值和特征向量
AS=[x1x2⋯xn][λ1λ2⋱λn]=SΛAS=[x_1\ x_2\cdots x_n] \left[ \begin{matrix} \lambda_1&&&\\ &\lambda_2&&\\ &&\ddots&\\ &&&\lambda_n\\ \end{matrix} \right]=S\Lambda AS=[x1​ x2​⋯xn​]⎣⎢⎢⎡​λ1​​λ2​​⋱​λn​​⎦⎥⎥⎤​=SΛ
左乘S−1S^{-1}S−1
A=SΛS−1A=S\Lambda S^{-1} A=SΛS−1

对角化的条件

上一小节可以看到,不是所有矩阵都有数量足够的线性无关的特征向量,而可对角化的条件,正是要求nnn阶矩阵有nnn个线性无关的特征向量。(注意这里不要求AAA可逆)

矩阵幂

对角化提供了计算矩阵幂次的简便算法,当然前提是矩阵可对角化(diagonalizable)(diagonalizable)(diagonalizable)
An=SΛS−1SΛS−1⋯SΛS−1=SΛnS−1A^n=S\Lambda S^{-1}S\Lambda S^{-1}\cdots S\Lambda S^{-1}=S\Lambda^n S^{-1} An=SΛS−1SΛS−1⋯SΛS−1=SΛnS−1
上式说明,AnA^nAn相比于AAA,特征向量没有变,但是特征值变成λn\lambda^nλn

矩阵的稳定性

如果矩阵的所有特征值绝对值都小于1,那么
n→∞,An→On\rightarrow\infin,A^n\rightarrow O n→∞,An→O
称矩阵AAA是稳定的

相似性

如果∃M\exists M∃M是可逆矩阵,使得矩阵A,BA,BA,B满足,B=M−1AMB=M^{-1}AMB=M−1AM
相似性完成了对同阶方阵的一个划分

再议特征值分解

S−1AS=ΛS^{-1}AS=\Lambda S−1AS=Λ
可对角化的矩阵,就是相似与某个对角阵的矩阵

相似矩阵的性质

  1. 矩阵相似是一种等价关系
    a) 相似矩阵与自身相似
    b) 如果矩阵AAA相似于矩阵BBB,则矩阵BBB相似于矩阵AAA
    c) 如果矩阵AAA相似于矩阵BBB,矩阵BBB相似于矩阵CCC,则矩阵AAA相似于矩阵CCC
  2. 若矩阵AAA相似于矩阵BBB,则AAA和BBB有相同的特征值
  3. 若矩阵AAA相似于矩阵BBB,则矩阵f(A)f(A)f(A)相似于矩阵f(B)f(B)f(B),当AAA可逆,矩阵A−1A^{-1}A−1相似于矩阵B−1B^{-1}B−1

相似矩阵的特征值与特征向量

相似矩阵具有相同的特征值
证明
如果AAA相似于BBB,
Bx=λxBx=\lambda x Bx=λx
M−1AMx=λxM^{-1}AMx=\lambda xM−1AMx=λx
AMx=λMxAMx=\lambda MxAMx=λMx
证毕,同时,可以看出虽然相似矩阵的特征值相等,但是特征向量发生了变化,不过可以发现两个相似的矩阵必有相同数目的线性无关特征向量
但是这是相似矩阵的判据吗?
考虑矩阵
[3103][3003]\left[ \begin{matrix} 3&1\\ 0&3\\ \end{matrix} \right] \left[ \begin{matrix} 3&0\\ 0&3\\ \end{matrix} \right] [30​13​][30​03​]
先上结论,这个两个矩阵不相似,但是他们具有相同的特征值3,而且代数重度是2,左边矩阵只能找到一个线性无关的特征向量,而右边的矩阵可以找到两个线性无关的特征向量。

其实右边的对角阵,在利用相似性进行的矩阵划分中,他所在的划分只有他一个元素,换言之,对于特征值为λ\lambdaλ,代数重度为nnn,具有nnn个线性无关的特征向量的nnn阶方阵,除自身外无其他矩阵与其相似。

左边的矩阵中,其实在上一节已经知道,它是无法对角化的,当然它与右边的对角阵不相似。但是在它所在的划分中,它是最标准的形式,被称为JordanformJordan\ formJordan form(诺尔当标准型)。

JordanJordanJordan标准型

相似的矩阵都可以被表示成同一个JordanJordanJordan标准型

再考虑矩阵
[11][11]\left[ \begin{matrix} &1&&\\ &&1&\\ &&&\\ &&&\\ \end{matrix} \right] \left[ \begin{matrix} &1&&\\ &&&\\ &&&1\\ &&&\\ \end{matrix} \right] ⎣⎢⎢⎡​​1​1​​⎦⎥⎥⎤​⎣⎢⎢⎡​​1​​1​⎦⎥⎥⎤​
这两个矩阵都有相同的特征值000,和相同的代数重度444,而且都有两个线性无关的特征向量,但是其实两者并不相似

JordanJordanJordan块

JordanJordanJordan块形如
[λi1λi⋱⋱1λi]\left[ \begin{matrix} \lambda_i&1&&\\ &\lambda_i&\ddots&\\ &&\ddots&1\\ &&&\lambda_i\\ \end{matrix} \right] ⎣⎢⎢⎡​λi​​1λi​​⋱⋱​1λi​​⎦⎥⎥⎤​
JordanJordanJordan块只有一个特征向量
上述例子的两个矩阵可以分块为
[J3∗3O3∗1O1∗3J1∗1][J2∗2O2∗2O2∗2J2∗2]\left[ \begin{matrix} J_{3*3}&O_{3*1}\\ O_{1*3}&J_{1*1}\\ \end{matrix} \right] \left[ \begin{matrix} J_{2*2}&O_{2*2}\\ O_{2*2}&J_{2*2}\\ \end{matrix} \right] [J3∗3​O1∗3​​O3∗1​J1∗1​​][J2∗2​O2∗2​​O2∗2​J2∗2​​]
可见这两个方阵无法得到相同的分块,JordanJordanJordan认为这样的矩阵不相似

JordanJordanJordan定理

每个方阵AAA都相似与一个JordanJordanJordan矩阵
JordanJordanJordan矩阵形如
J=[J1J2⋱Ji]J= \left[ \begin{matrix} J_1&&&\\ &J_2&&\\ &&\ddots&\\ &&&J_i\\ \end{matrix} \right] J=⎣⎢⎢⎡​J1​​J2​​⋱​Ji​​⎦⎥⎥⎤​
J∗J_*J∗​是JordanJordanJordan块
而且
#Jordanblocks=#eigenvectors\#Jordan\ blocks=\# eigenvectors #Jordan blocks=#eigenvectors
可对角化的矩阵的JordanJordanJordan矩阵就是对角阵Λ\LambdaΛ

[笔记][总结] MIT线性代数 Gilbert Strang 矩阵运算相关推荐

  1. [笔记][总结] MIT线性代数 Gilbert Strang 矩阵分解

    作者水平有限,欢迎大家提出文中错误 矩阵分解 PAn∗n=LUPA_{n*n}=LUPAn∗n​=LU 高斯消元法 消元矩阵 EliminationmatricesElimination\ matri ...

  2. [笔记][总结] MIT线性代数 Gilbert Strang 对称矩阵

    作者水平有限,欢迎大家提出文中错误 正定性与对称矩阵 对称矩阵 对称矩阵的对角化 正定性 正定矩阵判据 正定矩阵的性质 正定性与最小二乘法 二次型 对称矩阵的LU分解与二次型的配方 连续多元函数在某点 ...

  3. [笔记][总结] MIT线性代数 Gilbert Strang 矩阵的应用

    作者水平有限,欢迎大家提出文中错误 矩阵的应用 电路理论 图的矩阵表示--邻接矩阵 回路 零空间 左零空间 Ohm′slawOhm's\ lawOhm′s law 再议回路 外部电源 电路理论的三个核 ...

  4. [笔记][总结] MIT线性代数 Gilbert Strang 正交矩阵

    作者水平有限,欢迎大家提出文中错误 正交性与正交矩阵 正交性 标准正交矩阵 投影矩阵 一维情况 最小二乘法 回到投影矩阵 投影矩阵的若干性质 再述最小二乘法 Gram-Schmidt正交化 A=QRA ...

  5. [笔记][总结] MIT线性代数 Gilbert Strang 向量空间

    作者水平有限,欢迎大家提出文中错误 向量空间与四个基本子空间 向量空间 线性子空间 四个基本子空间 C(A):columnspaceofAC(A):column\ space\ of \ AC(A): ...

  6. [笔记][总结] MIT线性代数 Gilbert Strang 线性方程组

    作者水平有限,欢迎大家提出文中错误 矩阵方程.线性方程组 Ax=bAx=bAx=b的行图像 Ax=bAx=bAx=b的列图像 齐次方程Ax=0Ax=0Ax=0 非齐次方程Ax=bAx=bAx=b Ax ...

  7. 86岁还在录网课:MIT教授Gilbert Strang最新「线性代数」课程上线

    机器之心报道 参与:张倩.Jamin.Raccon X 讲 MIT 线性代数经典课程的 Gilbert Strang 教授已经 86 岁高龄了.他的书被清华选作教材,课程吸引了国内外大批学子.如今疫情 ...

  8. 线性代数与数据学习:MIT教授Gilbert Strang帮你打下坚实的数学基础

    机器之心编辑,作者:思源.刘晓坤. MIT 教授 Gilbert Strang 最新书籍<线性代数与数据学习>(Linear Algebra and Learning from Data) ...

  9. 86岁还在录网课:MIT教授Gilbert Strang最新「线性代数」课程上线,被清华选作教材...

    转自:机器之心 参与:张倩.Jamin.Raccon X 讲 MIT 线性代数经典课程的 Gilbert Strang 教授已经 86 岁高龄了.他的书被清华选作教材,课程吸引了国内外大批学子.如今疫 ...

最新文章

  1. 云计算机基地有辐射吗,服务器机房有辐射大吗
  2. gulp-autoprefixer报Promise is not defined错误
  3. Python基础概念_11_标准库
  4. 网络上总结python中的面试题
  5. “贵妇”必备的高价糖水,我给燕窝上了10年智商税
  6. Linux RabbitMQ+Erlang /sbin/service rabbitmq-server start 启动报错
  7. Socket网络编程--简单Web服务器(3)
  8. Microsoft SQL Server数据库部署过程
  9. python操作文件open_【转】PYTHON open/文件操作
  10. php calendar,php编译安装calendar扩展模块
  11. Windows 8实例教程系列 - 布局控制
  12. 安装包时后面的参数以及简写
  13. 计算机视觉大佬--何凯明
  14. 【文章翻译】Reinforced Variational Inference
  15. graphpad两组t检验_如何用GraphPad Prism进行两组连续变量的比较
  16. python爬虫代理的使用_从零开始写Python爬虫 --- 2.4 爬虫实践:代理的爬取和验证...
  17. python eel vue_张莽子—
  18. STM8 fHSI和 fCPU分频
  19. IntelliJ IDEA如何修改版权信息
  20. 如何监控ActiveMQ

热门文章

  1. tensorflow gpu python3.5_tensorflow环境搭建:Ubuntu16.04+python3.5+cuda8.0+tensorflow1.4
  2. 房产中介小程序版v8.1.71房产小程序 房产中介小程序 二手房小程序
  3. Panda3D 载入角色
  4. Java读写操作西门子S7系列PLC
  5. [HIHO1560] H国的身份证号码II(dp,计数,矩阵快速幂)
  6. 机器学习小试(11)验证码识别测试-使用Qt与Tensorflow2进行深度学习实验
  7. 《炬丰科技-半导体工艺》SPM光刻工艺
  8. 云南大学软件学院java实验九_云南大学软件学院JAVA实验三
  9. 猫狗分类-VGG16-Finetune
  10. 傻瓜html编辑器中文版,LRC傻瓜编辑器官方版