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