实对称矩阵特征值和特征向量求解
实对称矩阵特征值问题研究
实对称矩阵特征值问题研究
实对称矩阵是线性代数中一个重要的概念,其特征值问题是矩阵理论中的基础
问题之一。
本文将从实对称矩阵的定义、特征值的概念、特征值问题的研究现状等方面展开探讨。
一、实对称矩阵的定义
在线性代数中,实对称矩阵是指矩阵等于其转置矩阵的矩阵,即对于一个n阶
实对称矩阵A,有A=A T。
实对称矩阵在许多领域中都有重要应用,如物理、工程、计算机科学等。
二、特征值的概念
对于一个n阶方阵A,如果存在一个非零向量v使得$Av=\\lambda v$,则称$\\lambda$为矩阵A的一个特征值,v为对应于特征值$\\lambda$的特征向量。
特征值问题即是寻找特征值和特征向量的问题。
三、实对称矩阵特征值问题研究现状
实对称矩阵特征值问题是数值线性代数中的一个经典问题,已经有许多理论和
算法对其进行了研究。
目前,常用的求解实对称矩阵特征值问题的方法有幂法、雅可比方法、QR方法等。
这些方法都有各自的特点和适用范围。
另外,随着计算机技术的不断发展,对于大规模实对称矩阵特征值问题的求解
也得到了很好的发展,例如并行计算、分布式计算等技术的应用,极大地提高了求解效率。
四、结语
实对称矩阵特征值问题是一个具有重要理论意义和实际应用价值的问题,对其
进行深入研究不仅有助于加深对矩阵理论的理解,同时也为相关领域的应用提供了理论支撑。
希望本文的介绍能为读者对实对称矩阵特征值问题有更深入的理解和认识。
10 实对称矩阵的特征值和特征向量的性质
实对称矩阵的特征值和特征向量一、实对称矩阵的特征值和特征向量 定理1 实对称矩阵的特征值为实数. 证明 ,,A x λ设复数为实对称矩阵的特征值复向量为对应的特征向量 ,0.Ax x x λ=≠即,,x x λλ用表示的共轭复数表示的共轭复向量 A x A x =则()().Ax x x λλ===一、实对称矩阵的特征值和特征向量于是有 T x Ax T x Ax 及()T x Ax =T x x λ=,T x x λ=()T T x A x =()T Ax x =()T Ax x =.T x x λ=两式相减,得()0.Tx x λλ-= 0,x ≠但因为()0,λλ⇒-= ,λλ=即.λ由此可得是实数211 0,n n T i i ii i x x x x x ====≠∑∑所以一、实对称矩阵的特征值和特征向量 说明,()0,0,.i i i A A E x A E λλλ-=-=由于实对称矩阵的特征值为实数所以特征向量所满足的线性方程组是实系数方程组由,知必有实的基础解系从而对应的特征向量也可以取实向量一、实对称矩阵的特征值和特征向量 12121212 ,,,,,.2A p p p p λλλλ≠设是实对称矩阵的两个特征值是对应的特征向量若则与理正交定证明 ,,,21222111λλλλ≠==Ap p Ap p ,,A A A T =对称 ()()T T T Ap p p 11111==∴λλ,11A p A p T T T ==于是 ()22121211p pAp p p p T T T λλ==,212p p T λ=().0 2121=-⇒p p Tλλ,21λλ≠ .21正交与即p p .021=∴p p T一、实对称矩阵的特征值和特征向量 r 个线性无关的特征向量.定理3 设 λ是n 阶实对称矩阵A 的r 重特征值,则 矩阵 A - λE 的秩为n −r , 从而对应特征值 λ恰有 定理4 任意实对称矩阵都与对角矩阵相似. 其中 是以A 的n 个特征值为对角元素的对角矩阵. Λ定理5 设A 为n 阶实对称矩阵,则存在正交矩阵P , 1P AP -=Λ使得二、举例 解 400031013A ⎛⎫ ⎪= ⎪ ⎪⎝⎭例 求矩阵的特征值和特征向量. 先求矩阵A 的特征值λλλλ---=-310130004E A ()(),422λλ--=.4,2321===λλλ得特征值二、举例再求矩阵A 的特征向量 ()得基础解系由对,02,21=-=x E A λ1(0,1,1).T η=-()得基础解系由对,04,432=-==x E A λλ23(1,0,0),(0,1,1).T Tηη==1213,]0,,]0,ηηηη==这里[[123010,,10120.101ηηη=-≠-同时|()|=谢谢!。
实对称矩阵的特征值和特征向量
A (aij )nn A (aij )nn
实对称矩阵的性质:
1.(定理4.12)实对称矩阵的特征值都是实数.
推论 实对称矩阵的特征向量都是实向量.
2.(定理4.13)实对称矩阵的属于不同特征值的特征向量正交.
定理4.4 矩阵的属于不同特征值的特征向量线性无关. 定理2.15 正交向量组必线性无关.
推论 实对称矩阵的属于不同特征值的特征向量线性无关. 3.实对称矩阵的属于ni重特征值的线性无关的特征向量恰有ni个. 4. n 阶实对称矩阵恰有n个线性无关的特征向量, 进而有n个单 位正交的特征向量. 5. 实对称矩阵必可对角化, 即 若A为实对称矩阵 , 则可逆矩阵P, 使P1 AP为对角矩阵 .
7.(定理4.14)若A为实对称矩阵 , 则正交矩阵Q, 使1.求A的所有互异的特征值 1 , 2 ,, m , 其中i的重数为ni , i 1,2,, m. 2.i , 解方程组(i E A) x 0, 求A的属于i的线性无关的特征向量 i1 , i 2 ,, ini . 3.利用Schmidt正交化方法将 i1 , i 2 , , ini 正交化, 再单位化, i 1,2, , m. 设所得的单位正交向量 组为1 , 2 , , n . 4.令Q ( 1 , 2 , , n ), 则Q为正交矩阵, 且 1 1 2 Q 1 AQ 2 m m
§4.3 实对称矩阵的特征值和特征向量 实对称矩阵: 对称的实矩阵. 共轭矩阵: 性质:
(1) A为实对称矩阵 A A AT . (2) AB A B , kB k B (k C ). (3)若A为实对称矩阵, 则 , R n , 有( A , ) ( , A ).
3.3 实对称矩阵的特征值和特征向量
Step3 利用施密特正交化方法,把向量组 i1 , i2 , ... , ini 正交化,得到正交向量组 i1 , i2 , ... , ini (i 1, 2, , m) . 再将所得正交向量组单位化,得到正交向量组 i1 , i2 , ... , ini (i 1, 2, , m) .
8
0
4
6
0 4 1 2
3
6
2
1
A为对称矩阵
A对称矩阵的特征值都是实数.
说明:若A是实数域上的对称矩阵,则
a11 a12 L
E A a21 a22 L
M
M
a1n a2n
M
an1 an2 L ann
1
,
0
2
2
T 2
T 1
1 1
1
1
0
1
1 2
1
1
0
1 2
1 2
1
再单位化得
1
(
1 2
,
1 2
,
0
)T
,
2
(
1 , 6
1, 6
2 )T 6
1
设特征值 3 对应的特征向量为
x = (x1 , x2 , x3)T , 由于实对称矩阵不同特征值对应的特征向量正交, 故
(1 , x) = x1 + x2 + x3 = 0
实对称矩阵求特征值的技巧
实对称矩阵求特征值的技巧实对称矩阵是指一个矩阵的转置矩阵和它本身相等,即A = A^T。
求解实对称矩阵的特征值和特征向量是线性代数中的重要问题。
下面将介绍一些实对称矩阵求特征值的技巧。
1. 特征值存在定理对于实对称矩阵A,其特征值一定存在且为实数。
这是因为实对称矩阵可以通过正交变换化为对角矩阵,而对角线上的元素就是特征值。
2. 特征向量正交性如果A是一个n*n的实对称矩阵,那么它的n个特征向量一定两两正交。
这意味着任意两个不同的特征向量之间的内积为0。
这个性质也可以通过正交变换来证明。
3. 特征向量单位化在求解实对称矩阵A的特征向量时,我们通常会将其单位化。
即将每个特征向量除以其模长,使得所有特征向量都成为单位向量。
这样做可以方便计算,并且保证每个特征向量都有相同的长度。
4. Rayleigh商Rayleigh商是一种用来估计实对称矩阵特征值的方法。
对于一个实对称矩阵A和一个非零向量x,其Rayleigh商定义为x^T*A*x / x^T*x。
这个值可以用来估计A的特征值,具体方法是将它最小化。
这个方法在迭代求解特征值时非常有用。
5. 幂法幂法是一种迭代求解实对称矩阵最大特征值和特征向量的方法。
它的基本思想是不断将一个向量乘以矩阵A,并将结果单位化,直到收敛为止。
在每次迭代中,向量的模长会越来越接近最大特征值,并且向量会收敛到与最大特征值对应的特征向量上。
6. Jacobi方法Jacobi方法是一种通过旋转实对称矩阵来将其对角化的方法。
它通过不断地选择一个旋转角度和旋转轴来消去矩阵中某个元素,直到所有非对角元素都变成0为止。
这个过程中,矩阵的主对角线上的元素就是特征值,而每列主对角线上元素所在列的其他元素组成的向量就是该列主对角线上元素所对应的特征向量。
7. QR方法QR方法是一种通过正交变换将实对称矩阵对角化的方法。
它通过不断地将矩阵分解为QR的形式,其中Q是正交矩阵,R是上三角矩阵,直到R变成对角矩阵为止。
3.3实对称矩阵的特征值和特征向量
a2,
,
an
)
b2 bn
n
a1b1 a2b2 anbn aibi
i 1
称为向量 与 的内积. 内积T 也可记作(, )
P13-2
第三章
一、向量的内积 1. Def.: 设 = (a1 , a2 , … , an)T , = (b1 , b2 … , bn)T 为 Rn
9. 设A为3阶矩阵, 1 ,2 ,3线性无关, 且 A1 =21 +2+3, A2 =22, A3 = -2 +1. (1) 求矩阵B, 使得A(1 , 2, 3)=(1 , 2, 3)B; (2) 求A的特征值;
(3) 求矩阵P 和对角阵 , 使P-1AP = .
练习3.3选解:
3. 设A为3阶实对称矩阵, 且A2+2A=O, r(A)=2, 求与A
线性无关.
P13-5
第三章
8. 施密特(Schmidt) 正交化方法
由一个线性无关的向量组构造一个与之等价的正交向量组.
设 1 ,2 ,…, s ( s 2 ) 是 Rn 中的一个线性无关的向量组, 令 1 1
2
2
(2 , 1 ) (1, 1)
1
3
3
(3 , (2,
2) 2)
2
(3 , 1 ) (1, 1)
相似的对角矩阵.
P13-13
2 2 1
例2 设三阶实对称矩阵 A 的特征值为 0 , 1 (二重), 属于
特征值 0 的一个特征向量为1= (0, 1, 1)T . 求 A .
0 1 0
1 0 0
P 1 0 1 , A 0 1 2 1 2
1 0 1
0 1 2 1 2
求实对称矩阵的特征值和特征
求实对称矩阵的特征值和特征求实对称矩阵的特征值和特征向量求实对称矩阵的特征值和特征向量是线性代数中一个基本的问题。
特征值和特征向量代表了矩阵在空间中的性质,具有重要的应用价值。
本文将系统地介绍求解实对称矩阵的特征值和特征向量的方法。
一、什么是实对称矩阵实对称矩阵指的是元素都为实数的方阵,其转置矩阵等于自己。
即,对于一个n阶实对称矩阵A,有A = A^T。
实对称矩阵在矩阵理论中非常重要,因为它们具有很多优秀性质,例如对称性和正交性等。
二、求实对称矩阵的特征值和特征向量的步骤特征向量代表的是方阵在某一方向上的拉伸效应,而特征值代表的则是这个拉伸效应的大小。
因此,求解实对称矩阵的特征值和特征向量可以从以下几个步骤入手:1. 求出矩阵的特征多项式设A为一个n阶实对称矩阵,则其特征多项式为:f(λ) = det(λI - A)其中λ为待求的特征值,I为n阶单位矩阵。
求出特征多项式后,我们可以通过对其进行分解,从而求出矩阵的特征值。
2. 求解特征值将特征多项式f(λ)分解为:f(λ) = (λ-λ1)(λ-λ2)…(λ-λn)其中λ1, λ2, …, λn为n个特征值,可以通过求解f(λ)=0的方程组得到。
特别地,由于我们在求解过程中使用的是实对称矩阵,因此得到的所有特征值都是实数。
3. 求解特征向量求解特征向量的方法有很多种。
一种比较简单的方法是,对于矩阵A的每一个特征值λi,解出下面的方程组:(A-λiI)xi = 0其中xi为λi对应的特征向量。
由于A是实对称矩阵,因此这个方程组的解可以通过高斯消元或LU分解等方式求解。
4. 将特征向量规范化在求解出特征向量后,为了便于后续的处理,需要将它们进行规范化。
具体地,我们将特征向量xi除以其模长,使得其模长等于1。
即:||xi|| = 1这样做的好处是,保证了特征向量之间的正交性,也就是说它们构成了一个规范正交基。
三、总结求解实对称矩阵的特征值和特征向量是线性代数中一个重要的问题。
实对称矩阵的特征值和特征向量
线性方程组
(A i E)x 0 是实系数方程组,由 A i E 0知必有实的基础解
系, 从 而 对 应 的 特 征 向 量 可以 取 实 向 量.
P4/12
§3 实对称矩阵的特征值和特征向量
定理3.10 设1, 2是对称矩阵的两个特征值, p1, p2是对应的特征向量. 若1 2, 则p1, p2正交.
二、用正交矩阵将对称矩阵对角化的步骤
1) 作 E A 0 求诸i, i = 1, 2, …, m
2) 解 (iE A)x 0 得基础解系
i1 ,i 2 ,L , r i,nri i r (i E A)
3) 正交化得 i1 ,i 2 ,L i,nri
4) 单位化得 ij
§3 实对称矩阵的特征值和特征向量
一、对称矩阵的性质 二、利用正交矩阵将对称矩阵对角化的方法
1
§3 实对称矩阵的特征值和特征向量
一、对称矩阵的性质
本节所提到的对称矩阵, 除非特别说 明, 均指实对称矩阵.
定理3.9 对称矩阵的特征值为实数.
证明 设复数为对称矩阵A的特征值 ,复向量x为
对应的特征向量,
P8/12
§3 实对称矩阵的特征值和特征向量
将1 = 3代入(EA) x = 0, 得基础解系 a1 = (2, 1, 0)T, a2 = (2, 0, 1)T.
将其正交化:
b1 = a1,
b2
a2
a2 b1
, ,
b1 b1
b1
2, 0,1T
4 2,1, 0T
例3.6 设三阶对称阵A的特征值1 = 0, 2 = 1(二重). 属于1的特征向量为a1 = (0, 1, 1)T, 求A. 解 对应于2 = 1的线性无关的特征向量有两个, 设为a2, a3. 则a2, a3均a1与正交, 即满足
线性代数3.3实对称矩阵的特征值和特征向量
05
实对称矩阵的应用举例
在二次型中的应用
二次型的标准型
通过实对称矩阵的正交变换,可 以将二次型化为标准型,从而简 化问题的求解。
二次型的正定性
利用实对称矩阵的特征值性质, 可以判断二次型的正定性,进而 解决优化问题。
二次曲面分类
实对称矩阵的特征值和特征向量 可用于二次曲面的分类,如椭球 面、双曲面等。
1. 求出矩阵$A$的特征多项式$f(lambda)$。
3. 对于每个特征值$lambda_i$,求出对应的特征向量 $alpha_{i1}, alpha_{i2}, ldots, alpha_{ik}$,其中$k$是 $lambda_i$的重数。
5. 计算$P^{-1}AP = Lambda$,其中$Lambda = text{diag}(lambda_1, lambda_2, ldots, lambda_n)$。
线性代数3.3实对称 矩阵的特征值和特征
向量
目录
• 引言 • 实对称矩阵的应用举例 • 总结与展望
01
引言
课程背景与目标
课程背景
线性代数是数学的一个重要分支,广泛应用于各个学科领域。实对称矩阵作为一 类特殊的矩阵,具有很多重要的性质和应用。特征值和特征向量是矩阵理论中的 核心概念,对于理解矩阵的性质和解决实际问题具有重要意义。
迭代法
通过构造迭代序列来逼近特 征值和特征向量,如幂法、 反幂法等。
特征值与矩阵性质的关系
特征值与矩阵的行列式
矩阵的所有特征值的乘积等于其行列式 的值。
特征值与矩阵的秩
如果矩阵至少有一个非零特征值,则 其秩大于等于1;如果矩阵所有特征
值都为零,则其秩为零。
特征值与矩阵的迹
实对称矩阵特征值和特征向量
(1) ( , ) = ( , ) ;
(2) (k , )= k( , );
(3) ( + , )= (, )+ ( , );
(4) ( , ) 0 , 且( ,)= 0 = 0 .
其中 , , 为 Rn 中的任意列向量,k R .
P13-2
第三章
3.Def.: 设 = (a1 , a2 , … , an)T Rn ,称 ( , ) T
s1
( s (2
, ,
2 2
) )
2
( s (1
, ,
1 1
) )
1
例1 求与向量组
1 = (1, 1, 1)T ,2 = (1, -2, -3)T ,3 = (1, 2, 2)T
等价的一个正交单位向量组.P13-6第三章Fra bibliotek例2 已知
1 1, 1, 1T , 2 1, 1, 3T
求 3 使之与1 , 2 都正交.
2
2
(2 , 1 ) (1, 1)
1
3
3
(3 , 2 ) (2 , 2 )
2
(3 , 1 ) (1, 1)
1
s
s
( s , s1 ) ( s1 , s1 )
s1
( (
s 2
, ,
2 2
) )
2
( s (1
, ,
1 1
) )
1
则 1 , 2 , … , s 是一个正交向量组, 且
{ 1 , 2 , … , s } { 1 , 2 , … , s }
Q-1AQ 成为对角矩阵.
四、实对称矩阵对角化方法
例1 求正交矩阵 P , 使 P-1AP 为对角矩阵.
4.3 实对称矩阵的特征值特征向量
用α i与上式两边内积运算得:α
得 k 1α
i Tα 1+k2α i Tα 2+…+kiα i Tα
i
T(k
1α 1+k2α 2+…+ksα s)=0,
Tα s=(i=1,2,…,s)
i+…+ksα i
又 α iTα j=0 (i≠j) 所以有: kiα iTα i=0 (i=1,2,…,s) 又 α i≠0 得α iTα i>0 因此: ki=0 (i=1,2,…s),则 α 1,α 2,…α s线性无关。
可得:
x1T T x2 T Q Q x T n
x1
x2
xn
T x1T x1 x1 x2 T T x2 x1 x 2 x2 T x Tx x n x2 n 1 ∵Q为正交矩阵等价于 QTQ=I
(3)∣α Tβ |≤‖α ‖‖β ‖
即是
a1b1 a2b2 an bn
a
i 1
n
2 i
bi2
i 1
n
此不等式称柯西-布涅可夫斯基不等式,下面证明此不等式 证明: (1)当α与β线性相关时,有α=kβ或β=kα,显然有
∣αTβ|=‖α‖‖β‖
(2)当α与β线性无关时,对任一实数x, 有: xα+β≠0 因此恒有 ‖xα+β‖>0 即有 ‖xα+β‖2=(xα+β)T(xα+β) =(xαT+βT)( xα+β) =(αTα)x2+(αTβ+βTα)x+βTβ =(αTα)x2+(2αTβ)x+βTβ>0 所以有 恒成立.
线性代数(第二版)第三节实对称矩阵的特征值和特征向量
二、实对称矩阵对角化方法
根据定理 4.14 ,任一实对称矩阵 A 都可以对角
化. 因此,对 A 的任一 ni 重特征值 i,齐次方程组
( iE – A )X = 0 的基础解系中必含有 ni 个线性无关
的向量,它们都是 A 的属于 i 的特征值(
定 定 理 理 44 ..11 00
定 定 理 理 44 ..11 00
+ – –
A … A ) ) + 的 的 r s 秩 秩 =
等 等 n ,于 于知n n这 – –
样的 n n ii ..
特
征
向
量
共
可
得
n 个.
矩 矩
定 定 理 理
4 4 .. 1 1 2 2
实 实 对 对 称 称 矩 矩 阵 阵 的 的 特 特 征 征 值 值 都 都 是 是 实 实 数 数 ..
由 阵 阵 r 1 ( ( + ii rE E 2
+ – –
A … A ) ) + 的 的 r s 秩 秩 =
等 等 n ,于 于 知
这样的 n n – – n n ii ..
特
征
向
量
共
可
得
n 个.
矩 矩
定 定 理 理
4 4 .. 1 1 2 2
实 实 对 对 称 称 矩 矩 阵 阵 的 的 特 特 征 征 值 值 都 都 是 是 实 实 数 数 ..
证 证 法 法 二 二 利 利 用 用 性 性 质 质
设
A 的互不相等的特征值为
1 , … ,
s,
它们的重数依次为
r1 , …
根据
定 定 理 理
4 4 .. 1 1 0 0 及 及 定 定 理 理
3.3实对称矩阵的特征值和特征向量(简)
1 1 Q AQ n
2
实对称矩阵的特征值的性质 一、 定理3.12 实对称矩阵的特征值都是实数. 则 说明: 若A是实数域上的 对称矩阵,
a 11
E A
a 21 a n1
n
a 12
a1n a2n
| A | | E A |
) 移项得: (| A | 1 | E A | 0 即 2 | E A | 0 | E A | 0
例 4 . 设矩阵 A 与 B 相似 , 1 其中 A 2 3 1 4 3 1 2 2 , B 0 a 0 0 2 0 0 0 , b
T
1 ( T ) T 1 T A T A T ( A ) T
( 2 ) 2( T )
( 1 2 )( T ) 0 1 2
0
T
即
定理3.14 设A是n阶实对称矩阵, 则存在n阶正交
a 22
an2
n2
a nn
nm
( 1 ) 1 ( 2 )
...( m )
1 , 2 , ..., m 都是实数.
定理3.13 实对称矩阵的 对应于不同特征值的 特征向量 是相互正交的. A是实对称矩阵, A的两个特征值 1 , 2 1 2 则 A 1 A 2 证
1 1 1 1
1, 2 ,
1
两两正交.再将它们单位化.
1
2 1 1 1 2 2 2 1 0
6 1 2 2 1 6 32 2 3 2 6
实对称矩阵求解技巧
实对称矩阵求解技巧实对称矩阵是指矩阵的转置与矩阵本身相等,即A = A^T。
实对称矩阵在数学和物理中具有重要的应用,因此求解实对称矩阵的问题也有一些常用的技巧和方法。
本文将介绍几种常见的实对称矩阵求解技巧。
1. 对称性质实对称矩阵的主对角线上的元素均为实数,而非主对角线上的元素均为共轭复数对。
这个性质有助于简化实对称矩阵的求解过程。
例如,如果实对称矩阵的一个特征值为λ,对应的特征向量为v,则其共轭特征值也为λ,对应的特征向量为v^*(即v 的共轭)。
利用这个性质,可以将实对称矩阵的特征值和特征向量按照一对一的关系进行求解。
2. 特征值分解特征值分解是求解实对称矩阵的一种常用方法。
特征值分解将实对称矩阵分解为特征值和特征向量的形式,即A = QΛQ^T,其中Q 是特征向量组成的正交矩阵,Λ是对角矩阵,对角线上的元素是特征值。
特征值分解的过程包括求解矩阵A 的特征值和对应的特征向量,然后将特征值和特征向量组合成特征值矩阵和特征向量矩阵。
特征值分解可以通过多种方法进行求解,例如幂迭代法、QR方法等。
其中幂迭代法是一种简单而有效的方法,可以通过迭代求解最大的特征值和对应的特征向量。
特征值分解使得实对称矩阵的求解问题转化为求解特征值和特征向量的问题,进而简化了求解过程。
3. Cholesky分解Cholesky分解是一种将实对称矩阵分解为下三角矩阵和其转置的方法,即A = LL^T,其中L 是下三角矩阵。
Cholesky分解可以将实对称矩阵变换为相对简单的下三角矩阵,便于后续的计算和求解。
Cholesky分解的过程包括以下步骤:(1) 将实对称矩阵表示为对角块矩阵的形式,每个对角块矩阵是一个2×2的方阵。
(2) 对每个对角块矩阵应用平方根迭代公式,得到下三角矩阵。
(3) 将得到的下三角矩阵的转置,得到矩阵的Cholesky分解。
Cholesky分解的优点是计算效率高,尤其适用于求解大规模的实对称矩阵。
对称矩阵的特征值和特征向量二-新
17
跳转到第一页
对 2E A X 0的系数矩阵2E A施行初等行变换, 化为行最简形矩阵
2 E A 0 1 0 1 0 0
2 2 0
2 3 2
0 1 2 0 0 4
1 1 2
0 2 4
3.求正交矩阵P , 使得P 1 AP为对角矩阵
13
跳转到第一页
例1 利用正交矩阵将对称矩阵A 对角化
2 2 0 A 2 1 2 0 2 0
解: 第一步,求矩阵A的特征值
2
E A
2 0
2 0 1 2 2
14
跳转到第一页
2
12
跳转到第一页
三、 利用正交矩阵将实对称矩阵对角化的方法 利用正交矩阵将实对称矩阵对角化, 其具体步骤为:
1.求A的全部特征值1 , 2 , , n
2.由 i E A x 0(i 1, 2 , n), 求出A 的属于i的极大线性无关特征向量组, 并将极大线性无关特征向量组中的特征向量 正交化、单位化.
*证 对实对称矩阵的阶数,采用数学归纳法证明. 当k =1,A为1阶实对称矩阵,A a , 有E 1 , 使得E 1 AE =E T AE = 1 , 其中1 a .定理成立. 假设k =n-1定理成立.
7
当k =n, 设A为n阶实对称矩阵, 第一步 构建一个正交矩阵M , 设1是属于A的特征值1的一个单位特征向量, 使用施密特方法选n-1个非零向量 2 , , n , 使得1 , 2 , , n , 为正交单位向量组, 以1 , 2 , , n , 为列向量构建一个正交矩阵M , M (1 , 2 , , n )
实对称矩阵的特征值和特征向量
把 1(2,1,0)T 2(2,0,1)T
正交化:
11(2,1, 0)T
2
2
12TT111
(2,0,1)T
4(2,1,0)T(2,4,1)T
5
55
将 1,2,3单位化,得到
21 1 12 2
5(2,1,0)T 5
5(2,4,5)T 15
1 0 1
1 0 1
1 11
2(0,1,1)T 2
32 3 322
(1,0, 0)T 2(0,1,1)T
2
一、 实对称矩阵特征值的性质
定理4.12 实对称矩阵的特征值都是实数。
证明:设 A是n阶实对称矩阵, 0是矩阵 A的在复数 域上的任一特征值,属于 0 的特征向量为
(a 1,a2, ,an)T
则 A0 ( 0 ),于是,两边取复数共轭得到
在不计排列顺序情况下,这种对角化形式是唯一的。
(实对称矩阵A 的标准形!!)
例2 对矩阵 2 2 2 A 2 1 4 2 4 1
求一正交阵 Q , 使 Q1AQ 成对角矩阵。 解: 矩阵 A的特征多项式为
22 2 2 2 0 d eE tA ()2 142 1 3
A 0 A 0 A 0 (4.11)
实对称矩阵特征值的性质
对最后一式取复数转置, 得到
TA0T
定理4.12 实对称矩阵 的特征值都是实数。
两边再右乘 , 得到 T A 0 T 0 T 0 T ( 0 0 ) T 0
1
Q TA Q Q 1A Q
于是 AQQT
2 2
5--实对称矩阵特征值与特征向量的性质
( 3 ,1) ( 3 , 2) 0 3与1 , 2正交,
x1 x2 x3 0 2 x1 2 x2 x3 0 1 1 1 1 1 0 1 1 1 A 2 2 1 0 0 1 0 0 1
1T 2 0.
例:设1, 1, 1是三阶实对称方阵A的3个特征值,
T T 1 (1, 1, 1) , 2 (2, 2, 1) 是A的属于特征值1的特
征向量,求A的属于特征值 1的特征向量。
T 设A的属于特征值 1的特征向量为 3 (x1,x2,x3) ,
对一般矩阵只能保证相异特征值所对应的特征向量线性无关
实对称矩阵的特征值与特征向量的性质 性质1:实对称矩阵的特征值都是实数。
设是n阶实对称矩阵A的特征值, (a1 , a2 , , an )T
是对应的特征向量, 即A ,两边取共轭,得:
A
(1)两端取转置,得:
对1 2 1,
2 1 0 1 0 1 T B E 4 2 0 0 1 2 , 1 (1, 2, 1) . 1 0 1 0 0 0
线性无关 的特征向 量只有一个
1 2 2 例:设A 2 2 4 ,求可逆阵P,使P 1 AP为对角阵。 2 4 2 1 2 2 A E 2 2 4 2
T
T 2ห้องสมุดไป่ตู้
0,
练 习
设 A 是 n 阶实对称阵且 A3 3 A2 5 A 3E 0, 求A 的特征值。
设 为 A 的任一特征值,由 A3 3 A2 5 A 3E 0 知
3 3 2 5 3 0.
HouseholderQR法求实对称矩阵特征值和特
Householder QR法求实对称矩阵特征值和特Householder+QR法求实对称矩阵特征值和特征向量(C程序代码)2010-12-01 10:29嗯,上一个雅可比法求n xn实对称矩阵的特征值和特征向量,是很有限制的。
虽然这个方法可靠,精度好,但是对于高于十几阶的矩阵,它就显得力不从心了,因为收敛速度比较慢。
所以对于高阶的实对称阵的特征值和特征向量的求解,目前用得比较多的还是先Householder法把对称阵变成"三对角阵",再用QR法求取特征值。
因为赶工的原因,这两个程序我没有亲自动手写(众:怎么每次都这么多理由捏)。
这里就顺便推荐一本书:《常用算法程序集(C语言描述)》,清华大学出版社出版。
这本书的内容比较广,虽然原理上讲得不详细,但是对于赶工的程序员来说那是一条不错的捷径。
有点可惜的是此书的代码写得比较凌乱,可读性极其糟糕,有空的话(又要等"有空")某U很想把里面的代码再改写封装一下…因为实在是太实用了…为了表示对作者的尊敬,这里贴出来的代码除了函数名之外,对内容就不作修改了。
#include stdlib.h#include math.h typedef double mydouble;int qr(int n,mydouble*b,mydouble*c,mydouble*q,mydouble eps,int l){int i,j,k,m,it,u,v;mydouble 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))m++;if(m!=j){do{if(it==l)return 1;it=it+1;g=b[j];p=(b[j+1]-g)/(2.0*c[j]);r=sqrt(p*p+1.0);if(p=0.0)b[j]=c[j]/(p+r);else b[j]=c[j]/(p-r);h=g-b[j];for(i=j+1;i=n-1;i++)b[i]=b[i]-h;f=f+h;p=b[m];e=1.0;s=0.0;for(i=m-1;i=j;i--){g=e*c[i];h=e*p;if(fabs(p)=fabs(c[i])){e=c[i]/p;r=sqrt(e*e+1.0);c[i+1]=s*p*r;s=e/r;e=1.0/r;}else{e=p/c[i];r=sqrt(e*e+1.0);c[i+1]=s*c[i]*r;s=1.0/r;e=e/r;}p=e*b[i]-s*g;b[i+1]=h+s*(e*g+s*b[i]);for(k=0;k=n-1;k++){u=k*n+i+1;v=u-1;h=q[u];q[u]=s*q[v]+e*h;q[v]=e*q[v]-s*h;}}c[j]=s*p;b[j]=e*p;}while(fabs(c[j])d);}b[j]=b[j]+f;}for(i=0;i=n-1;i++){k=i;p=b[i];if(i+1=n-1){j=i+1;while((j=n-1)&&(b[j]=p)){ k=j;p=b[j];j=j+1;}}if(k!=i){b[k]=b[i];b[i]=p;for(j=0;j=n-1;j++){u=j*n+i;v=j*n+k;p=q[u];q[u]=q[v];q[v]=p;}}}return 0;}void householder(mydouble*a,int n,mydouble*q,mydouble*b,mydouble*c){int i,j,k,u;mydouble h,f,g,h2;for(i=0;i=n-1;i++){for(j=0;j=n-1;j++){u=i*n+j;q[u]=a[u];}}for(i=n-1;i=1;i--){h=0.0;if(i 1){for(k=0;k=i-1;k++){u=i*n+k;h=h+q[u]*q[u];}}if(h+1.0==1.0){c[i]=0.0;if(i==1)c[i]=q[i*n+i-1];b[i]=0.0;}else{c[i]=sqrt(h);u=i*n+i-1;if(q[u]0.0)c[i]=-c[i];h=h-q[u]*c[i];q[u]=q[u]-c[i];f=0.0;for(j=0;j=i-1;j++){q[j*n+i]=q[i*n+j]/h;g=0.0;for(k=0;k=j;k++)g=g+q[j*n+k]*q[i*n+k];if(j+1=i-1){for(k=j+1;k=i-1;k++)g=g+q[k*n+j]*q[i*n+k];}c[j]=g/h;f=f+g*q[j*n+i];}h2=f/(h+h);for(j=0;j=i-1;j++){f=q[i*n+j];g=c[j]-h2*f;c[j]=g;for(k=0;k=j;k++){u=j*n+k;q[u]=q[u]-f*c[k]-g*q[i*n+k];}}b[i]=h;}}for(i=0;i=n-2;i++)c[i]=c[i+1];c[n-1]=0.0;b[0]=0.0;for(i=0;i=n-1;i++){if((b[i]!=0.0)&&(i-1=0)){for(j=0;j=i-1;j++){g=0.0;for(k=0;k=i-1;k++)g=g+q[i*n+k]*q[k*n+j];for(k=0;k=i-1;k++){u=k*n+j;q[u]=q[u]-g*q[k*n+i];}}}u=i*n+i;b[i]=q[u];q[u]=1.0;if(i-1=0){for(j=0;j=i-1;j++){q[i*n+j]=0.0;q[j*n+i]=0.0;}}}}参数说明:void householder(mydouble*a,intn,mydouble*q,mydouble*b,mydouble*c);a-n xn实对称矩阵,用线性的方法存储(嗯,其实静态数组就是这样的)。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
int success=0; // 函数返回值
double tao, t, cn, sn; // 临时变量
double maxa;
//写特征向量到C:\\tezhengxiangliang.txt
FILE *fp2;
if((fp2=fopen("C:\\tezhengxiangliang.txt","w"))==NULL)
else
{
t=-tao-sqrt(1+tao*tao);
}
cn=1/sqrt(1+t*t);
sn=t*cn;
// Givens旋转矩阵之转置左乘A, 即更新A的p行和q行
for (int j=0; j<n; j++)
{
maxa=fabs(A[p][q]);
}
//cout<<"fabs(A[p][q]"<<A[p][q]<<endl;
if (fabs(A[p][q])>epsl) // 非对角线元素非0时才执行Jacobi变换
{
// 计算Givens旋转矩阵的重要元素:cos(theta), 即cn, sin(theta), 即sn
}
fprintf(fp2, "%s","#\n");
//cout<<endl;
{
printf("无法建立!");
exit(0);
}
//写特征值到C:\\tezhengzhi.txt
FILE *fp4;
if((fp4=fopen("C:\\tezhengzhi.txt","w"))==NULL)
{
printf("无法建立!");
// 更新特征向量存储矩阵V, V=J0×J1×J2...×Jit, 所以每次只更新V的p, q两列
for (int i2=0; i2<n; i2++)
{
double vip=V[i2][p];
double viq=V[i2][q];
{
double apj=A[p][j];
double aqj=A[q][j];
A[p][j]=cn*apj-sn*aqj;
A[q][j]=sn*apj+cn*aqj;
}
// Givens旋转矩阵右乘A, 即更新A的p列和q列
}
cout<<allnum<<"读取文件结束"<<endl;
fclose(fp);
//for(int iac=0;iac<120;iac++){
//for(int iac2=0;iac2<120;iac2++)
//{
//cout<<A[iac][iac2]<<" ";
}
while(i>0 && eigsv[i-1]<a){
eigsv[i]=eigsv[i-1];
for (int k=0; k<n; k++)
{
V[k][i]=V[k][i-1];
}
i--;
}
eigsv[i]=a;
num++;
if(num==6)
{
allnum++;
//printf(" ");
//printf(str.c_str());
double aa=atof(str.c_str());
fprintf(fp3, "%d%s%d%s",ia," ",ia2," # ");
//{
ia2++;
ia2=ia2%13+temp*13;
if(ia==119)
{
tempnum++;
cout<<tempnum<<endl;
}
if(tempnum==13)
//下面实现求特征值和特征向量的作用
for(int iv=0;iv<120;iv++){
for(int iv2=0;iv2<120;iv2++)
{
if(iv==iv2){
V[iv][iv2]=1;
}
else
{
ห้องสมุดไป่ตู้ V[iv][iv2]=0;
//getch();
//}
}
else if(ia2>116)
{
cout<<allnum<<endl;
//getch();
ia=((allnum-14041)/3)%120;
//cout<<ia<<endl;
A[ia][ia2]=aa;
ia2++;
ia2=ia2%3+temp*13;
}
//cout<<str<<" ";
str="";
num=0;
}
// putchar(ch);
}
ch=fgetc(fp);
}
}
}
double *eigsv=new double[120];
for(int ieigsv=0;ieigsv<120;ieigsv++)
{
eigsv[ieigsv]=0;
}
double epsl=0.0001;
int maxt=10;
int n=120;
tao=0.5*(A[q][q]-A[p][p])/A[p][q];
if (tao>=0) // t为方程 t^2 + 2*t*tao - 1 = 0的根, 取绝对值较小的根为t
{
t=-tao+sqrt(1+tao*tao);
}
exit(0);
}
for (int it=0; it<maxt; it++)
{
maxa=0;
for (int p=0; p<n-1; p++)
{
for (int q=p+1; q<n; q++)
{
if (fabs(A[p][q])>maxa) // 记录非对角线元素最大值
for(int ivc=0;ivc<120;ivc++){
for(int ivc2=0;ivc2<120;ivc2++)
{
//cout<<V[ivc][ivc2]<<" ";
fprintf(fp2, "%f%s",V[ivc][ivc2],"\n");
//读取矩阵里的数据给矩阵A
FILE *fp;
char ch;
if((fp=fopen("C:\\matrix.txt","rt"))==NULL)
{
printf("Cannot open file strike any key exit!");
getch();
exit(1);
}
//写下读取时矩阵的行和列到TEXT2文本中,验证读取时是否正确
FILE *fp3;
if((fp3=fopen("C:\\TEXT2.txt","w"))==NULL)
{
printf("无法建立!");
exit(0);
}
ch=fgetc(fp);
string str="";
V[i2][p]=cn*vip-sn*viq;
V[i2][q]=sn*vip+cn*viq;
}
}
}
}
if (maxa<epsl) // 非对角线元素已小于收敛标准,迭代结束
{
// 特征值向量
// face.cpp : Defines the entry point for the console application.
//
#include <stdio.h>
#include <math.h>
#include <conio.h>
#include <stdlib.h>
#include<iostream>
//}
//cout<<endl;
// }
//getch();
//------------------------------------------------------------------------------------------
//------------------------------------------------------------------------------------------