matrix multiplication

Peter Otten __peter__ at web.de
Tue Feb 27 06:08:19 EST 2018


Seb wrote:

> On Tue, 27 Feb 2018 12:25:30 +1300,
> Gregory Ewing <greg.ewing at canterbury.ac.nz> wrote:
> 
>> Seb wrote:
>>> I was wondering is whether there's a faster way of multiplying each
>>> row (1x3) of a matrix by another matrix (3x3), compared to looping
>>> through the matrix row by row as shown in the code.
> 
>> Just multiply the two matrices together.
> 
>> If A is an nx3 matrix and B is a 3x3 matrix, then C = A @ B is an nx3
>> matrix where C[i] = A[i] @ B.
> 
>> (This is a property of matrix multiplication in general, nothing
>> special about numpy.)
> 
> I think that's only true if B is the same for every row in A.  In the
> code I posted, B varies by row of A.

Yeah, you would have to substitute the N 3x3 matrices with an Nx3x3 tensor, 
though I don't know if numpy provides an op such that

Nx3 op Nx3x3 --> desired result

or

op(Nx3, Nx3x3) --> desired result





More information about the Python-list mailing list