numpy.linalg.eig() 计算矩阵特征向量

来源:互联网 发布:mui框架 js 构建dom 编辑:程序博客网 时间:2024/09/21 06:34

在PCA中有遇到,在这里记录一下

计算矩阵的特征值个特征向量,下面给出几个示例代码:

在使用前需要单独import一下

>>> from numpy import linalg as LA

>>> w, v = LA.eig(np.diag((1, 2, 3)))>>> w; varray([ 1.,  2.,  3.])array([[ 1.,  0.,  0.],       [ 0.,  1.,  0.],       [ 0.,  0.,  1.]])

>>> w, v = LA.eig(np.array([[1, -1], [1, 1]]))>>> w; varray([ 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; varray([  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; varray([ 1.,  1.])array([[ 1.,  0.],       [ 0.,  1.]])

官方文档链接:http://docs.scipy.org/doc/numpy/reference/generated/numpy.linalg.eig.html

0 0
原创粉丝点击