python求矩阵特征值和特征向量_numpy.linalg.eig() 计算矩阵特征向量方式

在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]])

<

你可能感兴趣的:(python求矩阵特征值和特征向量_numpy.linalg.eig() 计算矩阵特征向量方式)