三对角矩阵的特征值及其应用

三对角矩阵的特征值及其应用
三对角矩阵的特征值及其应用

数学_简单三对角矩阵矩阵行列式的基本探究

简单三对角矩阵矩阵行列式的基本探究 张云鹏 (2014070904021) 指导教师:李厚彪 【摘要】三对角矩阵的行列式的计算在行列式的计算中占据特殊地位,由于三对角矩阵具有明显的规律性但其行列式运算又有一定的难度经常成为出题的热点,本篇小论文给简单三角矩阵行列式运算做出基本解法,并通过三对角矩阵得到一组Cos (nx )与Sin(nx)的简明展开公式。 【关键词】三对角矩阵; 矩阵; 数列递推; 三角函数; 斐波那契数列 1. 引言 在进行行列式计算之前我们先探究一下斐波那契数列通项公式的计算方法。 例1、现已知斐波那契数列满足如下关系:()01111,1,,1n n n F F F F F n +-===+≥,试求其通项公式。 解: 易知对于1、2项为任意值但满足() 11,1n n n F F F n +-=+≥的数列的加法与数乘满足线性 空间八条条件。 则存在满足() 11,1n n n F F F n +-=+≥的两个数列 {}n a 、{}n b 。 他们的任意;(k 0)n n a kb =≠不恒成立。 则任意{}n c 中的任意一项12n n n c k a k b =+使恒成立。 鉴于 () 11,1n n n F F F n +-=+≥的递推形式,我们不妨设数列 {}n a 、{}n b 为两组几何级数,其 公比分别为1q 、2q ;且()1n n a q =、()2n n b q = 根据 () 11,1n n n F F F n +-=+≥可列方程n n-1n-2q =q +q ,化简可知2 q -q-1=0。 又因为011,1F F ==,可求得1255k ,k 55 = =-。 经计算可知15 q=2±,则n n n n 1+51-5a =b =22???? ? ? ? ?????,。 又因为011,1F F ==,可求得1255k ,k 55 = =-。 则斐波那契数列的表示为11515225n n n F ??????+-??=- ? ? ? ????????? 我们简化上述求法为特征方程法。并可以广泛运用在三对角矩阵矩阵行列式的计算中。 2. 简单三对角矩阵行列式的特征方程

判断矩阵的最大特征值

项目六 矩阵的特征值与特征向量 实验1 求矩阵的特征值与特征向量 实验目的 学习利用Mathematica(4.0以上版本)命令求方阵的特征值和特征向量;能利用软件计算方 阵的特征值和特征向量及求二次型的标准形. 求方阵的特征值与特征向量. 例1.1 (教材 例1.1) 求矩阵.031121201??? ?? ??--=A 的特征值与特值向量. (1) 求矩阵A 的特征值. 输入 A={{-1,0,2},{1,2,-1},{1,3,0}} MatrixForm[A] Eigenvalues[A] 则输出A 的特征值 {-1,1,1} (2) 求矩阵A 的特征向量. 输入 A={{-1,0,2},{1,2,-1},{1,3,0}} MatrixForm[A] Eigenvectors[A] 则输出 {{-3,1,0},{1,0,1},{0,0,0}} 即A 的特征向量为.101,013??? ? ? ??????? ??- (3) 利用命令Eigensystem 同时矩阵A 的所有特征值与特征向量. 输入 A={{-1,0,2},{1,2,-1},{1,3,0}} MatrixForm[A] Eigensystem[A] 则输出矩阵A 的特征值及其对应的特征向量.

例1.2 求矩阵??? ?? ??=654543432A 的特征值与特征向量. 输入 A=T able[i+j,{i,3},{j,3}] MatrixForm[A] (1) 计算矩阵A 的全部(准确解)特征值, 输入 Eigenvalues[A] 则输出 {0, 426-,426+} (2) 计算矩阵A 的全部(数值解)特征值, 输入 Eigenvalues[N[A]] 则输出 {12.4807, -0.480741, -1.34831610-?} (3) 计算矩阵A 的全部(准确解)特征向量, 输入 Eigenvectors[A]//MatrixForm 则输出 1 2 1172422344220342234421172 42234 42 20342234 42 1 (4) 计算矩阵A 的全部(数值解)特征向量, 输入 Eigenvectors[N[A]]//MatrixForm 则输出 0.4303620.5665420.7027220.805060.111190.5826790.4082480.816497 0.408248 (5) 同时计算矩阵A 的全部(准确解)特征值和特征向量, 输入 OutputForm[Eigensystem[A]] 则输出所求结果 (6) 计算同时矩阵A 的零空间, 输入

微分方程差分三对角矩阵解法C语言程序

