python numpy 特征值 特征向量 算的不对啊,求救!
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python numpy 特征值 特征向量 算的不对啊,求救!相关的知识,希望对你有一定的参考价值。
import numpy as npx= np.mat([[4,-1,-1,-1,-1,0,0,0],[-1,3,-1,0,0,-1,0,0],[-1,-1,3,-1,0,0,0,0],[-1,0,-1,3,0,0,0,-1],[-1,0,0,0,2,0,0,-1],[0,-1,0,0,0,2,-1,0],[0,0,0,0,0,-1,2,-1],[0,0,0,-1,-1,0,-1,3]])a,b=np.linalg.eig(x)
python 算的结果 不对啊
有没有人 知道怎么回事?
最小特征值应该是0
并没有。。。
特征向量也不对应
为啥用 numpy 计算 2×2 矩阵的特征向量会使我的 Python 会话崩溃?
【中文标题】为啥用 numpy 计算 2×2 矩阵的特征向量会使我的 Python 会话崩溃?【英文标题】:Why calculations of eigenvectors of a 2 by 2 matrix with numpy crashes my Python session?为什么用 numpy 计算 2×2 矩阵的特征向量会使我的 Python 会话崩溃? 【发布时间】:2013-10-06 08:40:20 【问题描述】:我尝试执行以下操作:
import numpy as np
from numpy import linalg as la
w, v = la.eig(np.array([[1, -1], [1, 1]]))
因此,python 会话崩溃并显示以下消息:
Illegal instruction (core dumped)
我尝试使用 scipy 而不是 numpy。结果是一样的。
【问题讨论】:
你应该检查你的 blas/lapack 安装。 “非法指令”表示您安装了支持 SSE/SSE3 的二进制文件,而您的 CPU 不支持这些功能。 【参考方案1】:我怀疑你的 python/numpy/scipy 安装有问题,因为当我尝试它时我没有问题。
Python 2.7.4 (default, Sep 26 2013, 03:20:26)
[GCC 4.7.3] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import numpy as np
>>> from numpy import linalg as la
>>> w, v = la.eig(np.array([[1, -1], [1, 1]]))
>>> w
array([ 1.+1.j, 1.-1.j])
>>> v
array([[ 0.70710678+0.j , 0.70710678+0.j ],
[ 0.00000000-0.70710678j, 0.00000000+0.70710678j]])
>>>
我建议您尝试全新安装。
【讨论】:
以上是关于python numpy 特征值 特征向量 算的不对啊,求救!的主要内容,如果未能解决你的问题,请参考以下文章
用 numpy 计算 k 个最大特征值和相应特征向量的最快方法
线代&NumPy第八章 - 特征值和特征向量 | Eigenvalue and Eigenvector | 简述并提供代码