两个矩阵同时相似对角化的matlab程序

两个矩阵同时相似对角化的matlab程序

ID:31008678

大小:109.50 KB

页数:6页

时间:2019-01-05

两个矩阵同时相似对角化的matlab程序_第1页
两个矩阵同时相似对角化的matlab程序_第2页
两个矩阵同时相似对角化的matlab程序_第3页
两个矩阵同时相似对角化的matlab程序_第4页
两个矩阵同时相似对角化的matlab程序_第5页
资源描述:

《两个矩阵同时相似对角化的matlab程序》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、两个矩阵同时相似对角化的MATLAB程序  摘要:使用Matlab语言设计出实现两个复矩阵同时相似对角化的计算机程序。  关键词:同时相似对角化;Matlab;程序  矩阵对角化是重要的数学方法,但因其计算过程繁琐,人们往往望之生畏,尤其是多个矩阵同时对角化问题,因此本文设计出判断及计算两个复矩阵能否同时相似对角化的Matlab程序,用此能够方便地解决两个复矩阵同时相似对角化问题。  1.理论基础  定义[1]:设A、B是数域F上两个n阶矩阵,若存在f上的n阶可逆矩阵t,使得T-1AT与T-1BT同时为对角矩阵,则称A、B可同时相似对角化.  定理[1]:设A、B都是复数域C上的n阶矩

2、阵,若AB=BA且A、B都可对角化,则存在可逆的T,使得T-1AT、T-1BT同时为对角形.  证:因为A可对角化,所以存在可逆的P,使得  其中?d1,…,?d互不相同且n1+...+ns=n.又AB=BA(P-1AP)(P-1BP)=(P-1BP)(P-1AP),所以  是准对角矩阵.其中Bi是ni阶方阵(i=1,2,…,s).但因为B可对角化,所以它的初等因子都是一次的,于是Bi的初等因子都是一次的,所以存在ni阶可逆方阵Qi,使得Qi-1BiQi(i=1,2,…6,s)为对角形,于是令Q=diag[Q1,...,Qs],则必有  是对角形.于是令T=PQ,则T可逆,并且  同时

3、都是对角形.  2.算法设计  定理给出了判定两个矩阵能否同时相似对角化的条件,定理的证明给出了两个矩阵同时相似对角化的方法,据此设计算法如下:  Step1.依次判定是否AB=BA、B是否可以相似对角化、A是否可以相似对角化,若均是则转,否则输出A与B不能同时相似对角化(在MATLAB中可使用命令"[P,D]=eig(A)"求出一个矩阵P及对角矩阵D,再计算P的行列式的值即可断定A能否相似对角化)。  Step2.确定A的特征根的个数s及每个特征根的重数ni,并将D改写为D=diag[?d1ni,...,  ?dsns](?d1,...,?ds是A的互不相同的特征根,ni是?di的重

4、数),且对P的列按照D中?di的次序进行排列;  Step3.计算P-1BP=diag[B1,...,Bs],且求变换矩阵Qi,使Qi-1BiQi(i=1,...,s)为对角形;  Step4.令Q=diag[Q1,...,Qs],T=PQ,则T-1AT、T-1BT同为对角形。  算法的关键步骤是计算P-1BP=diag[B1,...,Bs],而其中的P必须由以下形式的D来确定:(D=diag[?d1ni,...,?dsns](?d1,...,?ds是A的互不相同的特征根,ni是?di的重数,n1+...+ns=n),而P的第i列?gi与D的对角线上的第i个元素?di6相对应,即?gi

5、是A属于?di的特征向量。然而MATLAB的相似对角化命令[P,D]=eig(A)所求出的P与D未必满足要求,所以必须将MATLAB所求出的P与D变形为我们所需要的P与D,为此就应该对MATLAB所求出的D的对角线上的元素重新排列、同时对P的列也做相应的排列,具体方法是:扫描的对角线上的元素,每次扫描确定一个特征根的重数,并将该次扫描所得到的相同的特征根集中排列在一起,并对P的列做同步排列,同时对扫描处理过的元素做出特定的标记,通过若干次扫描而求得A的特征根个数s与每个特征根?di的重数ni,并得到所需要的P与D。据此思想设计算法如下:  whilek

6、o:  if已被标记,那么继续;  否则将?di作为一个新的特征根,令:s=s+1(统计特征根个数),k=k+1(已处理过的特征根的个数),ni(s)=ni(s)+1(统计重数),m=i(记忆最近处理过的?di的位置),?di=b(对?di做已处理标记);  forj=i+1tonDo:  if?dj已被标记,那么继续?dj+1;  else如果?dj=?dm,那么令:ni(s)=ni(s)+1(?di增加重数),k=k+1(又处理一个);  ifj-m=1(即?dj与?dm相邻),那么D与P都不必重排;  else需要交换P的第m+1与第j列,为此构造初等方阵Pij=Pm+1,j,令

7、P=P*Pij,同时相应交换D的元素?dj与?dm+1,并标记6?dm+1已被处理,且记m+m+1。  3.程序设计  根据上述算法,设计MATLAB程序如下:  fprintf('本程序的功能是判定两个n阶方阵A、B是否能够同时相似对角化,若\n');  fprintf('能,则求出一个变换矩阵T,使得T^(-1)AT与T^(-1)BT同时为对角形。\n');  fprintf('输入矩阵时,矩阵元素请放在"[]"内,并且同行中的元素用空格\

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。