Tengo dos matrices
a = np.matrix([[1,2], [3,4]])
b = np.matrix([[5,6], [7,8]])
y quiero obtener el producto por elementos [[1*5,2*6], [3*7,4*8]], igual
[[5,12], [21,32]]
Yo he tratado
print(np.dot(a,b))
y
print(a*b)
pero ambos dan el resultado
[[19 22], [43 50]]
que es el producto de la matriz, no el producto de elementos. ¿Cómo puedo obtener el producto basado en elementos (también conocido como producto Hadamard) utilizando funciones integradas?
ay bmatrices numpy? Además, en su pregunta anterior, está utilizando xy ypara el cálculo en lugar de ay b. ¿Es solo un error tipográfico?
@para la multiplicación de matrices con matrices numpy, lo que significa que no debería haber absolutamente ninguna buena razón para usar matrices sobre matrices.
ay bson listas. Trabajarán en np.dot; pero no en a*b. Si usa np.array(a)o np.matrix(a), *funciona pero con resultados diferentes.
aybno eres el tipo de matriz de NumPy? Con esta clase,*devuelve el producto interno, no el elemento. Pero para landarrayclase habitual ,*significa producto basado en elementos.