[Numpy-discussion] Proposal: Chaining np.dot with mdot helper function

Eric Moore ewm at redtetrahedron.org
Thu Feb 20 09:27:38 EST 2014

On Thursday, February 20, 2014, Eelco Hoogendoorn <
hoogendoorn.eelco at gmail.com> wrote:

> If the standard semantics are not affected, and the most common
> two-argument scenario does not take more than a single if-statement
> overhead, I don't see why it couldn't be a replacement for the existing
> np.dot; but others mileage may vary.
> On Thu, Feb 20, 2014 at 11:34 AM, Stefan Otte <stefan.otte at gmail.com<javascript:_e(%7B%7D,'cvml','stefan.otte at gmail.com');>
> > wrote:
>> Hey,
>> so I propose the following.  I'll implement a new function `mdot`.
>> Incorporating the changes in `dot` are unlikely. Later, one can still
>> include
>> the features in `dot` if desired.
>> `mdot` will have a default parameter `optimize`.  If `optimize==True` the
>> reordering of the multiplication is done.  Otherwise it simply chains the
>> multiplications.
>> I'll test and benchmark my implementation and create a pull request.
>> Cheers,
>>  Stefan
>> _______________________________________________
>> NumPy-Discussion mailing list
>> NumPy-Discussion at scipy.org<javascript:_e(%7B%7D,'cvml','NumPy-Discussion at scipy.org');>
>> http://mail.scipy.org/mailman/listinfo/numpy-discussion
> Another consideration here is that we need a better way to work with
stacked matrices such as np.linalg handles now.  Ie I want to compute the
matrix product of two (k, n, n) arrays producing a (k,n,n) result.  Near
as  I can tell there isn't a way to do this right now that doesn't involve
an explicit loop. Since dot will return a (k, n, k, n) result. Yes this
output contains what I want but it also computes a lot of things that I
don't want too.

It would also be nice to be able to do a matrix product reduction, (k, n,
n) -> (n, n) in a single line too.

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/numpy-discussion/attachments/20140220/13ab9660/attachment.html>

More information about the NumPy-Discussion mailing list