On Wed, Jan 26, 2011 at 6:41 PM, Jonathan Rocher <jroc...@enthought.com>wrote:
> Nice function, and wonderful that it speeds some tasks up. > > some feedback: the following notation is a little counter intuitive to me: > >>> np.einsum('i...->', a) > array([50, 55, 60, 65, 70]) > >>> np.sum(a, axis=0) > array([50, 55, 60, 65, 70]) > Since there is nothing after the ->, I expected a scalar not a vector. I > might suggest 'i...->...' > Hmm, the dimension that's left is a a broadcast dimension, and the dimension labeled 'i' did go away. I suppose disallowing the empty output string and forcing a '...' is reasonable. Would disallowing broadcasting by default be a good approach? Then, einsum('ii->i', a) would only except two dimensional inputs, and you would have to specify einsum('...ii->...i', a) to get the current default behavior for it. Just noticed also a typo in the doc: > > order : 'C', 'F', 'A', or 'K' > Controls the memory layout of the output. 'C' means it should > be Fortran contiguous. 'F' means it should be Fortran contiguous, > should be changed to > order : 'C', 'F', 'A', or 'K' > Controls the memory layout of the output. 'C' means it should > be C contiguous. 'F' means it should be Fortran contiguous, > > Thanks, Mark
_______________________________________________ NumPy-Discussion mailing list NumPy-Discussion@scipy.org http://mail.scipy.org/mailman/listinfo/numpy-discussion