python矩阵施密特标准型_矩阵与数值计算(3)——Schur标准型和Jordan分解
前言
之前介紹過幾種矩陣分解方法,都可以有效的提升矩陣方程的數值求解問題,其中LU分解尤其適合于中小型、稠密矩陣的求解問題。我們最理想的矩陣就是可相似對角化的矩陣,直接可以分解成兩個酉矩陣和一個對角矩陣的形式,那么如果一個矩陣不符合可相似對角化的條件應該怎么解決呢?這里提出Jordan分解,提供了對不可相似對角化矩陣分解的解決方案。
一、Schur標準型定義
給定一個矩陣A,可以通過相似正交變換成一個上三角矩陣(任意n階方陣),其實可以將LU分解中的L進行施密特正交化。
,其中R是上三角矩陣,U是酉矩陣。
上面將X分解為UR,其中U是酉矩陣,R是上三角矩陣。那么我們可以得出Schur分解的定義。Schur分解
任意n階方陣,酉相似于一個以其特征值為對角元的上三角矩陣R。
2. 特殊矩陣的特征系統
由Schur定理可以自然想到,什么樣的矩陣會酉相似于對角矩陣呢?答案是正規矩陣。
正規矩陣
設
,若
,則稱
為正規矩陣。
H這里表示共軛,類比于實數矩陣的轉置的概念,因為矩陣中會包含虛數,所以使用H表示共軛。
Hermite矩陣:
斜Hermite矩陣:
酉陣:
對于上面這四種特殊的矩陣,對應的R各有不同,這里直接可以記憶結論:A為正規矩陣,R是對角矩陣。
A為Hermite矩陣時,R是實對角矩陣。
A為斜Hermite矩陣時,R是純虛對角陣。
A為酉矩陣,R對角元的模為1
二、代數重數與幾何重數
先來了解特征值的代數重數和幾何重數的概念。對任意一個矩陣,我們都可以寫出其特征值的表達形式,
,則其中
就被稱為特征值
的代數重數,與之對應的線性無關特征向量的個數,即子空間
的維數,稱為
的幾何重數。
代數重數與幾何重數的關系
對任何一個n階方陣A的特征值
對應的幾何重數
和代數重數
,總有
。
半單與虧損
設A為n階方陣,
為其特征值,
分別為其代數重數和幾何重數,如果總有
,那么我們稱這個特征值是半單的,否則如果幾何重數小于代數重數,則稱這個特征值是虧損的。
我們還可以引申出幾條基本概念:代數重數為1的特征值一定是半單的。
不同特征值對應的特征向量是線性無關的。
每個特征值都是半單的矩陣等價于相似對角化。
存在虧損的特征值的矩陣稱為虧損矩陣等價于不可相似對角化。只要有一個特征值說虧損的就代表該方陣不可相似對角化。
由上面的定理和推論,我們知道一般的矩陣可以分為,可以相似對角化和不可相似對角化矩陣,那么對于不可相似對角化的矩陣我們就提出了Jordan分解,接下來了解一下具體什么是Jordan分解。
三、Jordan分解定義及Jordan標準塊、Jordan標準型Jordan塊
我們稱如下形式的矩陣為Jordan塊,Jordan塊
2. Jordan標準型
簡單來說,由若干個Jordan塊構成的矩陣就是Jordan標準型。嚴謹的定義如下所示,Jordan標準型
特別注意的一點是,如果不計Jordan塊的順序,則Jordan標準型唯一。
那么如何才能求解得到Jordan標準型呢?
四、Jordan分解求解方法
Jordan標準型的基本特點:
① Jordan標準型是一個塊對角矩陣,對角元是矩陣A的特征值
②對于特征值
,他的代數重數是Jordan標準型中以
為特征值的Jordan塊的階數之和。
③對于特征值
,它的幾何重數,即與
對應的線性無關的特征向量的個數,恰為以
為特征值的Jordan塊的個數。
通過下面這張圖片,更加清晰了解這個Jordan標準型的樣貌。Jordan標準型
直觀來講,如果有一個三階矩陣,其三個特征值都相同,代數重數為3,幾何重數為2,那么Jordan標準型如何呢?Jordan標準型
那么其實對于該三階矩陣來說其實Jordan標準型是唯一的(不考率Jordan塊的順序)。
但是,很容易我們想到4階矩陣,就存在問題,如果代數重數是4,幾何重數為2,那么存在兩種可能的Jordan標準型。兩種可能的Jordan標準型
那么我們還記得上面的概念提到過,如果不考慮Jordan塊的順序,則Jordan標準型唯一,那么我們如何確定到底哪個是正確的呢?
這里引入一個判定公式:階數判定公式
為了計算上的簡便,我們從一階Jordan塊開始計算,計算其階數,如果其階數為0,則我們就知道Jordan塊是兩個2階的Jordan塊。
通過上面的過程我們可以確定J的形式,那么如何確定T的形式呢?
求解變換矩陣T:
根絕
,繼而我們有
,假設
,推導過程如下,
詳細求解過程,可以參考下面的例題,例題
Jordan分解的計算還是一如既往需要不斷通過題目進行錘煉。
歸納一下計算步驟:
1.計算Jordan標準型計算矩陣的全部特征值
計算特征值的代數重數
計算特征值的幾何重數
利用定理確定每個Jordan塊的階數(從1階開始計算)
2.計算變換矩陣T求得Jordan標準型
計算每個Jordan塊對應的Jordan鏈若Jordan塊階數為1,直接計算特征向量
若階數大于1,則先計算特征向量,利用特征向量的線性組合得到鏈首,保證線性方程組有解,即
。
五、Hamilton-Cayley定理及其應用
利用Jordan變換,可以得到很重要的定理,Hamilton-Caylay定理,Hamilton-Caylay定理
其應用非常廣泛,可以通過這個定理簡化矩陣計算。例題例題
上面的
中
的計算有兩種方式,一種是多項式帶余除數法,另一種是待定系數法。其中待定系數法,可以參看第三小問的求解方式,不論是這里還是之后的求解,都非常推薦使用待定系數法,降低計算量,提升計算的準確度。
總結
Jordan分解是非常重要的一種矩陣分解,應用非常廣泛,無論是為了應試還是實際科研編程都是矩陣計算的利器,之后介紹的矩陣函數計算會再次使用到Jordan分解。
下一節,介紹同樣非常重要的奇異值分解。
總結
以上是生活随笔為你收集整理的python矩阵施密特标准型_矩阵与数值计算(3)——Schur标准型和Jordan分解的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: CIRP 报告:仅有 4% 的 iPho
- 下一篇: python亲和度_数据挖掘——亲和性分