脚本专栏 
首页 > 脚本专栏 > 浏览文章

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中从for循环延申到推导式的具体使用
下一篇:python 实现矩阵按对角线打印
友情链接:杰晶网络 DDR爱好者之家 南强小屋 黑松山资源网 白云城资源网 SiteMap