# [SciPy-user] Mathematica Element-wise Multiplication

Johann Cohen-Tanugi cohen@slac.stanford....
Sun Dec 16 18:28:14 CST 2007

```Actually I do not manage to use .T or .transpose() method on 1D arrays :

In [42]: a = array([[ 0.0, 0.0,
0.0],[10.0,10.0,10.0],[20.0,20.0,20.0],[30.0,30.0,30.0]])   <--this is
example 3 of thiis indeed very nice tutorial on broadcasting
In [43]: b = array([1.0,2.0,3.0,4.0])
In [44]: a+b
ValueError: shape mismatch: objects cannot be broadcast to a single
shape    <----- fine, mismatch of trailing dimensions

In [45]: b.transpose()
Out[45]: array([ 1.,  2.,  3.,  4.])     <------ ominous : no change

In [47]: a+b.transpose()
ValueError: shape mismatch: objects cannot be broadcast to a single
shape    <-----transpose did not work

In [48]: a+b.T
ValueError: shape mismatch: objects cannot be broadcast to a single
shape    <------ nor .T

In [49]: b = array([[1.0],[2.0],[3.0],[4.0]])
In [51]: a+b
Out[51]:
array([[  1.,   1.,   1.],
[ 12.,  12.,  12.],
[ 23.,  23.,  23.],
[ 34.,  34.,  34.]])     <------------ expected result for the
brodcast of b as a column vector into a

In [52]: aa=array([[1,2],[3,4]])

In [53]: aa.transpose()
Out[53]:
array([[1, 3],
[2, 4]])
<------------- transpose and T
work for this 2D array
In [55]: aa.T
Out[55]:
array([[1, 3],
[2, 4]])

So, what is going on? Is that a bug, a feature, or some weir failure of
my install?

thanks,
Johann

Stefan van der Walt wrote:
> Hi Tom
>
> On Fri, Dec 14, 2007 at 09:26:59PM -0800, Tom Johnson wrote:
>
>> While playing with Mathematica, I must say that I was surprised to
>> find that it handled element-wise multiplication differently from
>> scipy.
>>
>> In scipy,
>>
>>
>>>>> A = array([[1,2],[3,4]])
>>>>> B = array([2,3])
>>>>> A * B
>>>>>
>> array([[2,6],[6,12]])
>>
>> which essentially multiplies each COLUMN of A with each COLUMN of B.
>>
>
>
>
> If you'd like to have the Mathematica behaviour, you can always use
> the transpose property (i.e. x.T).
>
> Regards
> Stéfan
> _______________________________________________
> SciPy-user mailing list
> SciPy-user@scipy.org
> http://projects.scipy.org/mailman/listinfo/scipy-user
>

```