用特征向量和特征值求矩阵,矩阵的特征值和特征向量如何求
python的数值计算库Numpy用于计算矩阵的特征值、特征向量和标准正交向量组。
将numpy作为np导入
1.找到矩阵
特征值和对应于每个特征值的特征向量。
x=np.array([[-1,0,1],[1,2,0],[-4,0,3])
A,b=np.linalg.eig(x) ##特征值赋给A,对应的特征向量赋给b。
对于范围内的I(len(a)):
打印(特征值,a[i],对应的特征向量是,b[:i])
特征值2.0对应的特征向量为[0。1.0.]
特征值1.0对应于[0.40824829-0.40824828]的特征向量
特征值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。
对于范围内的I(len(a)):
打印(特征值,a[i],对应的特征向量是,b[:i])
2.00000000000001的特征值对应于[0.94280904-0.2357226]的特征向量
-6.9999999999997的特征值对应于[-0.3333333-0.666667]的特征向量
1.99999999999993的特征值对应于[-0.0232037]的特征向量
3.按向量组
构造一组标准正交向量组
打印(“循环”)
a=np.array([[0,1,0],[0,-1,1],[1,-1,2]])
b=NP . zero(a . shape)
#正交化
对于范围内的I(len(a)):
b[i]=a[i]
对于范围(0,I)中的j:
b[i] -=np.dot(a[i],b[j])/np.dot(b[j],b[j])*b[j]
#标准化
对于范围内的I(len(b)):
b[i]=b[i]/np.sqrt(np.dot(b[i],b[i]))
打印(b)
传播
[[0.1.0.]
[0.0.1.]
[1.0.0.]]