On Thu, Jul 15, 2010 at 10:38 AM, Emmanuel Bengio <beng...@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?
>
>
Yes, there is a trick for this using a multiply with properly placed newaxis
followed by a sum. It uses more memory but for stacks of small arrays that
shouldn't matter. See the post
here<http://thread.gmane.org/gmane.comp.python.numeric.general/20360/focus=21033>.


Chuck
_______________________________________________
NumPy-Discussion mailing list
NumPy-Discussion@scipy.org
http://mail.scipy.org/mailman/listinfo/numpy-discussion

Reply via email to