-
三對角矩陣
鎖定
目錄
三對角矩陣定義
形如
三對角矩陣三對角矩陣的建立
三對角矩陣分析矩陣特點
三對角矩陣M是一個對角矩陣,當且僅當
時,有M(i,j)=0。在一個nxn的三對角矩陣T中,非0元素排列在如下的三條對角線上:
(1)主對角線即i=j;
(2)主對角線之下的對角線(稱低對角線)即i=j+1;
(3)主對角線之上的對角線(稱高對角線)即i=j-1。
三對角矩陣矩陣實例
考察如下所示的4×4三對角矩陣:
三對角矩陣建立該三對角矩陣的程序
利用Store函數把傳入的x值存儲在相應的三對角矩陣中,並通過switch語句判斷其所在位置。具體程序如下:
#include "stdio.h" #define n 10 int t[3*n]; void Store(intx,int i,int j) {//把x存為T(i,j) if(i<1 || j<1 ||i>n ||j>n) {printf("數組出界!"); exit(1); } switch(i-j){ case 1:t[i-2]=x;break;//低對角線 case 0:t[n+i-2]=x;break;//主對角線 case -1:t[2*n+i-2]=x;break;//高對角線 default: if(x!=0) { printf("非對角線上元素值必須為零"); exit(1); } } } void main() { int i,j; int D[n][n]; for(i=0;i<n;i++) for(j=0;j<n;j++) Store(D[i][j],i,j); }
三對角矩陣確定三對角矩陣的特徵值
三對角矩陣QR法
一般來説,對於
化成
,其中
是正交矩陣,
是上三角矩陣,則
被定義為
和
以相反次序乘積式,即
。因為
是正交矩陣,
。
是對稱的,與
有相同的特徵值。我們定義
和
成這樣的形式:
是三對角矩陣,最終
趨於變為對角陣,其對角線上的元素給出原矩陣的特徵值。
三對角矩陣特徵多項式法
特徵多項式法可以像特徵多項式
的根一樣確定特徵值。有一種有效的方法來構造三對角矩陣的特徵多項式。使用符號法可以求特徵值的歸類,從而形成一個Sturmian序列。然後用對分法或試位法來求精確的特徵值。由Householder變換得到的對稱三對角矩陣的特徵多項式為:
其中,i=1,2,...,n,有:
從
向前的Sturm序列可以表示為:
因此,有
三對角矩陣實例
求下述三對角矩陣的特徵多項式:
解:把該矩陣與特徵多項式的一般形式作比較,則有
比較這兩個矩陣,得到