[Numpy-discussion] Matrix dot product over an axis(for a 3d array/list of matrices)

Keith Goodman kwgoodman@gmail....
Thu Jul 15 11:45:32 CDT 2010


On Thu, Jul 15, 2010 at 9:38 AM, Emmanuel Bengio <bengioe@gmail.com> wrote:
>
> Hello,
>
> I have a list of 4x4 transformation matrices, that I want to "dot with" another list of the same size (elementwise).
> Making a for loop that calculates the dot product of each is extremely slow,
> I thought that maybe it's due to the fact that I have thousands of matrices and it's a python for loop and there's a high Python overhead.
>
> I do something like this:
> >> for a,b in izip(Rot,Trans):
> >>     c.append(numpy.dot(a,b))
>
> Is there a way to do this in one instruction?
> Or is there a way to do this all using weave.inline?

How about using list comprehension? And setting dot = numpy.dot. Would
initializing the the c list first help?


More information about the NumPy-Discussion mailing list