特征值与特征向量

放肆的年华 提交于 2019-12-06 13:52:17

 特征值分解

如果一个向量v是方阵A的特征向量,可以表示成如下形式:

 

 其中λ称为特征向量v对应的特征值,一个矩阵的一组特征向量是一组正交向量。

需要注意的是:只有方阵才能进行特征分解。

特征值分解是将一个矩阵分解成下面的形式:

其中Q是这个矩阵A的特征向量组成的矩阵,Σ是一个对角阵,每一个对角线上的元素就是一个特征值。

代码实现

python:

//方阵A
dataA = np.array([[0.00178, -0.00296, 0.000427],
                  [-0.00296, 0.00704, -0.00093],
                  [0.00043, -0.00093, 0.000197]])
//求特征值和特征向量
eigVals, eigVectors = np.linalg.eig(dataA)

//定义特征值的对角阵
smat = np.zeros((3, 3))
smat = np.diag(eigVals)

//根据特征值和特征向量重新计算A = QΣQ(-1)
result = np.dot(eigVectors, np.dot(smat, np.linalg.inv(eigVectors)))
print(result)
print(dataA)
//对比两个矩阵值是否相同
print(np.allclose(dataA, result))

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!