Ho cercato di trovare gli autovalori di una matrice moltiplicati per la sua trasposizione ma non potevo farlo usando numpy.Problema di moltiplicazione del trasporto di Numpy
testmatrix = numpy.array([[1,2],[3,4],[5,6],[7,8]])
prod = testmatrix * testmatrix.T
print eig(prod)
mi aspettavo di ottenere il seguente risultato per il prodotto:
5 11 17 23
11 25 39 53
17 39 61 83
23 53 83 113
e autovalori:
0.0000
0.0000
0.3929
203.6071
Invece mi hanno dato ValueError: shape mismatch: objects cannot be broadcast to a single shape
quando moltiplicando testmatrix
con la sua trasposizione.
Questo funziona (la moltiplicazione, non il codice) in MatLab ma ho bisogno di usarlo in un'applicazione python.
Qualcuno può dirmi cosa sto facendo male?
PEP 465 consente l'uso dell'operatore '@' infisso: 'mat1 @ mat2' – BallpointBen