使用python的数值计算库numpy来计算矩阵的特征值,特征向量与标准正交向量组
import numpy as np
1.求矩阵
的特征值和各特征值所对应的特征向量
x = np.array([[-1,0,1],[1,2,0],[-4,0,3]])
a,b=np.linalg.eig(x) ##特征值赋值给a,对应特征向量赋值给b
for i in range(len(a)):
print(‘特征值’,a[i],’对应特征向量为’,b[:,i])
特征值 2.0 对应特征向量为 [0. 1. 0.]
特征值 1.0 对应特征向量为 [ 0.40824829 -0.40824829 0.81649658]
特征值 1.0 对应特征向量为 [-0.40824829 0.40824829 -0.81649658]
2.求矩阵
的特征值和各特征值所对应的特征向量
x = np.array([[1,-2,2],[-2,-2,4],[2,4,-2]])
a,b=np.linalg.eig(x) ##特征值赋值给a,对应特征向量赋值给b
for i in range(len(a)):
print(‘特征值’,a[i],’对应特征向量为’,b[:,i])
特征值 2.000000000000001 对应特征向量为 [ 0.94280904 -0.23570226 0.23570226]
特征值 -6.999999999999997 对应特征向量为 [-0.33333333 -0.66666667 0.66666667]
特征值 1.9999999999999993 对应特征向量为 [-0.0232036 0.7126935 0.7010917]
3.由向量组
构造一组标准正交向量组
print(‘循环’)
a = np.array([[0,1,0],[0,-1,1],[1,-1,2]])
b = np.zeros(a.shape)
#正交化
for i in range(len(a)):
b[i] = a[i]
for j in range(0,i):
b[i] -= np.dot(a[i],b[j])/np.dot(b[j],b[j])*b[j]
#归一化
for i in range(len(b)):
b[i] = b[i]/np.sqrt(np.dot(b[i],b[i]))
print(b)
循环
[[0. 1. 0.]
[0. 0. 1.]
[1. 0. 0.]]
今天的文章python求矩阵特征值和特征向量_特征值,特征向量,标准正交向量组与numpy分享到此就结束了,感谢您的阅读。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/11105.html