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

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


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

转置

A i j = A j i T A_{ij}=A^T_{ji} Aij=AjiT

转置的性质

  1. ( A T ) − 1 (A^T)^{-1} (AT)1= ( A − 1 ) T (A^{-1})^T (A1)T
  2. 对于任意矩阵 R R R R T R R^TR RTR是对称矩阵

求逆

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

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

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

矩阵逆的代数表达式

这里会用到本部分后面的内容
A − 1 = 1 d e t   A C T A^{-1}=\frac{1}{det\ A}C^T A1=det A1CT
矩阵 C C C被称为代数余子式矩阵
C = [ A 11 A 12 ⋯ A 1 n A 21 A 22 ⋯ A 2 n ⋮ ⋮ ⋱ ⋮ A n 1 A n 2 ⋯ A n n ] 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=A11A21An1A12A22An2A1nA2nAnn
C T C^T CT称为伴随矩阵

证明:
A C T = [ a 11 a 12 ⋯ a 1 n a 21 a 22 ⋯ a 2 n ⋮ ⋮ ⋱ ⋮ a n 1 a n 2 ⋯ a n n ] [ A 11 A 21 ⋯ A n 1 A 12 A 22 ⋯ A n 2 ⋮ ⋮ ⋱ ⋮ A 1 n A 2 n ⋯ A n n ] 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=a11a21an1a12a22an2a1na2nannA11A12A1nA21A22A2nAn1An2Ann
得到
( A C T ) i j = a i 1 A j 1 + a i 2 A j 2 + ⋯ + a i n A j n (AC^T)_{ij}=a_{i1}A_{j1}+a_{i2}A_{j2}+\cdots+a_{in}A_{jn} (ACT)ij=ai1Aj1+ai2Aj2++ainAjn
注意到 i = j i=j i=j时, ( A C T ) i i = d e t   A (AC^T)_{ii}=det\ A (ACT)ii=det A
对于其他项,考虑其意义,是矩阵 A A A某一行的元素,乘以一个不同行对应的代数余子式,如果将矩阵的第 j j j行用第 i i i行进行代替,其行列式的值正是上式
∣ a 11 a 12 ⋯ a 1 n ⋮ ⋮ ⋮ a i 1 a i 2 ⋯ a i n ⋮ ⋮ ⋮ a j 1 a j 2 ⋯ a j n ⋮ ⋮ ⋮ a n 1 a n 2 ⋯ a n n ∣ → ∣ a 11 a 12 ⋯ a 1 n ⋮ ⋮ ⋮ a i 1 a i 2 ⋯ a i n ⋮ ⋮ ⋮ a i 1 a i 2 ⋯ a i n ⋮ ⋮ ⋮ a n 1 a n 2 ⋯ a n n ] \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] a11ai1aj1an1a12ai2aj2an2a1nainajnanna11ai1ai1an1a12ai2ai2an2a1nainainann
所以 i ≠ j i\not= j i=j时, ( A C T ) i j = 0 (AC^T)_{ij}=0 (ACT)ij=0
所以 A C T = d e t   A ⋅ I AC^T=det\ A\cdot I ACT=det AI,证毕

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

C r a m e r ′ s   r u l e Cramer's\ rule Cramers rule

上一小节知道了矩阵逆的代数表达式,现在考虑矩阵方程 A x = b Ax=b Ax=b,可知
x = 1 d e t   A C T b x=\frac{1}{det\ A}C^Tb x=det A1CTb
考虑 x x x的其中一项
d e t   A ⋅ x i = b 1 C 1 i + b 2 C 2 i + ⋯ + b n C n i det\ A\cdot x_i=b_1C_{1i}+b_2C_{2i}+\cdots+b_nC_{ni} det Axi=b1C1i+b2C2i++bnCni
构造矩阵 B i B_i Bi
B i = [ a 11 ⋯ b 1 ⋯ a 1 n a 21 ⋯ b 2 ⋯ a 2 n ⋮ ⋮ ⋮ a n 1 ⋯ b n ⋯ a n n ] 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=a11a21an1b1b2bna1na2nann
矩阵 A A A用列向量 b b b替换了第 i i i列,形成了矩阵 B i B_i Bi,所以
d e t   A ⋅ x i = d e t   B i det\ A\cdot x_i=det\ B_i det Axi=det Bi
克拉默法则
矩阵方程 A x = b Ax=b Ax=b若是有解且唯一的,那么其解为
x i = d e t   B i d e t   A x_i=\frac{det\ B_i}{det\ A} xi=det Adet Bi

