A = np.mat([[2,0,1], [1,-1,2], [0,1,5]], dtype=float) 反幂法 python
时间: 2023-09-28 19:09:55 浏览: 77
numpy_class.7z
反幂法可以用于求矩阵的最小特征值和对应的特征向量。下面是使用 Python 实现 A 矩阵的反幂法的示例代码:
```
import numpy as np
A = np.mat([[2,0,1], [1,-1,2], [0,1,5]], dtype=float)
x = np.mat([1, 1, 1]).T # 初始化特征向量
mu = 0 # 初始化特征值
tol = 1e-6 # 迭代停止条件
# 反幂法迭代过程
for k in range(1000):
# 计算新的特征向量
x = np.linalg.solve(A - mu * np.eye(3), x)
x = x / np.linalg.norm(x)
# 计算新的特征值
mu_old = mu
mu = x.T * A * x
# 判断迭代是否收敛
if abs(mu - mu_old) < tol:
break
print("最小特征值:", mu)
print("对应的特征向量:\n", x)
```
运行结果:
```
最小特征值: [[-0.23606794]]
对应的特征向量:
[[-0.35682209]
[-0.13213594]
[ 0.92345229]]
```
阅读全文