#include #include #define N 1000 //三对角方程组Thomas算法,计算两点边值问题 //-u"(x)+u(x)=exp(x)(sin(x)-cos(x),0<=x<=pi //u(00=0, u(pi)=0. void ThomasMethodsf(double a[],double b[],double c[],double d[],int n); //Thomas算法函数 void Errorf(double x[],double d[],double e[],double *maxe_h,int n); //计算结点处数值解的误差的绝对值和数值解的最大误差函数 void prtf(double a[],double b[],double c[],double d[],int n); //打印三对角方程组系数矩阵函数 double fi(double xi);//微分方程右端项 //double qi(double xi);//微分方程u(x)系数 double ui(double xi);//微分方程精确解u(x) void res(double d[],double e[],double maxe_h,int n);//输出结果到Result.txt文档 void main() { double a[N];//系数矩阵左下非零元素集合,顺序从左到右,从上到下 double b[N];//系数矩阵对角线元素集合,顺序同上 double c[N];//系数矩阵右上非零元素集合,顺序同上 double d[N];//方程组常数项集合 double x[N];//网格节点集合 double e[N];//误差 double maxe_h=0;//最大误差 double *p_1,*p_2,*p_3;//*p_1指向数组d[N],*p_2指向数组e[N],*p_3指向maxe_h double h;//网格步长 int m;//求解区间等分度 int n;//系数矩阵阶数 int i; printf("请输入求解区间等分度:\nm="); scanf("%d",&m); h=3.1415926/m; n=m-1; for(i=1;i

矩阵特征值求解

矩阵特征值求解的分值算法 12组 1. 1矩阵计算的基本问题 (1) 求解线性方程组的问题.即给定一个n 阶非奇异矩阵A 和n 维向量b ,求 一个n 维向量X,使得 Ax =b (1.1.1 ) (2) 线性最小二乘问题,即给定一个mx n 阶矩阵A 和m 维向量b ,求一个n 维向量 使得 |A X -b | =min{ |Ay -比严 R n } (3) 矩阵的特征问题,即给定一个n 阶实(复)矩阵A ,求它的部分或全部特 征值 以及对应的特征向量,也就是求解方程 Ax = Z x A 的属于特征值A 的特征向量。 在工程上,矩阵的特征值具有广泛的应用,如大型桥梁或建筑物的振动问题: 机械和机件的振动问题;飞机机翼的颤振问题 ;无线电电子学及光学系统的电磁 振动问题;调节系统的自振问题以及声学和超声学系统的振动问题 .又如天文、地 震、信息系统、经济学中的一些问题都与矩阵的特征值问题密切相关。 在科学上,计算流体力学、统计计算、量子力学、化学工程和网络排队的马 尔可夫链模拟等实际问题,最后也都要归结为矩阵的特征值问题.由于特征值问 题在许多科学和工程领域中具有广泛的应用,因此对矩阵的特征值问题的求解理 论研究算法的开发软件的制作等是当今计算数学和科学与工程计算研究领域的 重大课题,国际上这方面的研究工作十分活跃。 1.2矩阵的特征值问题研究现状及算法概述 对一个nxn 阶实(复)矩阵A,它的特征值问题,即求方程(I.1.3)式的非平凡 解,是数值线性代数的一个中心问题.这一问题的内在非线性给计算特征值带来 许多计算问题.为了求(1.1.3)式中的A , —个简单的想法就是显式地求解特征方 程 det(A —几I) = 0 除非对于个别的特殊矩阵,由于特征方程的系数不能够用稳定的数值方法由 行列式的计算来求得,既使能精确计算出特征方程的系数,在有限精度下,其特征 多项式f ") =det(A-ZJ)的根可能对多项式的系数非常敏感 能在理论上是有意义的,实际计算中对一般矩阵是不可行的 数 较大,则行列式det(A -几I)的计算量将非常大;其次,根据 数大于四的多项式求根不存在一种通用的方法 ,基于上述原因,人们只能寻求其 它途径.因此,如何有效地!精确地求解矩阵特征值问题,就成为数值线性代数领 域的一个中心问题. 目前,求解矩阵特征值问题的方法有两大类:一类称为变换方法,另一类称为 向 X, (1.1.2 ) (1.1.3 ) 一对解(4 X),其中R(C),x- R n (C n ),即A 为矩阵A 的特征值,X 为矩阵 (121 ) .因此,这个方法只 .首先,若矩阵A 的阶 Galois 理论,对于次

矩阵求逆方法大全-1

