[Numpy-discussion] matmul needs some clarification.

Alexander Belopolsky ndarray at mac.com
Wed Jun 3 15:38:19 EDT 2015


On Sat, May 30, 2015 at 6:23 PM, Charles R Harris <charlesr.harris at gmail.com
> wrote:

> The problem arises when multiplying a stack of matrices times a vector.
> PEP465 defines this as appending a '1' to the dimensions of the vector and
> doing the defined stacked matrix multiply, then removing the last dimension
> from the result. Note that in the middle step we have a stack of matrices
> and after removing the last dimension we will still have a stack of
> matrices. What we want is a stack of vectors, but we can't have those with
> our conventions. This makes the result somewhat unexpected. How should we
> resolve this?


I think that before tackling the @ operator, we should implement the pure
dot of stacks of matrices and dot of stacks of vectors generalized ufuncs.
  The first will have a 2d "core" and the second - 1d.  Let's tentatively
call them matmul and vecmul.  Hopefully matrix vector product can be
reduced to the vecmul,
but I have not fully figured this out.  If not - we may need the third
ufunc.

Once we have these ufuncs, we can decide what @ operator should do in terms
of them and possibly some axes manipulation.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/numpy-discussion/attachments/20150603/e90702df/attachment.html>


More information about the NumPy-Discussion mailing list