方阵逆矩阵的性质

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

矩阵乘法

矩阵乘法的五种形式

1. 行列内积

C m ∗ n = A m ∗ p B p ∗ n C_{m*n}=A_{m*p}B_{p*n} Cmn=AmpBpn

c i j = r o w   i ( A ) ⋅ c o l u m n   j ( A ) c_{ij}=row\ i(A)\cdot column\ j(A) cij=row i(A)column j(A)

2. 矩阵与列向量之积

c o l u m n   i ( C ) = A   c o l u m n   i ( B ) column\ i(C)=A\ column\ i(B) column i(C)=A column i(B)

3. 行向量和矩阵之积

r o w   i ( C ) = r o w   i A ⋅ B row\ i(C)=row\ iA\cdot B row i(C)=row iAB

4. 若干秩1矩阵之和

C = ∑ i = 1 p [ a 1 i a 2 i ⋮ a m i ] [ b i 1 b i 2 ⋯ b i n ] 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=1pa1ia2iami[bi1bi2bin]
比如
[ 2 7 3 8 4 9 ] [ 1 6 0 0 ] = [ 2 3 4 ] [ 1 6 ] 3. [ 7 8 9 ] [ 0 0 ] \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] 234789[1060]=234[16]3.789[00]

5. 分块乘法

[ A 11 A 12 A 21 A 22 ] [ B 11 B 12 B 21 B 22 ] = [ 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 ] \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] [A11A21A12A22][B11B21B12B22]=[A11B11+A12B21A21B11+A22B21A11B12+A12B22A21B12+A22B22]
分块必须匹配

矩阵乘法的性质

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

行列式

行列式的性质

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

结合性质1,2可知 d e t   P i j = − 1 det\ P_{ij}=-1 det Pij=1(单次交换)
3.
∣ t a t b c d ∣ = t ∣ a b c d ∣ \left| \begin{matrix} ta&tb\\ c&d\\ \end{matrix} \right|=t \left| \begin{matrix} a&b\\ c&d\\ \end{matrix} \right| tactbd=tacbd
d e t   k A = k n d e t   A det\ kA=k^ndet\ A det kA=kndet A
4.

∣ a + a ′ b + b ′ c d ∣ = ∣ a b c d ∣ + ∣ a ′ b ′ c d ∣ \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+acb+bd=acbd+acbd

结合性质3,4可知 d e t   ⋅ det\ \cdot det 对矩阵某一行或一列的线性算子
5.矩阵中出现两个相等的行或列,会使行列式为0
6.消去操作(从某一行加上零一行的k倍)不影响行列式的值
∣ a + k c b + k d c d ∣ = ∣ a b c d ∣ + ∣ k c k c c d ∣ = ∣ a b c d ∣ \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+kccb+kdd=acbd+kcckcd=acbd
7.全零行(列)会导致行列式为零
8.三角阵的行列式等于对角元之积
9.奇异矩阵行列式为0
10. d e t   A B = d e t   A ⋅ d e t   B det\ AB=det\ A\cdot det\ B det AB=det Adet B
11. d e t   A − 1 = ( d e t   A ) − 1 det\ A^{-1}=(det\ A)^{-1} det A1=(det A)1
12. d e t   A = d e t   A T det\ A=det\ A^T det A=det AT

行列式的计算方法

行列式的定义式

接下来,利用上面的性质1,2,3,可以得到行列式的计算方法
以二阶方阵为例
∣ a b c d ∣ = ∣ a 0 c d ∣ + ∣ 0 b c d ∣ = \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|= acbd=ac0d+0cbd=

∣ a 0 c 0 ∣ + ∣ a 0 0 d ∣ + ∣ 0 b c 0 ∣ + ∣ 0 b 0 d ∣ = a d − b c \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 ac00+a00d+0cb0+00bd=adbc
可见,对于n阶方阵,依次分解第一行,第二行……第 n n n行,共得到 n n n^n nn项,其中只要有某项的一列或一行全为零,则此项为0,所有非零项的种类数问题,变成了一个排列组合问题,相当于对 1 ⋯ n 1\cdots n 1n进行全排列,项总数为 n ! n! n!,留下的项不仅没有空行空列,而且每行或每列都只有一个元素,都可以使用多次置换矩阵 P P P左乘对角阵得到。

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

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

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

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

置换操作会如何影响逆序数?
{ a 1   a 2 ⋯ a i ⋯ a j ⋯   a n } → { a 1   a 2 ⋯ a j ⋯ a i ⋯   a n } \{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 a2aiaj an}{a1 a2ajai an}

