tablas programar multiplicar multiplicacion mostrar decimales python numpy scipy eigenvalue

python - programar - Nudo transponga problema de multiplicación



multiplicacion en python (2)

Está utilizando la multiplicación por elementos: el operador * en dos matrices Numpy es equivalente al operador .* en Matlab. Utilizar

prod = numpy.dot(testmatrix, testmatrix.T)

Traté de encontrar los valores propios de una matriz multiplicados por su transposición, pero no pude hacerlo usando numpy.

testmatrix = numpy.array([[1,2],[3,4],[5,6],[7,8]]) prod = testmatrix * testmatrix.T print eig(prod)

Esperaba obtener el siguiente resultado para el producto:

5 11 17 23 11 25 39 53 17 39 61 83 23 53 83 113

y valores propios:

0.0000 0.0000 0.3929 203.6071

En cambio, obtuve ValueError: shape mismatch: objects cannot be broadcast to a single shape al multiplicar testmatrix con su transposición.

Esto funciona (la multiplicación, no el código) en MatLab pero necesito usarlo en una aplicación de Python.

¿Puede alguien decirme qué estoy haciendo mal?


Puede encontrar este tutorial útil ya que conoce MATLAB.

Además, intente multiplicar testmatrix con la función dot() , es decir, numpy.dot(testmatrix,testmatrix.T)

¡Aparentemente numpy.dot se usa entre las matrices para la multiplicación de matrices! El operador * es para la multiplicación de elementos ( .* en MATLAB).