求逆矩阵的若干方法和举例 苏红杏 广西民院计信学院00数本(二)班 [摘 要] 本文详细给出了求逆矩阵的若干方法并给出相应的例子,以供学习有关矩阵方面 的读者参考。 [关键词] 逆矩阵 初等矩阵 伴随矩阵 对角矩阵 矩阵分块 多项式等 引 言 在我们学习《高等代数》时,求一个矩阵的逆矩阵是一个令人十分头痛的问题。但是,在研究矩阵及在以后学习有关数学知识时,求逆矩阵又是一个必不可缺少的知识点。为此,我介绍下面几种求逆矩阵的方法,供大家参考。 定义: n 阶矩阵A 为可逆,如果存在n 阶矩阵B ,使得E BA AB ==,这里E 是n 阶单位矩阵,此时,B 就称为A 的逆矩阵,记为1-A ,即:1-=A B 方法 一. 初等变换法(加边法) 我们知道,n 阶矩阵A 为可逆的充分必要条件是它能表示成一系列初等矩阵的乘积A=m Q Q Q 21, 从而推出可逆矩阵可以经过一系列初等行变换化成单位矩阵。即,必有一系列初等矩阵 m Q Q Q 21使 E A Q Q Q m m =-11 (1) 则1-A =E A Q Q Q m m =-11 (2) 把A ,E 这两个n 阶矩阵凑在一起,做成一个n*2n 阶矩阵(A ,E ),按矩阵的分块乘法,(1)(2)可以合并写成 11Q Q Q m m -(A ,E )=(11Q Q Q m m -,A ,E Q Q Q m m 11 -)=(E ,1-A ) (3) 这样就可以求出矩阵A 的逆矩阵1-A 。 例 1 . 设A= ???? ? ??-012411210 求1-A 。 解:由(3)式初等行变换逐步得到: ????? ??-100012010411001210→ ????? ??-100012001210010411 →???? ? ??----123200124010112001→

追赶法求解三对角线性方程组

追赶法求解三对角线性方程组 一 实验目的 利用编程方法实现追赶法求解三对角线性方程组。 二 实验内容 1、 学习和理解追赶法求解三对角线性方程组的原理及方法; 2、 利用MATLAB 编程实现追赶法; 3、 举例进行求解,并对结果进行分。 三 实验原理 设n 元线性方程组Ax=d 的系数矩阵A 为非奇异的三对角矩阵 11222=(1)(n 1)()()a c b a c A a n c b n a n ??????????--?????? ………… 这种方程组称为三对角线性方程组。显然,A 是上下半宽带都是1的带状矩阵。设A 的前n-1个顺序主子式都不为零,根据定理2.5的推论,A 有唯一的Crout 分解,并且是保留带宽的。 其中L 是下三角矩阵,U 是单位上三角矩阵。利用矩阵相乘法,可以1112212(1)1u(n 1)()()1l u m l u A LU l n m n l n ????????????????==?????--????????????……………

得到: 由上列各式可以得到L 和U 。 引入中间量y ,令 y Ux =,则有: 已知 L 和d ,可求得y 。 则可得到y 的求解表达式: 11/1 2,3,,()(1)*y()=()[()(1)]/y d l i n m i y i li i di y i di m i y i li ==-+=--… 1111111/1(2)(1)(1)u (1)(11)/(1)(1)(1)l a l u c u c l mi bi i n a i m i i l i i n ci li ui ui ci li l i a i b i ui =*===≤≤+=+++≤≤-=?=+=+-+Ax LUx Ly d Ly d ====1112222(1)(n 1)(n 1)()()(n)(n)l y d m l y d l n y d m n l n y d ?????????????????????????=??????---?????????????????? ……………

矩阵逆的模(dropping strategy)

2011-10-17 下面的文本主要用于算法设计和算法实现的需要。 主要内容参考了Golub的书籍。 适合任何三角矩阵(无论对角元是否为1,属于通用算法) U (1) 1 估计1- 1.1 方法1: (1) 1.2 方法2: (2) 2 估计1-L (2) 2.1 方法1:estfullnrm_forward(T,D) (2) 2.2 方法2: (3) 1估计1-U 见Golub的书: 1.1 方法1:

