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