La moltiplicazione elementare di due vettori non è un problema se entrambi hanno la stessa forma, ad esempio entrambi (n, 1) o entrambi (n,). Se un vettore ha forma (n, 1) e l'altro (n,), tuttavia, l'operatore *
restituisce qualcosa di divertente.Numpy: come moltiplicare in modo elementare due vettori, forma (n, 1) e (n,)?
a = np.ones((3,1))
b = np.ones((3,))
print a * b
Il risultante nxn matrice contiene A_ {i, j} = a_i * b_j.
Come posso eseguire la moltiplicazione elementare per a
e b
?
'a.reshape (-1) * b' o' un * b.reshape ((- 1 , 1)) 'è un altro modo di fare praticamente la stessa cosa. ('-1' significa" quanti ne fanno in forma con questa forma. ") – Dougal