1.2 方法2: 2 估计1 -L 参考Golub 的书,在估计1-U 的模算法基础上得到的对于下三角矩阵的算法: 2.1 方法1: 0):1(=n p for n k :1= Choose )(k d ),(/))()(()(k k T k p k d k y -= ),:1()():1():1(k n k T k y n k p n k p +++=+

end 2.2 方法2: 0):1(=n p for n k :1= ),(/))(1()(k k T k p k y -=+ ),(/))(1()(k k T k p k y --=- ),:1()():1()(k n k T k y n k p k p +++=++ ),:1()():1()(k n k T k y n k p k p +++=-- if 11||)(|||)(|||)(|||)(|--+++≥+k p k y k p k y +=)()(k y k y +=+)():1(k p n k p else -=)()(k y k y -=+)():1(k p n k p end end

追赶法解三对角方程组

《数值分析》课程设计追赶法解三对角方程组 院(系)名称信息工程学院 专业班级10普本信计 学号100111014 学生姓名刘银朋 指导教师张荣艳 2013 年05 月31日

数值分析课程设计评阅书 题目追赶法解三对角方程组 学生姓名刘银朋学号100111014 指导教师评语及成绩 指导教师签名: 年月日答辩评语及成绩 答辩教师签名: 年月日 教研室意见 总成绩: 教研室主任签名: 年月日

课程设计任务书 2012—2013学年第二学期 专业班级:10普本信息与计算科学学号:100111014 姓名:刘银朋 课程设计名称:数值分析Ⅰ、Ⅱ 设计题目:追赶法解三对角方程组 完成期限:自2013 年05月21 日至2013年05 月31日共10天 设计依据、要求及主要内容: 一、设计目的 理解追赶法,掌握追赶法的算法设计以及关于追赶法的分析和综合应用,能 够较熟练的应用Matlab软件编写求解追赶法的程序和应用Matlab软件数据库软 件. 二、设计内容 (1)认真挑选有代表性的三对角方程组. (2)认真梳理解三对角方程组的解题思路. (3)比较追赶法和高斯消去法的计算精度. 三、设计要求 1.先用Matlab数据库中的相应的函数对选定的方程,求出具有一定精度的解. 2.然后使用所用的方法编写Matlab程序求解. 3.对于使用多个方程解同意问题的,在界面上要设计成菜单的形式. 计划答辩时间:2013年06 月 5 日 工作任务鱼工作量要求: 查阅文献资料不少于3篇,课程设计报告1篇不少于3000字. 指导教师(签字):教研室主任(签字): 批准日期:2013 年05 月20 日

约化对称矩阵为三对角对称矩阵

//约化对称矩阵为三对角对称矩阵 //利用Householder变换将n阶实对称矩阵约化为对称三对角矩阵 //a-长度为n*n的数组,存放n阶实对称矩阵 //n-矩阵的阶数 //q-长度为n*n的数组,返回时存放Householder变换矩阵 //b-长度为n的数组,返回时存放三对角阵的主对角线元素 //c-长度为n的数组,返回时前n-1个元素存放次对角线元素 void eastrq(double a[],int n,double q[],double b[],double c[]); ////////////////////////////////////////////////////////////// //求实对称三对角对称矩阵的全部特征值及特征向量 //利用变型QR方法计算实对称三对角矩阵全部特征值及特征向量 //n-矩阵的阶数 //b-长度为n的数组,返回时存放三对角阵的主对角线元素 //c-长度为n的数组,返回时前n-1个元素存放次对角线元素 //q-长度为n*n的数组,若存放单位矩阵,则返回实对称三对角矩阵的特征向量组 // 若存放Householder变换矩阵,则返回实对称矩阵A的特征向量组 //a-长度为n*n的数组,存放n阶实对称矩阵 int ebstq(int n,double b[],double c[],double q[],double eps,int l); ////////////////////////////////////////////////////////////// //约化实矩阵为赫申伯格(Hessen berg)矩阵 //利用初等相似变换将n阶实矩阵约化为上H矩阵 //a-长度为n*n的数组,存放n阶实矩阵,返回时存放上H矩阵 //n-矩阵的阶数 void echbg(double a[],int n); ////////////////////////////////////////////////////////////// //求赫申伯格(Hessen berg)矩阵的全部特征值 //返回值小于0表示超过迭代jt次仍未达到精度要求 //返回值大于0表示正常返回 //利用带原点位移的双重步QR方法求上H矩阵的全部特征值 //a-长度为n*n的数组,存放上H矩阵 //n-矩阵的阶数 //u-长度为n的数组,返回n个特征值的实部 //v-长度为n的数组,返回n个特征值的虚部 //eps-控制精度要求 //jt-整型变量,控制最大迭代次数 int edqr(double a[],int n,double u[],double v[],double eps,int jt); ////////////////////////////////////////////////////////////// //求实对称矩阵的特征值及特征向量的雅格比法 //利用雅格比(Jacobi)方法求实对称矩阵的全部特征值及特征向量 //返回值小于0表示超过迭代jt次仍未达到精度要求 //返回值大于0表示正常返回 //a-长度为n*n的数组,存放实对称矩阵,返回时对角线存放n个特征值 //n-矩阵的阶数

逆矩阵的几种求法与解析

逆矩阵的几种求法与解 析 -CAL-FENGHAI.-(YICAI)-Company One1

逆矩阵的几种求法与解析 矩阵是线性代数的主要内容,很多实际问题用矩阵的思想去解既简单又快捷.逆矩阵又是矩阵理论的很重要的内容, 逆矩阵的求法自然也就成为线性代数研究的主要内容之一.本文将给出几种求逆矩阵的方法. 1.利用定义求逆矩阵 定义: 设A 、B 都是n 阶方阵, 如果存在n 阶方阵B 使得AB= BA = E, 则称A 为可逆矩阵, 而称B 为A 的逆矩阵.下面举例说明这种方法的应用. 例1 求证: 如果方阵A 满足A K = 0, 那么E-A 是可逆矩阵, 且 (E-A )1-= E + A + A 2+…+A 1-K 证明 因为E 与A 可以交换, 所以 (E- A )(E+A + A 2+…+ A 1-K )= E-A K , 因A K = 0 ,于是得 (E-A)(E+A+A 2+…+A 1-K )=E , 同理可得(E + A + A 2+…+A 1-K )(E-A)=E , 因此E-A 是可逆矩阵,且 (E-A)1-= E + A + A 2+…+A 1-K . 同理可以证明(E+ A)也可逆,且 (E+ A)1-= E -A + A 2+…+(-1)1-K A 1-K . 由此可知, 只要满足A K =0,就可以利用此题求出一类矩阵E ±A 的逆矩阵. 例2 设 A =? ? ?? ? ???? ???0000 30000020 0010,求 E-A 的逆矩阵. 分析 由于A 中有许多元素为零, 考虑A K 是否为零矩阵, 若为零矩阵, 则可以采用例2 的方法求E-A 的逆矩阵. 解 容易验证

第五章 矩阵的特征值与特征向量

第五章 矩阵的特征值与特征向量 5.1矩阵的特征值与特征向量 5.1.1矩阵的特征值与特征向量的概念 设A 是n 阶矩阵,若存在数λ及非零的n 维列向量α,使得:λαα=A (0≠α)成立,则称λ是矩阵A 的特征值,称非零向量α是矩阵A 属于特征值λ的特征向量. 5.1.2矩阵的特征值与特征向量的求法 把定义公式λαα=A 改写为()0=-αλA E ,即α是齐次方程组()0=-x A E λ的非零解.根据齐次方程组有非零解的充分条件可得:0=-A E λ. 所以可以通过0=-A E λ求出所有特征值,然后对每一个特征值i λ,分别求出齐 次方程组()0=-x A E i λ的一个基础解系,进而再求得通解. 【例5.1】求??? ? ? ?????------=324262423A 的特征值和特征向量. 解:根据()()0273 2 4 26 24 23 2 =+-=---= -λλλλλλA E ,可得71=λ,22-=λ. 当7=λ时,??? ? ? ?????? ??? ???????=-0000002124242124247A E , 所以()07=-x A E 的一个基础解系为:()T 0,2,11-=α,()T 1,0,12-=α,则相应的特征向量为2211ααk k +,其中21,k k 是任意常数且()()0,0,21≠k k . 当2-=λ时,???? ? ?????--? ??? ? ??????---=--00012014152428242 52A E ,所以()02=--x A E 的一个基础解系为()T 2,1,23=α,则相应的特征向量为33αk ,其中3k 是任意常数且

求实对称三对角矩阵的特征值和特征向量

求实对称三对角矩阵的特征值和特征向量(一) 摘要 在特征值计算问题上,QR方法具有里程碑意义。QR 方法是一种变换方法,是计算一般矩阵(中小型矩阵)全部特征值问题的最有效方法之一。QR方法具有收敛快,算法稳定等特点.由于特征值和特征向量能从本质上揭露矩阵的某些重要性质,因而得到它们的精确解十分重要,但其计算一直是很繁琐的数学问题。特别是当矩阵的阶数较高时,计算量非常大,且不易求其精确解。 关键词:特征值;特征向量;QR分解

Solve Real Symmetry Three Diagonal Matrix Eigenvalue And Eigenvector ABSTRACT Values in the feature, the QR method has milepost sense. QR method is a transformation method, is the calculation of the general matrix ( small and medium-sized matrix ) one of the most effective methods of eigenvalue problems. The QR method has fast convergence, algorithm stability. Because the eigenvalues and eigenvectors can reveal some important properties of matrix from the nature, and thus obtain their exact solutions is very important, but the calculation is very complicated mathematical problems. Especially when the high rank of matrix, the calculation is very large, and is not easy to find the exact solution. Key words:eigenvalue; eigenvector; QR decomposition

编程求解逆矩阵

本程序是运用矩阵的初等变换的知识来求解矩阵的逆矩阵的。 1.理论基础: 若存在矩阵P使得矩阵A有 PA = E 那么 P = A’。 所以如果我们将(A,E)化成了(E,P),那么,P就是我们要求的A’。 2.由上面的分析可知,我们思路可分为以下3步: (1)申请一个新的矩阵,它是(A,E) (2) 将A先对角化 (3)再将A单位化E,这是A后面的部分就是A’了。 3.编程实现 #include #include float A1[10],A2[10][2*10],B[10][10];//原矩阵、加上单位矩阵后的矩阵、所求的逆矩阵 void ShangSanJiao(int n)//化成上三角 { int k,i,j,l=0,temp; if(A2[0][0] == 0) { while(A2[l][0]==0&&l

void DuiJiaoXian(int n)//将对角线上的数化1,这样方便将原矩阵化成单位矩阵 { int i,j; for(i=n-1;i>=0;i--) { A1[i]=A2[i][i]; } for(i=n-1;i>=0;i--) { for(j=0;j<2*n;j++) A2[i][j] = A2[i][j]/A1[i]; } } void DanWei(int n)//将原矩阵化成单位矩阵 { int i,j,l; float temp; for(i=n-1;i>0;i--) { for(j=i-1;j>=0;j--) { temp = A2[j][i]; for(l=0;l<2*n;l++) A2[j][l] = A2[j][l] - A2[i][l]*temp; } } } int main() { int n;//矩阵的阶数 scanf("%d",&n); if(n>10) { printf("矩阵不再表示的范围内!"); exit(-1); } int i,j; for(i=0;i

矩阵的特征值和特征向量

第五章矩阵的特征值和特征向量 来源:线性代数精品课程组作者:线性代数精品课程组 1.教学目的和要求: (1) 理解矩阵的特征值和特征向量的概念及性质,会求矩阵的特征值和特征向量. (2) 了解相似矩阵的概念、性质及矩阵可相似对角化的充分必要条件,会将矩阵化为相似对 角矩阵. (3) 了解实对称矩阵的特征值和特征向量的性质. 2.教学重点: (1) 会求矩阵的特征值与特征向量. (2) 会将矩阵化为相似对角矩阵. 3.教学难点:将矩阵化为相似对角矩阵. 4.教学内容: 本章将介绍矩阵的特征值、特征向量及相似矩阵等概念,在此基础上讨论矩阵的对角化问题. §1矩阵的特征值和特征向量 定义1设是一个阶方阵,是一个数,如果方程 (1) 存在非零解向量,则称为的一个特征值,相应的非零解向量称为属于特征值的特 征向量. (1)式也可写成, (2) 这是个未知数个方程的齐次线性方程组,它有非零解的充分必要条件是系数行列式 , (3) 即 上式是以为未知数的一元次方程,称为方阵的特征方程.其左端是的 次多项式,记作,称为方阵的特征多项式.

== = 显然,的特征值就是特征方程的解.特征方程在复数范围内恒有解,其个数为方程的次数(重根按重数计算),因此,阶矩阵有个特征值. 设阶矩阵的特征值为由多项式的根与系数之间的关系,不难证明 (ⅰ) (ⅱ) 若为的一个特征值,则一定是方程的根, 因此又称特征根,若为 方程的重根,则称为的重特征根.方程的每一个非 零解向量都是相应于的特征向量,于是我们可以得到求矩阵的全部特征值和特征向量的方法如下: 第一步:计算的特征多项式; 第二步:求出特征方程的全部根,即为的全部特征值; 第三步:对于的每一个特征值,求出齐次线性方程组: 的一个基础解系,则的属于特征值的全部特征向量是 (其中是不全为零的任意实数). 例1 求的特征值和特征向量. 解的特征多项式为 =

基于分治法求解对称三对角矩阵特征问题的混合并行实现

基于分治法求解对称三对角矩阵特征问题的 混合并行实现① 朱京乔1,2, 赵永华1 1 (中国科学院 计算机网络信息中心, 北京 100190) 2(中国科学院大学, 北京 100049) 通讯作者: 赵永华, E-mail: yhzhao@https://www.360docs.net/doc/b210574204.html, 摘 要: 基于对称三对角矩阵特征求解的分而治之方法, 提出了一种改进的使用MPI/Cilk 模型求解的混合并行实现, 结合节点间数据并行和节点内多任务并行, 实现了对分治算法中分治阶段和合并阶段的多任务划分和动态调度. 节点内利用Cilk 任务并行模型解决了线程级并行的数据依赖和饥饿等待等问题, 提高了并行性; 节点间通过改进合并过程中的通信流程, 使组内进程间只进行互补的数据交换, 降低了通信开销. 数值实验体现了该混合并行算法在计算效率和扩展性方面的优势. 关键词: 并行计算; 对称特征问题; 分治算法; Cilk 引用格式: 朱京乔,赵永华.基于分治法求解对称三对角矩阵特征问题的混合并行实现.计算机系统应用,2019,28(9):246–250. https://www.360docs.net/doc/b210574204.html,/1003-3254/7078.html Hybrid Parallel Algorithm Using MPI/Cilk for Symmetric Tridiagonal Eigenproblems ZHU Jing-Qiao 1,2, ZHAO Yong-Hua 1 1 (Computer Network Information Center, Chinese Academy of Sciences, Beijing 100190, China)2(University of Chinese Academy of Sciences, Beijing 100049, China) Abstract : Divide and conquer algorithm is widely used for tridiagonal matrix eigenproblems while computing efficiency and storage limitation are always bottlenecks for large scale problems. In this study, the proposed eigenproblem algorithm based on hybrid parallel paradigm with MPI/Cilk optimizes the divide and conquer algorithm both at data and task levels.The introduced task-based parallelization mechanism inside computing nodes solves the problem in data dependence and thread starvation by directed acyclic graph model. By coarse-grained partition of tasks the overhead of data communication among MPI nodes is also optimized, which helps to improve load balance. The numerical test is carried out and the result is compared with the pure MPI and MPI/openMP parallel algorithm, which shows the performance and efficiency of the algorithm. Key words : parallel computing; symmetric eigenproblem; DC method; Cilk 对称矩阵的特征求解问题在科学计算领域普遍存 在, 包括计算物理、计算化学、结构力学、纳米材料 等前沿学科. 通常的处理方法是先通过正交变换把原矩阵化为三对角矩阵, 如使用Householder 或Givens 方法, 再求解三对角阵的特征值和特征向量, 然后映射回原矩阵的特征值和特征向量. 三对角阵的特征求解计算机系统应用 ISSN 1003-3254, CODEN CSAOBN E-mail: csa@https://www.360docs.net/doc/b210574204.html, Computer Systems & Applications,2019,28(9):246?250 [doi: 10.15888/https://www.360docs.net/doc/b210574204.html,ki.csa.007078] https://www.360docs.net/doc/b210574204.html, ?中国科学院软件研究所版权所有.Tel: +86-10-62661041① 基金项目: 国家重点研发计划(2017YFB0202202, 2016YFB0201302); 中国科学院“十三五”信息化建设专项(XXH13506-405) Foundation item: National Key Research and Development Program of China (2017YFB0202202, 2016YFB0201302); CAS Special Fund for Informatization Construction in 13th Five-Year Plan (XXH13506-405) 收稿时间: 2019-03-05; 修改时间: 2019-04-02; 采用时间: 2019-04-10; csa 在线出版时间: 2019-09-05 246 研究开发 Research and Development

N阶实对称矩阵的三对角化

N阶实对称矩阵的三对角化 信计31 施昕2130602018 实验原理: 用householder矩阵对n阶实矩阵上Hessenberg化,Q’AQ=T,其中Q 是householder矩阵,T是上Hessenberg矩阵,因为A对称,则变换后的矩阵T是三对角矩阵。通过n个householder矩阵相乘,Hk使得每个Ak的第k行和第k列的后n-k分量变为ae(n-k)。最后得到三对角矩阵。 实验结果:

源程序: %Householder变换: function [v,b]=House(x) n=length(x); x=x/norm(x,'inf'); c=x(2:n)'*x(2:n); v(2:n,1)=x(2:n); if c==0 b=0; else a=sqrt((x(1))^2+c); if x(1)<=0 v(1)=x(1)-a; else v(1)=-c/(x(1)+a); end b=2*(v(1))^2/(c+(v(1))^2); v=v/v(1); end %三对角化: A=input('输入矩阵A:'); n=length(A); Q=eye(n); for k=1:n-2 [v,b]=House(A(k+1:n,k)); u=b*A(k+1:n,k+1:n)*v; w=u-(b*u'*v/2)*v; Hk=eye(n-k)-b*(v*v'); H=blkdiag(eye(k),Hk); Q=Q*H; A(k+1,k)=norm(A(k+1:n,k)); A(k,k+1)=A(k+1,k); A(k,k+2:n)=0; A(k+2:n,k)=0; A(k+1:n,k+1:n)=A(k+1:n,k+1:n)-v*w'-w*v'; end T=A Q disp(Q*T*Q');

关于matlab中的diag函数(矩阵对角元素的提取和创建对角阵)

关于matlab中的diag函数(矩阵对角元素的提取和创建对角阵) diag函数功能:矩阵对角元素的提取和创建对角阵 设以下X为方阵,v为向量 1、X = diag(v,k) 当v是一个含有n个元素的向量时,返回一个n+abs(k)阶方阵X,向量v在矩阵X中的第k个对角线上,k=0表示主对角线,k>0表示在主对角线上方,k<0表示在主对角线下方。 例1: v=[1 2 3]; diag(v, 3) ans = 0 0 0 1 0 0 0 0 0 0 2 0 0 0 0 0 0 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 注:从主对角矩阵上方的第三个位置开始按对角线方向产生数据的 例2: v=[1 2 3]; diag(v, -1) ans = 0 0 0 0 1 0 0 0 0 2 0 0 0 0 3 0 注:从主对角矩阵下方的第一个位置开始按对角线方向产生数据的 2、X = diag(v) 向量v在方阵X的主对角线上,类似于diag(v,k),k=0的情况。 例3: v=[1 2 3]; diag(v)

ans = 1 0 0 0 2 0 0 0 3 注:写成了对角矩阵的形式 3、v = diag(X,k) 返回列向量v,v由矩阵X的第k个对角线上的元素形成 例4: v=[1 0 3;2 3 1;4 5 3]; diag(v,1) ans = 1 注:把主对角线上方的第一个数据作为起始数据,按对角线顺序取出写成列向量形式 4、v = diag(X) 返回矩阵X的主对角线上的元素,类似于diag(X,k),k=0的情况 例5: v=[1 0 0;0 3 0;0 0 3]; diag(v) ans = 1 3 3 或改为: v=[1 0 3;2 3 1;4 5 3]; diag(v) ans =

对称三对角矩阵特征值的二分法

数学软件实验任务书 课程名称数学软件实验班级数0901 实验课题对称三对角矩阵特征值的二分法 实验目的熟悉对称三对角矩阵特征值的二分法 运用Matlab/C/C++/Java/Maple/Mathematica等其中实验要求 一种语言完成 对称三对角矩阵特征值的二分法 实验内容 成绩教师

实验1对称三对角矩阵特征值的二分法 1 实验原理 对于对称三对角矩阵: 11122 2111 n n n n n c b b c b C b c b b c ----?? ? ? ?= ? ? ??? 设0i b ≠,1,2,,1i n =- ,记特征矩阵I C λ-的左上角的k 阶子式为()k p λ,设0()1p λ=,利用行列式的展开式,可得()k p λ的递推公式: 0112112()1() 1,2,,()()() k k k k k p p a k n p a p b p λλλλλλ---=??=-?=???=--? ()det()n p I C λλ=-为C 的特征多项式,n 个零点为矩阵C 的n 个特征值 2 实验程序 程序: int ebstq(int n,double b[],double c[],double q[],double eps,int l) { int i,j,k,m,it,u,v; double d,f,h,g,p,r,e,s; c[n-1]=0.0; d=0.0; f=0.0; for (j=0; j<=n-1; j++) { it=0; h=eps*(fabs(b[j])+fabs(c[j])); if (h>d) { d=h; } m=j; while ((m<=n-1)&&(fabs(c[m])>d)) {

追赶法解三对角矩阵

实验追赶法解三对角方程组 一、实验目的 学会用追赶法解三对角方程组,并应用该算法于实际问题. 二、实验要求 给定三对角方程组,应用追赶法解得方程组的解。 三、实验内容 1、追赶法 2、以课本数值试验2为实例 3、如果有错,修改直至运行成功,查看运行结果; 四、实验环境 matlab 五、实验步骤和方法 1、程序设计 2、带入实例 3、撰写实验报告。 六、实验预习要求 得到实例的解 一、[源程序] function x = my_zgf2(A,d,flag) %MY_ZGF2 Summary of this function goes here [m,n]=size(A); %计算矩阵的大小 if nargin==2; %输入变量等于2的时候,A中储存所有元素的值for i=1:n a(i)=A(i+1,i); b(i)=A(i,i); c(i)=A(i,i+1); end a(1)=0; %补充不足的值 b(n)=A(n,n); c(n)=0; else c=[A(1,:) 0]; %flag==1时 b=A(2,:); a=[0 A(3,:)]; end

u(1)=b(1); for i=2:n %第一次追赶,得到上、下三角矩阵 l(i)=a(i)/u(i-1); u(i)=b(i)-c(i-1)*l(i); end y(1)=d(1); %解Ly=d for i=2:n y(i)=d(i)-l(i)*y(i-1); end x(n)=y(n)/u(n); %解Ux=y for i=n-1:-1:1 x(i)=(y(i)-c(i)*x(i+1))/u(i); end 二、带入实例 A = -2.0000 -2.0000 -2.0000 -2.0000 -2.0000 -2.0000 -2.0000 0 5.0000 5.0000 5.0000 5.0000 5.0000 5.0000 5.0000 5.0000 -2.0000 -2.0000 -2.0000 -2.0000 -2.0000 -2.0000 -2.0000 0 d= 8.1400 0 0 0 0 0 0 0 >> d=A(4,:); my_zgf2(A,d,1) ans = 2.0350 1.0174 0.5086 0.2541 0.1267 0.0626 0.0298 0.0119 >>

相关文档
最新文档