import numpy as np
#输入矩阵
A = np.array([[1, 1/2, 1/6, 1/9],
[2, 1, 1/3, 1/5],
[6, 3,1,1/2],
[9, 5,2,1]])
#求解特征值和其对应的特征向量
eigval,eigvec = np.linalg.eig(A)
for i in range(len(eigval)):
print(f'特征值:{eigval[i]}\n对应的特征向量:\n{eigvec[:,i]}\n')
# 求出最大特征值和对应的特征向量
index = np.argmax(eigval) # 最大特征值下标
eigval_max = np.real(eigval[index]) # 最大特征值
vector = eigvec[:,index] # 最大特征值对应特征向量
vector_final = np.transpose((np.real(vector))) # 只求出向量的实部
print(f'最大特征值为:{eigval_max}\n对应的特征向量:\n{vector_final}')
python求出矩阵的特征值与特征向量
最新推荐文章于 2024-04-24 13:35:29 发布