这里要证明一次置换会导致逆序数的奇偶性发生改变,为了避免对序列其他部分的影响,通过相邻元素的置换完成置换
{ a 1   a 2 ⋯ a i   a i + 1 ⋯ a j ⋯   a n } → { a 1   a 2 ⋯ a i + 1   a i ⋯ a j ⋯   a n } } \{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 a2ai ai+1aj an}{a1 a2ai+1 aiaj an}}
这样的一次置换使得序列的逆序数只加 1 1 1或减 1 1 1,奇偶性一定会改变
假设原序列中 a i a_i ai a j a_j aj之间有 n n n个元素
{ a 1   a 2 ⋯ a i ⋯ a j ⋯   a n } → { a 1   a 2 ⋯ a i + 1 ⋯ a j   a i ⋯   a n } \{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 a2aiaj an}{a1 a2ai+1aj ai an}

需要 n + 1 n+1 n+1

{ a 1   a 2 ⋯ a i + 1 ⋯ a j   a i ⋯   a n } → { a 1   a 2 ⋯ a j ⋯   a i ⋯   a n } \{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 a2ai+1aj ai an}{a1 a2aj ai an}

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

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

最后有行列式的定义式
d e t ( A n ∗ n ) = ∑ a l l   o f   p e r m u t a t i o n s ( − 1 ) τ ( p 1 p 2 . . . p n ) a 1 p 1 a 2 p 2 . . . a n p n det(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(Ann)=all of permutations(1)τ(p1p2...pn)a1p1a2p2...anpn

τ ( p 1 p 2 . . . p n )   i s   t h e   i n v e r s i o n   n u m b e r   o f   p e r m u t a t i o n   p 1 p 2 . . . p n . {\tau(p_1p_2...p_n)}\ is\ the\ inversion\ number\ of\ permutation\ p_1p_2...p_n. τ(p1p2...pn) is the inversion number of permutation p1p2...pn.

代数余子式法

在刚才的定义式推导的过程中,所有 n ! n! n!项其实可以进行如下划分
{ n !   t e r m s } = \{n!\ terms\}= {n! terms}=
{ ( n − 1 ) !   t e r m s   w i t h   n o n z e r o   a 11 } + \{(n-1)!\ terms\ with\ nonzero\ a_{11}\}+ {(n1)! terms with nonzero a11}+
{ ( n − 1 ) !   t e r m s   w i t h   n o n z e r o   a 12 } + \{(n-1)!\ terms\ with\ nonzero\ a_{12}\}+ {(n1)! terms with nonzero a12}+
⋮ \vdots
{ ( n − 1 ) !   t e r m s   w i t h   n o n z e r o   a 1 n } \{(n-1)!\ terms\ with\ nonzero\ a_{1n}\} {(n1)! terms with nonzero a1n}
而这每一个划分之和,又好像满足一个 n − 1 n-1 n1阶行列式的定义式,比如
∣ a 11 0 0 0 ∗ ∗ 0 ∗ ∗ ∣ ∣ 0 a 12 0 ∗ 0 ∗ ∗ 0 ∗ ∣ ∣ 0 0 a 13 ∗ ∗ 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| a1100000a1200000a1300
∗ * 是可以非零的位置

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

d e t ( A n ∗ n ) = ∑ i = 1 n a i j A i j , ( j = 1 , 2 , . . . , n ) det(A_{n*n}) = \sum\limits_{i=1}^na_{ij}A_{ij},(j=1,2,...,n) det(Ann)=i=1naijAij,(j=1,2,...,n)

代数余子式

为什么说代数余子式是类似行列式的量,它和行列式差在哪里?
3 ∗ 3 3*3 33矩阵为例
∣ a 11 a 12 a 13 a 21 a 22 a 23 a 31 a 32 a 33 ∣ = \left| \begin{matrix} a_{11}&a_{12}&a_{13}\\ a_{21}&a_{22}&a_{23}\\ a_{31}&a_{32}&a_{33}\\ \end{matrix} \right|= a11a21a31a12a22a32a13a23a33=

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 ) 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(a22a33a23a32)a12(a21a33a23a31)+a13(a21a32a22a31)
从中可以观察出规律 a i j a_{ij} aij的代数余子式 A i j = ( − 1 ) i + j M i j A_{ij}=(-1)^{i+j}M_{ij} Aij=(1)i+jMij,其中 M i j M_{ij} Mij是除去 i i i j j j列的元素,组成的子行列式,被称为 a i j a_{ij} aij余子式

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

