NA.dot transposing in place

Hi all. I wonder if anyone noticed the following behaviour (new in 1.0) of the dot/matrixmultiply functions:
alpha = NA.arange(10, shape = (10,1))
beta = NA.arange(10, shape = (10,1))
NA.dot(alpha, alpha) array([[285]])
alpha.shape # here it looks like it's doing the transpose in place (1, 10)
NA.dot(beta, alpha) array([[ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9], [ 0, 2, 4, 6, 8, 10, 12, 14, 16, 18], [ 0, 3, 6, 9, 12, 15, 18, 21, 24, 27], [ 0, 4, 8, 12, 16, 20, 24, 28, 32, 36], [ 0, 5, 10, 15, 20, 25, 30, 35, 40, 45], [ 0, 6, 12, 18, 24, 30, 36, 42, 48, 54], [ 0, 7, 14, 21, 28, 35, 42, 49, 56, 63], [ 0, 8, 16, 24, 32, 40, 48, 56, 64, 72], [ 0, 9, 18, 27, 36, 45, 54, 63, 72, 81]])
alpha.shape, beta.shape # but not the second time ((1, 10), (10, 1))
------------------------------------------------- Can someone explain me what's going on? thanks, curzio

On Thu, 2004-07-15 at 10:21, Curzio Basso wrote:
Hi all.
I wonder if anyone noticed the following behaviour (new in 1.0) of the dot/matrixmultiply functions:
alpha = NA.arange(10, shape = (10,1))
beta = NA.arange(10, shape = (10,1))
NA.dot(alpha, alpha) array([[285]])
alpha.shape # here it looks like it's doing the transpose in place (1, 10)
NA.dot(beta, alpha) array([[ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9], [ 0, 2, 4, 6, 8, 10, 12, 14, 16, 18], [ 0, 3, 6, 9, 12, 15, 18, 21, 24, 27], [ 0, 4, 8, 12, 16, 20, 24, 28, 32, 36], [ 0, 5, 10, 15, 20, 25, 30, 35, 40, 45], [ 0, 6, 12, 18, 24, 30, 36, 42, 48, 54], [ 0, 7, 14, 21, 28, 35, 42, 49, 56, 63], [ 0, 8, 16, 24, 32, 40, 48, 56, 64, 72], [ 0, 9, 18, 27, 36, 45, 54, 63, 72, 81]])
alpha.shape, beta.shape # but not the second time ((1, 10), (10, 1))
-------------------------------------------------
Can someone explain me what's going on?
It's a bug introduced in numarray-1.0. It'll be fixed for 1.1 in a couple weeks. Regards, Todd

On Thu, 2004-07-15 at 10:50, Curzio Basso wrote:
Todd Miller wrote:
It's a bug introduced in numarray-1.0. It'll be fixed for 1.1 in a couple weeks.
Ah, ok. Is it related with the bug announced a couple of days ago?
Only peripherally. The Numeric compatibility layer problem was discovered as a result of porting a bunch of Numeric functions to numarray... ports done to try to get better small array speed. Similarly, the setup for matrixmultiply was moved into C for numarray-1.0... to try to get better small array speed. numarray-1.0 is disappointingly buggy, but the interest generated by the 1.0 moniker is making the open source model work well so I think 1.1 will be much more solid as a result of strong user feedback. So, thanks for the report. Regards, Todd
participants (2)
-
Curzio Basso
-
Todd Miller