numpy.linalg.eig() 计算矩阵特征向量方式
(编辑:jimmy 日期: 2024/11/20 浏览:3 次 )
在PCA中有遇到,在这里记录一下
计算矩阵的特征值个特征向量,下面给出几个示例代码:
在使用前需要单独import一下
> from numpy import linalg as LA
> w, v = LA.eig(np.diag((1, 2, 3))) > w; v array([ 1., 2., 3.]) array([[ 1., 0., 0.], [ 0., 1., 0.], [ 0., 0., 1.]])
> w, v = LA.eig(np.array([[1, -1], [1, 1]])) > w; v array([ 1. + 1.j, 1. - 1.j]) array([[ 0.70710678+0.j , 0.70710678+0.j ], [ 0.00000000-0.70710678j, 0.00000000+0.70710678j]])
> a = np.array([[1, 1j], [-1j, 1]]) > w, v = LA.eig(a) > w; v array([ 2.00000000e+00+0.j, 5.98651912e-36+0.j]) # i.e., {2, 0} array([[ 0.00000000+0.70710678j, 0.70710678+0.j ], [ 0.70710678+0.j , 0.00000000+0.70710678j]])
> a = np.array([[1 + 1e-9, 0], [0, 1 - 1e-9]]) > # Theor. e-values are 1 +/- 1e-9 > w, v = LA.eig(a) > w; v array([ 1., 1.]) array([[ 1., 0.], [ 0., 1.]])
官方文档链接:http://docs.scipy.org/doc/numpy/reference/generated/numpy.linalg.eig.html
以上这篇numpy.linalg.eig() 计算矩阵特征向量方式就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。
下一篇:python 实现矩阵按对角线打印