hrefspace

 找回密码
 立即注册
搜索
热搜: PHP PS 程序设计
查看: 482|回复: 7

求助:前n个特征向量的求法

[复制链接]

557

主题

557

帖子

1898

积分

版主

Rank: 7Rank: 7Rank: 7

积分
1898
发表于 2023-10-2 16:32:25 | 显示全部楼层 |阅读模式
我看了一些资料,求特征向量,只有求出矩阵所有求特征向量或者求最大特征值的主特征向量两类方法。
那么实对称矩阵,按特征值从大到小排列,称主特征向量为第一特征向量。我想求前n个特征向量。有什么方法?
如500*500的我只需要前5个特征向量。
回复

使用道具 举报

0

主题

196

帖子

2

积分

新手上路

Rank: 1

积分
2
发表于 2023-10-2 16:33:25 | 显示全部楼层
可以试着用迭代法,比如这个对称阵为A,我们任意选择一个单位向量$x_0$,然后依次迭代$x_{n+1}=\frac{Ax_n}{|Ax_n|}$
那么在n充分大时$x_n$将逼近特征值最大的特征值,假设这个特征向量为$v_1$(列向量),对应特征值为$r_1$,也就是$Av_1=r_1v_1$
我们再计算矩阵$B=A-r_1v_1v_1^T$,于是容易看出B和A所有特征向量相同,而特征值除了$v_1$对应的特征值从$r_1$变为0,其余都不变。继续用B迭代可以得出A的绝对值第二大对应的特征向量,...
回复

使用道具 举报

0

主题

182

帖子

63

积分

关内侯

Rank: 2

积分
63
发表于 2023-10-2 16:34:04 | 显示全部楼层
原谅我有误差恐惧症
迭代法算出的主特征向量和最大特征值是带误差的,所以矩阵B不能把$r_1$变为0。考虑到特征值递减的“比例”,说不定n次迭代法后累积误差超过了第n+1大的特征值。

有迭代修正的方法吗?类似牛顿迭代法。
回复

使用道具 举报

0

主题

177

帖子

10

积分

新手上路

Rank: 1

积分
10
发表于 2023-10-2 16:34:44 | 显示全部楼层
逐步迭代法我也想过。我的想法是求出主特征向量后降维。但推不出公式。
回复

使用道具 举报

0

主题

216

帖子

2

积分

新手上路

Rank: 1

积分
2
发表于 2023-10-2 16:35:36 | 显示全部楼层
迭代收敛速度已经挺快的,假设第二大特征值和最大特征值分别为$r_2,r_1$,那么迭代n次特征值误差在$O(|\frac{r_2}{r_1}|^n)$,正常情况很快就达到很高精度了
回复

使用道具 举报

0

主题

194

帖子

171

积分

关内侯

Rank: 2

积分
171
发表于 2023-10-2 16:36:10 | 显示全部楼层
就是说,如果我需要k位精度,第一特征向量需要达到n*k位精度?第二特征向量需求可以降(n-1)*k位?
回复

使用道具 举报

0

主题

195

帖子

38

积分

新手上路

Rank: 1

积分
38
发表于 2023-10-2 16:36:44 | 显示全部楼层
回到本源,精度问题不再是问题:
特征值与特征向量服从关系:(A-λ I)x=0,其实就是个多元方程组。以低精度的特征值、特征向量为初值,用拟牛顿法很快到达要求。
拟牛顿法是二次收敛,比幂法迭代更快。


下一个问题就是第2、第3……特征值的后续计算方法。今天重看了《现代应用数学手册》,原来和我的思路一样是缩小变量个数。称为“收缩法”

补充内容 (2016-11-23 22:58):
瑞利商加速有达到3次收敛,比拟牛顿法快。但修正传递误差还需要解方程。
回复

使用道具 举报

0

主题

174

帖子

2

积分

新手上路

Rank: 1

积分
2
发表于 2023-10-2 16:37:32 | 显示全部楼层
mathe的方法是幂法,需要特征值分离,分离度越好效果越好,当然,如果能估计出特征根分布(比如上下界),也可以选择合适的位移(比如选择两个特征值之间的中点附近),使得前两个最大特征值之比尽量小,这样收敛就很快了。
如果你的特征值太过于接近,可以考虑QR三对角迭代。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|hrefspace

GMT+8, 2024-11-22 15:21 , Processed in 0.061915 second(s), 22 queries .

Powered by hrefspace X3.4 Licensed

Copyright © 2022, hrefspace.

快速回复 返回顶部 返回列表