Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 3.x 对numpy感到困惑';s返回特征向量_Python 3.x_Numpy - Fatal编程技术网

Python 3.x 对numpy感到困惑';s返回特征向量

Python 3.x 对numpy感到困惑';s返回特征向量,python-3.x,numpy,Python 3.x,Numpy,我一直在使用numpy的linalg模块,希望得到以下矩阵的特征向量: import numpy as np matrix = np.array([[4,0,-1],[0,3,0],[1,0,2]]) w,v = np.linalg.eig(matrix) print(v) array([[0.70710678, 0.70710678, 0. ], [0. , 0. , 1. ], [0.70710678, 0.

我一直在使用numpy的linalg模块,希望得到以下矩阵的特征向量:

import numpy as np
matrix = np.array([[4,0,-1],[0,3,0],[1,0,2]])
w,v = np.linalg.eig(matrix)
print(v)
array([[0.70710678, 0.70710678, 0.        ],
       [0.        , 0.        , 1.        ],
       [0.70710678, 0.70710678, 0.        ]])
用手计算特征向量只会得到两个向量,分别是[1,0,1]和[0,1,0]。我知道numpy规范化了向量,这很好,但问题是当我尝试检查第一列和第二列是否相等时:

v[:,0] == v[:,1]
array([False,  True, False])
这给我的印象是,这是两个不同的向量(所以我现在总共有3个特征向量),而我已经知道我只会得到两个


有人能解释一下这里发生了什么。

我不认为这是特征向量的问题,它看起来像是浮点数比较。检查
print(v[:,0]-v[:,1])
确认一下,很可能是
[0.13e-15,0.0,0.21e-15]