Смущенный по поводу возвращенных собственных векторов numpy - PullRequest
0 голосов
/ 16 октября 2019

Я поигрался с модулем linalg numpy и хотел получить собственные векторы для следующей матрицы:

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 собственных вектора), когда я уже знаю, я получу только два.

Может кто-нибудь объяснить, что здесь происходит.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...