Chcę obliczyć iloczyn rzędowy z dwóch macierzy tego samego wymiaru tak szybko, jak to możliwe. To tak jak ja to robię:Wektoryzowany sposób obliczania iloczynu wierszowego dwie macierze z Scipy
import numpy as np
a = np.array([[1,2,3], [3,4,5]])
b = np.array([[1,2,3], [1,2,3]])
result = np.array([])
for row1, row2 in a, b:
result = np.append(result, np.dot(row1, row2))
print result
i oczywiście wyjście jest:
[ 26. 14.]
Czy Twoja Kod Pythona, czego naprawdę chcesz? Bierzesz kropkę iloczynu pierwszego i drugiego rzędu "a" i iloczynu punktowego pierwszego i drugiego rzędu "b", a nie iloczynu punktowego każdego i-tego rzędu "a" i "b" '. – jorgeca
jak powiedział Jorgeca, indeksowanie for jest złe: w tym fragmencie kodu robisz: kropka (a [0,:], a [1 ,:]), kropka (b [0 ,:], b [1 ,: ]), zobacz http://stackoverflow.com/questions/1663807/how-can-i-terate-through-two-lists-in-parallel-in-python – lib
Dzięki za wyjaśnienie, ale nie, naprawdę szukałem tego, co ja napisał, tj. dwa rzędy mnożenia z tym samym indeksem. – Cupitor