Eu tenho duas matrizes
a = np.matrix([[1,2], [3,4]])
b = np.matrix([[5,6], [7,8]])
e eu quero obter o produto com base em elementos [[1*5,2*6], [3*7,4*8]], igualando
[[5,12], [21,32]]
eu tentei
print(np.dot(a,b))
e
print(a*b)
mas ambos dão o resultado
[[19 22], [43 50]]
que é o produto da matriz, não o produto do elemento sábio. Como posso obter o produto element-wise (também conhecido como produto Hadamard) usando funções integradas?
ae bmatrizes entorpecidas? Além disso, em sua pergunta acima, você está usando xe ypara cálculo em vez de ae b. Isso é apenas um erro de digitação?
@para multiplicação de matrizes com arrays numpy, o que significa que não deve haver absolutamente nenhuma boa razão para usar matrizes em vez de arrays.
ae blistas. Eles vão trabalhar np.dot; mas não dentro a*b. Se você usar np.array(a)ou np.matrix(a), *funciona , mas com resultados diferentes.
aebnão é o tipo de matriz do NumPy? Com esta classe,*retorna o produto interno, não a nível de elemento. Mas para andarrayclasse normal ,*significa produto com base no elemento.