Я попытался найти собственные значения матрицы, умноженной на ее транспонирование, но я не мог сделать это с помощью numpy.
testmatrix = numpy.array([[1,2],[3,4],[5,6],[7,8]])
prod = testmatrix * testmatrix.T
print eig(prod)
Я ожидал получить следующий результат для продукта:
5 11 17 23
11 25 39 53
17 39 61 83
23 53 83 113
и собственные значения:
0.0000
0.0000
0.3929
203.6071
Вместо этого я получил ValueError: shape mismatch: objects cannot be broadcast to a single shape
при умножении testmatrix
на его транспонирование.
Это работает (умножение, а не код) в MatLab, но мне нужно использовать его в приложении python.
Может кто-нибудь сказать мне, что я делаю неправильно?