[SciPy-User] A newbie question on matrix multiplication

Graziano Mirata graziano.mirata@lu.unisi...
Thu Mar 25 08:49:39 CDT 2010


Great! Thanx

On Mar 25, 2010, at 2:41 PM, Angus McMorland wrote:

> On 25 March 2010 09:29, Graziano Mirata <graziano.mirata@lu.unisi.ch> wrote:
>> Hi to everybody,
>> i am new here and above all I am new in python. After years of matlab
>> programming I finally have switched to Python.
>> 
>> Coming to question: i am trying to multiply a matrix transpose by itself but
>> i've got an error on the shape. But it is impossible. Here there is the
>> code:
>> 
>> type(f)
>> Out[213]: <type 'numpy.ndarray'>
>> 
>> In [214]: type(ft)
>> Out[214]: <type 'numpy.ndarray'>
>> 
>> In [215]: f.size
>> Out[215]: 12
>> 
>> In [216]: f.shape
>> Out[216]: (4, 3)
>> 
>> In [217]: ft = f.transpose()
>> 
>> In [218]: ft.shape
>> Out[218]: (3, 4)
>> 
>> In [219]: ft*f
> 
> In python the * operator isn't overloaded to mean matrix
> multiplication, meaning that ft * f tries to do element-wise
> multiplication, and (3,4) * (4,3) aren't compatible shapes for that.
> Try np.dot(ft, f) instead.
> 
> Angus.
> -- 
> AJC McMorland
> Post-doctoral research fellow
> Neurobiology, University of Pittsburgh
> _______________________________________________
> SciPy-User mailing list
> SciPy-User@scipy.org
> http://mail.scipy.org/mailman/listinfo/scipy-user



More information about the SciPy-User mailing list