作者水平有限,歡迎大家提出文中錯誤
本文主要討論除加法和數乘之外的矩陣常用運算
轉置
Aij=AjiT
轉置的性質
- (AT)−1=(A−1)T
- 對於任意矩陣R,RTR是對稱矩陣
求逆
使用高斯消元法求解逆矩陣
通過高斯消元法,可以將可逆矩陣化爲單位矩陣,但是此時左乘的矩陣不僅僅是消元矩陣,而是涉及到所有初等行變換。如果將合作用依然寫作E
那麼有
EA=I
則
E=A−1
如果同時對矩陣A和單位陣I做初等行變換,則可以構造增廣矩陣[A∣I]
E[A∣I]=[I∣A−1]
矩陣逆的代數表達式
這裏會用到本部分後面的內容
A−1=det A1CT
矩陣C被稱爲代數餘子式矩陣
C=⎣⎢⎢⎢⎡A11A21⋮An1A12A22⋮An2⋯⋯⋱⋯A1nA2n⋮Ann⎦⎥⎥⎥⎤
而CT稱爲伴隨矩陣
證明:
ACT=⎣⎢⎢⎢⎡a11a21⋮an1a12a22⋮an2⋯⋯⋱⋯a1na2n⋮ann⎦⎥⎥⎥⎤⎣⎢⎢⎢⎡A11A12⋮A1nA21A22⋮A2n⋯⋯⋱⋯An1An2⋮Ann⎦⎥⎥⎥⎤
得到
(ACT)ij=ai1Aj1+ai2Aj2+⋯+ainAjn
注意到i=j時,(ACT)ii=det A
對於其他項,考慮其意義,是矩陣A某一行的元素,乘以一個不同行對應的代數餘子式,如果將矩陣的第j行用第i行進行代替,其行列式的值正是上式
∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣a11⋮ai1⋮aj1⋮an1a12⋮ai2⋮aj2⋮an2⋯⋯⋯⋯a1n⋮ain⋮ajn⋮ann∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣→∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣a11⋮ai1⋮ai1⋮an1a12⋮ai2⋮ai2⋮an2⋯⋯⋯⋯a1n⋮ain⋮ain⋮ann⎦⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎤
所以i=j時,(ACT)ij=0
所以ACT=det A⋅I,證畢
這樣的公式對實際中矩陣逆的求解沒有什麼價值,因爲時間複雜度太高,但是它提供了逆矩陣的代數表達式
Cramer′s rule
上一小節知道了矩陣逆的代數表達式,現在考慮矩陣方程Ax=b,可知
x=det A1CTb
考慮x的其中一項
det A⋅xi=b1C1i+b2C2i+⋯+bnCni
構造矩陣Bi
Bi=⎣⎢⎢⎢⎡a11a21⋮an1⋯⋯⋯b1b2⋮bn⋯⋯⋯a1na2n⋮ann⎦⎥⎥⎥⎤
矩陣A用列向量b替換了第i列,形成了矩陣Bi,所以
det A⋅xi=det Bi
克拉默法則
矩陣方程Ax=b若是有解且唯一的,那麼其解爲
xi=det Adet Bi
方陣逆矩陣的性質
如果A是可逆矩陣,AA−1=A−1A=I
矩陣乘法
矩陣乘法的五種形式
1. 行列內積
Cm∗n=Am∗pBp∗n
則
cij=row i(A)⋅column j(A)
2. 矩陣與列向量之積
column i(C)=A column i(B)
3. 行向量和矩陣之積
row i(C)=row iA⋅B
4. 若干秩1矩陣之和
C=i=1∑p⎣⎢⎢⎢⎡a1ia2i⋮ami⎦⎥⎥⎥⎤[bi1bi2⋯bin]
比如
⎣⎡234789⎦⎤[1060]=⎣⎡234⎦⎤[16]3.⎣⎡789⎦⎤[00]
5. 分塊乘法
[A11A21A12A22][B11B21B12B22]=[A11B11+A12B21A21B11+A22B21A11B12+A12B22A21B12+A22B22]
分塊必須匹配
矩陣乘法的性質
(AB)−1=B−1A−1
行列式
行列式的性質
1.det I=1
2.行交換或列交換,會使行列式值取反
結合性質1,2可知det Pij=−1(單次交換)
3.
∣∣∣∣tactbd∣∣∣∣=t∣∣∣∣acbd∣∣∣∣
det kA=kndet A
4.
∣∣∣∣a+a′cb+b′d∣∣∣∣=∣∣∣∣acbd∣∣∣∣+∣∣∣∣a′cb′d∣∣∣∣
結合性質3,4可知det ⋅是對矩陣某一行或一列的線性算子
5.矩陣中出現兩個相等的行或列,會使行列式爲0
6.消去操作(從某一行加上零一行的k倍)不影響行列式的值
∣∣∣∣a+kccb+kdd∣∣∣∣=∣∣∣∣acbd∣∣∣∣+∣∣∣∣kcckcd∣∣∣∣=∣∣∣∣acbd∣∣∣∣
7.全零行(列)會導致行列式爲零
8.三角陣的行列式等於對角元之積
9.奇異矩陣行列式爲0
10.det AB=det A⋅det B
11.det A−1=(det A)−1
12.det A=det AT
行列式的計算方法
行列式的定義式
接下來,利用上面的性質1,2,3,可以得到行列式的計算方法
以二階方陣爲例
∣∣∣∣acbd∣∣∣∣=∣∣∣∣ac0d∣∣∣∣+∣∣∣∣0cbd∣∣∣∣=
∣∣∣∣ac00∣∣∣∣+∣∣∣∣a00d∣∣∣∣+∣∣∣∣0cb0∣∣∣∣+∣∣∣∣00bd∣∣∣∣=ad−bc
可見,對於n階方陣,依次分解第一行,第二行……第n行,共得到nn項,其中只要有某項的一列或一行全爲零,則此項爲0,所有非零項的種類數問題,變成了一個排列組合問題,相當於對1⋯n進行全排列,項總數爲n!,留下的項不僅沒有空行空列,而且每行或每列都只有一個元素,都可以使用多次置換矩陣P左乘對角陣得到。
而這n!個項的值又是什麼,每一項都等於置換矩陣和某對角陣的乘積,這個對角陣的行列式就是這個項的所有非零元素之積
對於符號,已經知道,一次置換就會使行列式符號相反,這個總的置換矩陣P,假設非零項分別爲p1a1p2a2...pnan,{a1 a2⋯ an}是1,2⋯n的一種排列
所以,置換矩陣P的行列式值是+1還是−1,就取決於{1 2⋯n}要經過多少次置換才能達到{a1 a2⋯ an},是偶數次還是奇數次。
考慮這個問題,需要先介紹逆序數的概念,在序列{a1 a2⋯ an}中,所有的二元對(ai,aj)都有兩種情況,假設i<j,一種是ai>aj,另一種是ai<aj(注意ai=aj是不可能的,因爲{a1 a2⋯ an}是1,2⋯n的一種排列),而逆序數就是所有ai>aj情況的總數,記作τ(a1a2...an),顯然τ(1 2 ⋯n)=0
置換操作會如何影響逆序數?
{a1 a2⋯ai⋯aj⋯ an}→{a1 a2⋯aj⋯ai⋯ an}
這裏要證明一次置換會導致逆序數的奇偶性發生改變,爲了避免對序列其他部分的影響,通過相鄰元素的置換完成置換
{a1 a2⋯ai ai+1⋯aj⋯ an}→{a1 a2⋯ai+1 ai⋯aj⋯ an}}
這樣的一次置換使得序列的逆序數只加1或減1,奇偶性一定會改變
假設原序列中ai和aj之間有n個元素
{a1 a2⋯ai⋯aj⋯ an}→{a1 a2⋯ai+1⋯aj ai⋯ an}
需要n+1步
{a1 a2⋯ai+1⋯aj ai⋯ an}→{a1 a2⋯aj⋯ ai⋯ an}
需要n步
總步數是2n+1,則不管置換髮生在什麼位置,逆序數奇偶性一定會改變
那麼逆序數的奇偶性就能代表置換次數的奇偶性,這正是所求的,τ(1 2...n)=0,之後的每次置換都會同步改變det P的極性,以及序列逆序數的奇偶性。至此置換矩陣P的行列式就已經清晰了
det P=(−1)τ(p1p2...pn)
再次說明,p1p2...pn是置換矩陣每行非零元所在列數(或每列非零元所在行數)
最後有行列式的定義式
det(An∗n)=all of permutations∑(−1)τ(p1p2...pn)a1p1a2p2...anpn
τ(p1p2...pn) is the inversion number of permutation p1p2...pn.
代數餘子式法
在剛纔的定義式推導的過程中,所有n!項其實可以進行如下劃分
{n! terms}=
{(n−1)! terms with nonzero a11}+
{(n−1)! terms with nonzero a12}+
⋮
{(n−1)! terms with nonzero a1n}
而這每一個劃分之和,又好像滿足一個n−1階行列式的定義式,比如
∣∣∣∣∣∣a11000∗∗0∗∗∣∣∣∣∣∣∣∣∣∣∣∣0∗∗a12000∗∗∣∣∣∣∣∣∣∣∣∣∣∣0∗∗0∗∗a1300∣∣∣∣∣∣
∗是可以非零的位置
所以這個n階的行列式,可以分裂成n個n−1階類似行列式的量之和。
注意這裏的劃分不是唯一的,可以對第一行展開,也可以對任意行展開,甚至可以對任意列展開,不過是何種展開,都能得到這個低一階的類似行列式的量。
這個類似行列式的量被稱爲代數餘子式,記作Aij。
det(An∗n)=j=1∑naijAij,(i=1,2,...,n)
或
det(An∗n)=i=1∑naijAij,(j=1,2,...,n)
代數餘子式
爲什麼說代數餘子式是類似行列式的量,它和行列式差在哪裏?
以3∗3矩陣爲例
∣∣∣∣∣∣a11a21a31a12a22a32a13a23a33∣∣∣∣∣∣=
a11(a22a33−a23a32)−a12(a21a33−a23a31)+a13(a21a32−a22a31)
從中可以觀察出規律aij的代數餘子式Aij=(−1)i+jMij,其中Mij是除去i行j列的元素,組成的子行列式,被稱爲aij的餘子式
所以3∗3矩陣的代數餘子式的極性爲
∣∣∣∣∣∣+−+−+−+−+∣∣∣∣∣∣
上三角陣對角線元素之積
以上兩種方法的時間複雜度都是O(n!),其實根據行列式的倍加不變性質,可以知道det A=det U,而高斯消元法的時間複雜度只有O(n3),所以MATLAB在求解矩陣行列式時,都是先消元然後計算主元之積。
det(An∗n)=i=1∏npivot elementi
例子
三對角矩陣An,比如
A4=⎣⎢⎢⎡1111111111⎦⎥⎥⎤
求一下det An通項
可以直接看出A1=1,A2=0,A3=−1,從A4開始
det A4=∣∣∣∣∣∣∣∣1111111111∣∣∣∣∣∣∣∣=
1⋅∣∣∣∣∣∣1111111∣∣∣∣∣∣+(−1)⋅∣∣∣∣∣∣111111∣∣∣∣∣∣=det A3−det A2=−1
不難發現det An=det An−1−det An−2
所以{An}是一個循環的數列,循環部分爲
{1 0 −1 −1 0 1}
特徵值和特徵向量
矩陣A的特徵向量是在左乘矩陣A後,方向不變的向量
Ax=λ x
λ是特徵向量x的特徵值
根據不可逆矩陣的定義,存在非零向量x,滿足Ax=0,所以如果一個矩陣是奇異的,那麼它必有特徵值0。
例子
有投影矩陣P=A(ATA)−1AT
對於v∈C(A),Pv=v,所以所有在A列空間(投影到的子空間)的向量都是特徵向量,特徵值爲1。
對於w∈N(AT),Pw=0,所以所有與A列空間垂直的向量都是特徵向量,特徵值爲0。
算法
Ax=λ x→[A−λI]x=0
可見x∈N(A−λI)。
在計算中,常常首先計算det [A−λI],先求出λs
對於矩陣
A=[3113]
A−λI=[3−λ113−λ]
det [A−λI]=(3−λ)2−1=0
得到λ1=2,λ2=4
分別將λ1=2,λ2=4代回方程
[3−λ113−λ]
λi對應的特徵向量就在這個矩陣的零空間中
λ1=2
[1111]
x1=[1 −1]T
λ2=4
[−111−1]
x2=[1 1]T
A−λI的意義是什麼
矩陣
[0110]
其特徵值爲λ1=−1,λ2=1,特徵向量爲x1=[1 −1]T,x2=[1 1]T
對比上邊的例子,可以發現A−λI並不會影響特徵向量,而是將所有特徵值減去了λ
複數特徵值
90°旋轉矩陣
Q=[01−10]
Q−λI=[−λ1−1−λ]
det [Q−λI]=λ2+1=0
可得λ1=−i,λ2=i
注意特徵值是純虛數,而矩陣是反對稱的
虛數意味着某種旋轉
重複的特徵值
矩陣
A=[3013]
det [A−λI]=(3−λ)2−1=0
這個矩陣,有兩個相等的特徵值λ1=λ2=3,也稱特徵值λ=3的代數重度是2。
但是對於這個矩陣的特徵向量
A−3I=[0010]
發現只有一個特徵向量[1 0]T
重複的特徵值可能會造成特徵向量的短缺,但是不是所有有重複特徵值的矩陣都會造成特徵向量的短缺,對於這樣矩陣的重複的特徵值,其對應的特徵空間維度等於其特徵值的代數重度。
特徵值的性質
n∗n矩陣有n個特徵值
特徵值之和等於矩陣的跡(trace)
特徵值之積等於矩陣行列式
復特徵值成對出現,互爲共軛
對角化和矩陣冪
假設矩陣A存在n個相互獨立的特徵向量,構造成特徵向量矩陣
S=[x1 x2⋯xn]
將A左乘S
AS=[λ1x1 λ2x2⋯λnxn]
分離特徵值和特徵向量
AS=[x1 x2⋯xn]⎣⎢⎢⎡λ1λ2⋱λn⎦⎥⎥⎤=SΛ
左乘S−1
A=SΛS−1
對角化的條件
上一小節可以看到,不是所有矩陣都有數量足夠的線性無關的特徵向量,而可對角化的條件,正是要求n階矩陣有n個線性無關的特徵向量。(注意這裏不要求A可逆)
矩陣冪
對角化提供了計算矩陣冪次的簡便算法,當然前提是矩陣可對角化(diagonalizable)
An=SΛS−1SΛS−1⋯SΛS−1=SΛnS−1
上式說明,An相比於A,特徵向量沒有變,但是特徵值變成λn
矩陣的穩定性
如果矩陣的所有特徵值絕對值都小於1,那麼
n→∞,An→O
稱矩陣A是穩定的
相似性
如果∃M是可逆矩陣,使得矩陣A,B滿足,B=M−1AM
相似性完成了對同階方陣的一個劃分
再議特徵值分解
S−1AS=Λ
可對角化的矩陣,就是相似與某個對角陣的矩陣
相似矩陣的性質
- 矩陣相似是一種等價關係
a) 相似矩陣與自身相似
b) 如果矩陣A相似於矩陣B,則矩陣B相似於矩陣A
c) 如果矩陣A相似於矩陣B,矩陣B相似於矩陣C,則矩陣A相似於矩陣C
- 若矩陣A相似於矩陣B,則A和B有相同的特徵值
- 若矩陣A相似於矩陣B,則矩陣f(A)相似於矩陣f(B),當A可逆,矩陣A−1相似於矩陣B−1
相似矩陣的特徵值與特徵向量
相似矩陣具有相同的特徵值
證明
如果A相似於B,
Bx=λx
M−1AMx=λx
AMx=λMx
證畢,同時,可以看出雖然相似矩陣的特徵值相等,但是特徵向量發生了變化,不過可以發現兩個相似的矩陣必有相同數目的線性無關特徵向量
但是這是相似矩陣的判據嗎?
考慮矩陣
[3013][3003]
先上結論,這個兩個矩陣不相似,但是他們具有相同的特徵值3,而且代數重度是2,左邊矩陣只能找到一個線性無關的特徵向量,而右邊的矩陣可以找到兩個線性無關的特徵向量。
其實右邊的對角陣,在利用相似性進行的矩陣劃分中,他所在的劃分只有他一個元素,換言之,對於特徵值爲λ,代數重度爲n,具有n個線性無關的特徵向量的n階方陣,除自身外無其他矩陣與其相似。
左邊的矩陣中,其實在上一節已經知道,它是無法對角化的,當然它與右邊的對角陣不相似。但是在它所在的劃分中,它是最標準的形式,被稱爲Jordan form(諾爾當標準型)。
Jordan標準型
相似的矩陣都可以被表示成同一個Jordan標準型
再考慮矩陣
⎣⎢⎢⎡11⎦⎥⎥⎤⎣⎢⎢⎡11⎦⎥⎥⎤
這兩個矩陣都有相同的特徵值0,和相同的代數重度4,而且都有兩個線性無關的特徵向量,但是其實兩者並不相似
Jordan塊
Jordan塊形如
⎣⎢⎢⎡λi1λi⋱⋱1λi⎦⎥⎥⎤
Jordan塊只有一個特徵向量
上述例子的兩個矩陣可以分塊爲
[J3∗3O1∗3O3∗1J1∗1][J2∗2O2∗2O2∗2J2∗2]
可見這兩個方陣無法得到相同的分塊,Jordan認爲這樣的矩陣不相似
Jordan定理
每個方陣A都相似與一個Jordan矩陣
Jordan矩陣形如
J=⎣⎢⎢⎡J1J2⋱Ji⎦⎥⎥⎤
J∗是Jordan塊
而且
#Jordan blocks=#eigenvectors
可對角化的矩陣的Jordan矩陣就是對角陣Λ