Ho due matrici
a = np.matrix([[1,2], [3,4]])
b = np.matrix([[5,6], [7,8]])
e voglio ottenere il prodotto saggio di elemento,, [[1*5,2*6], [3*7,4*8]]uguale
[[5,12], [21,32]]
Ho provato
print(np.dot(a,b))
e
print(a*b)
ma entrambi danno il risultato
[[19 22], [43 50]]
che è il prodotto matrice, non il prodotto saggio degli elementi. Come posso ottenere il prodotto element-wise (noto anche come prodotto Hadamard) utilizzando le funzioni integrate?
ae bnumpy array? Inoltre, nella tua domanda sopra, stai usando xe yper il calcolo invece di ae b. È solo un errore di battitura?
@per la moltiplicazione di matrici con array numpy, il che significa che non dovrebbe esserci assolutamente alcuna buona ragione per usare matrici su array.
ae bsono liste. Lavoreranno in np.dot; ma non in a*b. Se usi np.array(a)o np.matrix(a), *funziona ma con risultati diversi.
aebnon sei il tipo di matrice di NumPy? Con questa classe,*restituisce il prodotto interno, non per elemento. Ma per la solitandarrayclasse,*significa prodotto per elementi.