Я вычислял собственные векторы и собственные значения матрицы в NumPy и просто хотел проверить результаты через assert()
. Это вызовет значение ValueError, которое я не совсем понимаю, поскольку печать этих сравнений работает очень хорошо. Любые подсказки, как я мог бы заставить этот assert()
работать?
import numpy as np
A = np.array([[3,5,0], [5,7,12], [0,12,5]])
eig_val, eig_vec = np.linalg.eig(A)
print('eigenvalue:', eig_val)
print('eigenvector:', eig_vec)
for col in range(A.shape[0]):
assert( (A.dot(eig_vec[:,col])) == (eig_val[col] * eig_vec[:,col]) )