上三角阵对角线元素之积

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

例子

三对角矩阵 A n A_n An,比如
A 4 = [ 1 1 1 1 1 1 1 1 1 1 ] A_4= \left[ \begin{matrix} 1&1&&\\ 1&1&1&\\ &1&1&1\\ &&1&1\\ \end{matrix} \right] A4=1111111111
求一下 d e t   A n det\ A_n det An通项
可以直接看出 A 1 = 1 , A 2 = 0 , A 3 = − 1 A_1=1,A_2=0,A_3=-1 A1=1,A2=0,A3=1,从 A 4 A_4 A4开始
d e t   A 4 = ∣ 1 1 1 1 1 1 1 1 1 1 ∣ = det\ A_4= \left| \begin{matrix} 1&1&&\\ 1&1&1&\\ &1&1&1\\ &&1&1\\ \end{matrix} \right|= det A4=1111111111=
1 ⋅ ∣ 1 1 1 1 1 1 1 ∣ + ( − 1 ) ⋅ ∣ 1 1 1 1 1 1 ∣ = d e t   A 3 − d e t   A 2 = − 1 1\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 11111111+(1)111111=det A3det A2=1
不难发现 d e t   A n = d e t   A n − 1 − d e t   A n − 2 det\ A_n=det\ A_{n-1}-det\ A_{n-2} det An=det An1det An2
所以 { A n } \{A_n\} {An}是一个循环的数列,循环部分为
{ 1   0   − 1   − 1   0   1 } \{1\ 0\ -1\ -1\ 0\ 1\} {1 0 1 1 0 1}

特征值和特征向量

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

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

例子

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

算法

A x = λ   x → [ A − λ I ] x = 0 Ax=\lambda\ x\rightarrow[A-\lambda I]x=0 Ax=λ x[AλI]x=0
可见 x ∈ N ( A − λ I ) x\in N(A-\lambda I) xN(AλI)
在计算中,常常首先计算 d e t   [ A − λ I ] det\ [A-\lambda I] det [AλI],先求出 λ s \lambda s λs
对于矩阵
A = [ 3 1 1 3 ] A=\left[ \begin{matrix} 3&1\\ 1&3\\ \end{matrix} \right] A=[3113]
A − λ I = [ 3 − λ 1 1 3 − λ ] A-\lambda I=\left[ \begin{matrix} 3-\lambda&1\\ 1&3-\lambda\\ \end{matrix} \right] AλI=[3λ113λ]
d e t   [ A − λ I ] = ( 3 − λ ) 2 − 1 = 0 det\ [A-\lambda I]=(3-\lambda)^2-1=0 det [AλI]=(3λ)21=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 − λ 1 1 3 − λ ] \left[ \begin{matrix} 3-\lambda&1\\ 1&3-\lambda\\ \end{matrix} \right] [3λ113λ]
λ i \lambda_i λi对应的特征向量就在这个矩阵的零空间中
λ 1 = 2 \lambda_1=2 λ1=2
[ 1 1 1 1 ] \left[ \begin{matrix} 1&1\\ 1&1\\ \end{matrix} \right] [1111]
x 1 = [ 1   − 1 ] T x_1=[1\ -1]^T x1=[1 1]T

λ 2 = 4 \lambda_2=4 λ2=4
[ − 1 1 1 − 1 ] \left[ \begin{matrix} -1&1\\ 1&-1\\ \end{matrix} \right] [1111]
x 2 = [ 1   1 ] T x_2=[1\ 1]^T x2=[1 1]T

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

复数特征值

