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

yipeiwu_com6年前Python基础

在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设计】。

相关文章

tensorflow实现tensor中满足某一条件的数值取出组成新的tensor

tensorflow实现tensor中满足某一条件的数值取出组成新的tensor

首先使用tf.where()将满足条件的数值索引取出来,在numpy中,可以直接用矩阵引用索引将满足条件的数值取出来,但是在tensorflow中这样是不行的。所幸,tensorflow...

python代码制作configure文件示例

在lua中,一直用lua作为config文件,或承载数据的文件 - 好处是lua本身就很好阅读,然后无需额外写解析的代码,还支持在configure文件中读环境变量,条件判断等。 在lu...

简单了解django索引的相关知识

简单了解django索引的相关知识

前言 由于数据库每天都用来存储越来越多的信息,因此这些也是每个Django项目中的关键组件。 因此了解它们的工作方式非常重要。 当然,我无法解释所有可用于Django的不同数据库的全部细...

Python 实现两个列表里元素对应相乘的方法

方法一: 结合zip函数,使用map函数: List1 = [1,2,3,4] List2 = [5,6,7,8] List3 = map(lambda (a,b):a*b,zip(...

python 处理微信对账单数据的实例代码

下面一段代码给大家介绍python 处理微信对账单数据,具体代码如下所示: #下载对账单并存储到数据库 @app.route("/bill/<string:date>",...