1 / 29

矩阵特征值

矩阵特征值. 特征值和特征向量 乘幂法 雅可比方法 矩阵的谱分解和矩阵函数. 考试的问题. Stephen Hawking. 特征值和特征向量. 特征值. 特征向量. 特征方程. 求解方程. 当 n 稍大,多项式方程是个高次方程. 确定系数 a n 时不可避免会引入误差. 多项式方程未必就能得到精确的特征方程的解。. 乘幂法:计算绝对值最大的特征值. 来源于实际问题:求绝对值最大的特征值 设 n 阶实矩阵 A 的 n 个特征值为 则所对应的特征向量为: 满足:. 假设矩阵特征值的绝对值按从大到小的顺序排列,并且绝对值最大的特征值是单重的。. 求.

tanuja
Download Presentation

矩阵特征值

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 矩阵特征值 特征值和特征向量 乘幂法 雅可比方法 矩阵的谱分解和矩阵函数

  2. 考试的问题

  3. Stephen Hawking

  4. 特征值和特征向量 特征值 特征向量 特征方程

  5. 求解方程 当n稍大,多项式方程是个高次方程 确定系数an时不可避免会引入误差 多项式方程未必就能得到精确的特征方程的解。

  6. 乘幂法:计算绝对值最大的特征值 • 来源于实际问题:求绝对值最大的特征值 • 设n阶实矩阵A的n个特征值为 • 则所对应的特征向量为: • 满足: • 假设矩阵特征值的绝对值按从大到小的顺序排列,并且绝对值最大的特征值是单重的。

  7. • 任意取一个异于0的n维初始向量V0,并假定V0可以唯一地表示为: • 如果令: • 则有: • 则有:

  8. 规格化(归一化) • 乘法递推计算中:可能会由于Vk各分量的绝对值不断增大而造成运算溢出。 • 必须对Vk规格化: 即:

  9. 可得:

  10. 结果:

  11. 计算举例 计算以下矩阵的最大特征值和相应的特征向量: 取初始向量为:

  12. 程序 • A = [2 3 2;10 3 4;3 6 1]; • v = [0 0 1]'; • for ii=1:8 • v = A*v; • u = max(v) • v = v/u • end

  13. 求对称矩阵的雅可比方法 • 实际应用中常见的一种矩阵 • 基本概念 • 计算方法

  14. 基本概念 • 设A是n阶实对称矩阵,则它的所有特征值均为实数,所对应的n个特征向量是线性无关,且相互正交。 • 如果矩阵A和B相似,则它们具有相同的特征值。 P为可逆方阵

  15. 雅可比方法 • 用途:用于求实对称矩阵的全部特征值和特征向量; • 基本思路:用一系列正交变换对角化A,即逐步消去A的非对角元,从而得到A的全部特征值; • 实质:找到一个正交矩阵V,使A对角化。

  16. 新矩阵B • B的非对角线元素的平方之和: • B的对角线元素的平方之和: • 迭代中,在对角线元素的平方和变大的同时,非对角线元素趋近于0。

  17. 选取非对角线元素中绝对值最大者 具体算法流程图 是 否 求得特征值和特征向量 计 算 计算矩阵A的新元素 结 束

  18. matlab程序 • A = [2 -1 0;-1 2 -1;0 -1 2] • [mA,nA] = size(A); • V = eye(mA); • for i=1:5 • Ab = abs(A); • Ad = diag(diag(Ab)); • Ab = Ab-Ad; • [vmax,idx] = max(Ab(:)); • m = -A(idx); • p = ceil(idx/mA);

  19. q = rem(idx,mA); • if q==0 • q = mA; • end • n = (A(q,q)-A(p,p))/2; • nSgn = sign(n); • if nSgn==0 • nSgn = 1; • end • omiga = nSgn*m/sqrt(m^2+n^2); • sin_theta = omiga/sqrt(2*(1+sqrt(1-omiga^2))); • cos_theta = sqrt(1-sin_theta^2); • R = eye(mA);

  20. R(p,p) = cos_theta; • R(q,q) = R(p,p); • R(p,q) = -sin_theta; • R(q,p) = sin_theta; • V = V*R; • A = R'*A*R; • A • A(p,q) • sin_theta • cos_theta • R • end • V

  21. 矩阵的谱分解 • 特征根各异的矩阵A的特征值分解可以重写如下: • 即为矩阵的谱分解

  22. 矩阵函数 • 定义矩阵函数为:

  23. 数组乘方和矩阵乘方 • A = reshape(1:9,3,3); • A_Ap = A.^0.3 • A_Mp = A^0.3 • [V,D] = eig(A); • AAp = V*diag([D(1,1)^0.3,D(2,2)^0.3,D(3,3)^0.3])/V

  24. 标量的数组乘方和矩阵乘方 • A = reshape(1:9,3,3); • pA_A = (0.3).^A • pA_M = (0.3)^A

  25. Sin的数组运算和矩阵运算比较 • A = reshape(1:9,3,3); • A_sinA = sin(A) • A_sinM = funm(A,'sin')

More Related