90 ° 90\degree 90°旋转矩阵
Q = [ 0 − 1 1 0 ] Q= \left[ \begin{matrix} 0&-1\\ 1&0\\ \end{matrix} \right] Q=[0110]
Q − λ I = [ − λ − 1 1 − λ ] Q-\lambda I= \left[ \begin{matrix} -\lambda&-1\\ 1&-\lambda\\ \end{matrix} \right] QλI=[λ11λ]
d e t   [ Q − λ I ] = λ 2 + 1 = 0 det\ [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 = [ 3 1 0 3 ] A= \left[ \begin{matrix} 3&1\\ 0&3\\ \end{matrix} \right] A=[3013]
d e t   [ A − λ I ] = ( 3 − λ ) 2 − 1 = 0 det\ [A-\lambda I]=(3-\lambda)^2-1=0 det [AλI]=(3λ)21=0
这个矩阵,有两个相等的特征值 λ 1 = λ 2 = 3 \lambda_1=\lambda_2=3 λ1=λ2=3,也称特征值 λ = 3 \lambda=3 λ=3代数重度是2。
但是对于这个矩阵的特征向量
A − 3 I = [ 0 1 0 0 ] A-3I= \left[ \begin{matrix} 0&1\\ 0&0\\ \end{matrix} \right] A3I=[0010]
发现只有一个特征向量 [ 1   0 ] T [1\ 0]^T [1 0]T
重复的特征值可能会造成特征向量的短缺,但是不是所有有重复特征值的矩阵都会造成特征向量的短缺,对于这样矩阵的重复的特征值,其对应的特征空间维度等于其特征值的代数重度。

特征值的性质

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

对角化和矩阵幂

假设矩阵 A A A存在 n n n个相互独立的特征向量,构造成特征向量矩阵
S = [ x 1   x 2 ⋯ x n ] S=[x_1\ x_2\cdots x_n] S=[x1 x2xn]
A A A左乘 S S S
A S = [ λ 1 x 1   λ 2 x 2 ⋯ λ n x n ] AS=[\lambda_1x_1\ \lambda_2x_2\cdots\lambda_nx_n] AS=[λ1x1 λ2x2λnxn]
分离特征值和特征向量
A S = [ x 1   x 2 ⋯ x n ] [ λ 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 x2xn]λ1λ2λn=SΛ
左乘 S − 1 S^{-1} S1
A = S Λ S − 1 A=S\Lambda S^{-1} A=SΛS1

对角化的条件

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

矩阵幂

对角化提供了计算矩阵幂次的简便算法,当然前提是矩阵可对角化 ( d i a g o n a l i z a b l e ) (diagonalizable) (diagonalizable)
A n = S Λ S − 1 S Λ S − 1 ⋯ S Λ S − 1 = S Λ n S − 1 A^n=S\Lambda S^{-1}S\Lambda S^{-1}\cdots S\Lambda S^{-1}=S\Lambda^n S^{-1} An=SΛS1SΛS1SΛS1=SΛnS1
上式说明, A n A^n An相比于 A A A,特征向量没有变,但是特征值变成 λ n \lambda^n λn

矩阵的稳定性

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

相似性

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

再议特征值分解

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

相似矩阵的性质

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

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

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

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

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

J o r d a n Jordan Jordan标准型

相似的矩阵都可以被表示成同一个 J o r d a n Jordan Jordan标准型

再考虑矩阵
[ 1 1 ] [ 1 1 ] \left[ \begin{matrix} &1&&\\ &&1&\\ &&&\\ &&&\\ \end{matrix} \right] \left[ \begin{matrix} &1&&\\ &&&\\ &&&1\\ &&&\\ \end{matrix} \right] 1111
这两个矩阵都有相同的特征值 0 0 0,和相同的代数重度 4 4 4,而且都有两个线性无关的特征向量,但是其实两者并不相似

J o r d a n Jordan Jordan

J o r d a n Jordan Jordan块形如
[ λ i 1 λ i ⋱ ⋱ 1 λ i ] \left[ \begin{matrix} \lambda_i&1&&\\ &\lambda_i&\ddots&\\ &&\ddots&1\\ &&&\lambda_i\\ \end{matrix} \right] λi1λi1λi
J o r d a n Jordan Jordan块只有一个特征向量
上述例子的两个矩阵可以分块为
[ J 3 ∗ 3 O 3 ∗ 1 O 1 ∗ 3 J 1 ∗ 1 ] [ J 2 ∗ 2 O 2 ∗ 2 O 2 ∗ 2 J 2 ∗ 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] [J33O13O31J11][J22O22O22J22]
可见这两个方阵无法得到相同的分块, J o r d a n Jordan Jordan认为这样的矩阵不相似

J o r d a n Jordan Jordan定理

每个方阵 A A A都相似与一个 J o r d a n Jordan Jordan矩阵
J o r d a n Jordan Jordan矩阵形如
J = [ J 1 J 2 ⋱ J i ] J= \left[ \begin{matrix} J_1&&&\\ &J_2&&\\ &&\ddots&\\ &&&J_i\\ \end{matrix} \right] J=J1J2Ji
J ∗ J_* J J o r d a n Jordan Jordan
而且
# J o r d a n   b l o c k s = # e i g e n v e c t o r s \#Jordan\ blocks=\# eigenvectors #Jordan blocks=#eigenvectors
可对角化的矩阵的 J o r d a n Jordan Jordan矩阵就是对角阵 Λ \Lambda Λ

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值