gpt4 book ai didi

python - 幂法不适用于对称矩阵

转载 作者:行者123 更新时间:2023-12-01 08:41:22 24 4
gpt4 key购买 nike

我在 Python 3.7 中实现了一个简单的幂方法,该方法应该计算给定矩阵的最大特征值:

def power(A, x0, num_iter):
""" A - matrix, x0 - initial approximation of eigenvector,
num_iter - number of iteration"""

x = x0
l = x.T @ A @ x
for i in range(num_iter):
y = A @ x
x = y / np.linalg.norm(y)
l = x.T @ (A @ x)
return l

当我尝试计算一个简单对称矩阵的特征值时,该矩阵有两个特征值 3 和 1:

test_matrix = numpy.array([[2, -1],[-1, 2]])

我得到了:

In1: test_matrix, np.array([1, 1]), 100 

Out1: 1

为什么我的算法在这种情况下没有收敛到最大特征值,即 3?

最佳答案

我认为问题是你用于初始化的向量 x0 = [1,1]如果您使用 x0 = [-1, 1] 或 [1, -1] 运行 Power 方法,如果您的容差为 0.0001,则在 3 次迭代后您应该得到最大特征值为 3

关于python - 幂法不适用于对称矩阵,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53477209/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com