numpy.linalg.eig() 计算矩阵特征向量方式
2019-12-02 18:11
911 查看
在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() 计算矩阵特征向量方式就是小编分享给大家的全部内容了,希望能给大家一个参考
您可能感兴趣的文章:
相关文章推荐
- numpy.linalg.eig() 计算矩阵特征向量
- numpy: 计算两个矩阵行向量之间的欧氏距离
- C语言调用MKL进行矩阵计算—特征值特征向量求解
- 特征值和特征向量的几何意义、计算及其性质(一个变换(或者说矩阵)的特征向量就是这样一种向量,它经过这种特定的变换后保持方向不变,只是进行长度上的伸缩而已)
- Python使用numpy产生正态分布随机数的向量或矩阵操作示例
- numpy 辨异(三)—— hstack/column_stack,linalg.eig/linalg.eigh
- 1.Numpy数值计算基础(随机数、索引、数组形状、矩阵、去重、排序)
- (转)矩阵——特征向量(Eigenvector)
- 矩阵复习四-特征值与特征向量
- matlab求矩阵前k小的特征值和对应的特征向量
- 矩阵的特征值和特征向量的雅克比算法C/C++实现
- Jacobian矩阵、Hessian矩阵、特征值、特征向量
- 矩阵——特征向量(Eigenvector)
- 解决Python计算矩阵乘向量,矩阵乘实数的一些小错误
- numpy.std() 计算矩阵标准差
- 数值计算程序-特征值和特征向量 [转]
- 雅克比求矩阵的特征值特征向量函数改进
- 矩阵的特征值和特征向量的雅克比算法C/C++实现
- 矩阵可逆的条件以及特征值、特征向量与可对角化条件
- 幂法求矩阵特征向量和特征值的C语言程序