1,求出一個矩陣的全部互異的特征值a1,a2……
讓客戶滿意是我們工作的目標,不斷超越客戶的期望值來自于我們對這個行業的熱愛。我們立志把好的技術通過有效、簡單的方式提供給客戶,將通過不懈努力成為客戶在信息化領域值得信任、有價值的長期合作伙伴,公司提供的服務項目有:申請域名、網頁空間、營銷軟件、網站建設、林州網站維護、網站推廣。
2,對每個特征值,求特征矩陣a1I-A的秩,判斷每個特征值的幾何重數q=n-r(a1I-A),是否等于它的代數重數p,只要有一個不相等,A就不可 以相似對角化,否則, 就可以相似對角化
3,當可以相似對角化時,對每個特征值,求方程組,(aiI-A)X=0的一個基礎解系
4,令P=這些基礎解系,則P-1AP=diag(a1,a2,a3……),其中有qi個特征值
擴展資料:
判斷方陣是否可相似對角化的條件:
(1)充要條件:An可相似對角化的充要條件是:An有n個線性無關的特征向量;
(2)充要條件的另一種形式:An可相似對角化的充要條件是:An的k重特征值滿足n-r(λE-A)=k
(3)充分條件:如果An的n個特征值兩兩不同,那么An一定可以相似對角化;
(4)充分條件:如果An是實對稱矩陣,那么An一定可以相似對角化。
【注】分析方陣是否可以相似對角化,關鍵是看線性無關的特征向量的個數,而求特征向量之前,必須先求出特征值。
掌握實對稱矩陣的特征值和特征向量的性質
(1)不同特征值的特征向量一定正交
(2)k重特征值一定滿足滿足n-r(λE-A)=k
【注】由性質(2)可知,實對稱矩陣一定可以相似對角化;且有(1)可知,實對稱矩陣一定可以正交相似對角化。
會求把對稱矩陣正交相似化的正交矩陣
【注】熟練掌握施密特正交化的公式;特別注意的是:只需要對同一個特征值求出的基礎解系進行正交化,不同特征值對應的特征向量一定正交(當然除非你計算出錯了會發現不正交)。
3、實對稱矩陣的特殊考點:
實對稱矩陣一定可以相似對角化,利用這個性質可以得到很多結論,比如:
(1)實對稱矩陣的秩等于非零特征值的個數
這個結論只對實對稱矩陣成立,不要錯誤地使用。
(2)兩個實對稱矩陣,如果特征值相同,一定相似,同樣地,對于一般矩陣,這個結論也是不成立的。
實對稱矩陣在二次型中的應用
使用正交變換把二次型化為標準型使用的方法本質上就是實對稱矩陣的正交相似對角化。
#include stdio.h
int sum,i,j,n;
int a[10][10];
int main()
{
int sum=0;
void shuru();//函數在用之前要先聲明
printf("請輸入您要計算的矩陣階數:(輸入0結束程序)/n");
while (1)
{
if (n==0) break;//這里不需要then
shuru();
for (i=0;in;i++) sum=sum+a[i][i];
printf("sum=%6d\n", sum);
}
return 0;
}
void shuru()
{
for(i=0;in;i++)
for(j=0;jn;j++) //這里把逗號改成分號
scanf("%3d",a[i][j]);
/*return 0;*///這一行要去掉,本函數是沒有返回值的
}
矩陣對角化的條件和步驟是A2=A 可以x2-x=0看作A的一個零化多項式,再由無重根就可得到該矩陣可對角化。冪等矩陣的運算方法:
(1)設 A,A都是冪等矩陣,則(A+A) 為冪等矩陣的充分必要條件為:A·A =A·A=0,且有:R(A+A) =R (A) ⊕R (A);N(A+A) =N(A)∩N(A);
(2)設 A, A都是冪等矩陣,則(A-A) 為冪等矩陣的充分必要條件為:A·A=A·A=A,且有:R(A-A) =R(A)∩N (A);N (A- A) =N (A)⊕R (A);
(3)設 A,A都是冪等矩陣,若A·A=A·A,則A·A為冪等矩陣,且有:R (A·A) =R(A) ∩R (A);N (A·A) =N (A) +N (A)。冪等矩陣的其他性質:1.冪等矩陣的特征值只可能是0,1;2.冪等矩陣可對角化;3.冪等矩陣的跡等于冪等矩陣的秩,即tr(A)=rank(A);4.可逆的冪等矩陣為E;5.方陣零矩陣和單位矩陣都是冪等矩陣;6.冪等矩陣A滿足:A(E-A)=(E-A)A=0;7.冪等矩陣A:Ax=x的充要條件是x∈R(A);8.A的核N(A)等于(E-A)的列空間R(E-A),且N(E-A)=R(A)。
假設矩陣為A,則充要條件為: 1)A有n個線性無關的特征向量. 2),A的極小多項式沒有重根. 充分非必要條件: 1)。A沒有重特征值 2)A*A^H=A^H*A 必要非充分條件: f(A)可對角化,其中f是收斂半徑大于A的譜半徑的任何解析函數 。
矩陣的寬 void appr(int a,int b); main() { int i,j,a[4][4,其余的看下面代碼: bool addMat(int **mat1,好好看吧
c語言的函數可以傳遞一個數組做參數么?我不知道= =
所以我把函數調用給去掉了。關鍵樓主設計的數組是a[2][2](太少了吧),那么最后一個元素的下標是a[1][1]而不是a[2][2]
#includestdio.h
void main()
{
int a[2][2],i,j,max;
for(i=0;i=1;i++)
{
for(j=0;j=1;j++)
scanf("%d",a[i][j]);
}
max=a[0][0];
for(i=1;i=1;i++)
if(maxa[i][i])
{
max=a[i][i];
}
printf("主對角線上最大元素為%d,位置為第%d行第%d列\n",max,i,i);
}
網站標題:c語言矩陣對角化函數 求矩陣對角化
瀏覽路徑:http://m.kartarina.com/article14/hhocde.html
成都網站建設公司_創新互聯,為您提供微信公眾號、網站制作、網站建設、企業建站、小程序開發、服務器托管
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