Re: Can't multiply non-square matrices.

*To*: mathgroup at smc.vnet.net*Subject*: [mg64573] Re: Can't multiply non-square matrices.*From*: Jean-Marc Gulliet <jeanmarc.gulliet at gmail.com>*Date*: Thu, 23 Feb 2006 00:34:07 -0500 (EST)*Organization*: The Open University, Milton Keynes, UK*References*: <dthgr4$n74$1@smc.vnet.net>*Sender*: owner-wri-mathgroup at wolfram.com

Chris Young wrote: > Is there a way to multiply non-square matrices? E.g., a 3-row by 2-row > matrix times a 2-row by 1-row matrix should yield a 3-row by 1-row > matrix, if I remember my linear algebra correctly. > > Instead when I do something like > > (a b) (c) > (d) > > I get an error involving "Thread::tdlen": > > Thread::tdlen: Objects of unequal length in {{a, b}}\{{c}, {d}} cannot be \ > combined. > > (The "(c)" and "(d)" above represent a 2-dimensional column vector, > with one pair of parenthese around them.) > > I entered the line > << LinearAlgebra`MatrixManipulation` > but this doesn't seem to help. > > Any help appreciated. > > Chris Young > Hi Chris, Your row vector {a, b} has extraneous parentheses around it. In[1]:= {{a,b}} {{c},{d}} Thread::tdlen: Objects of unequal length in {{a, b}}\{{c}, {d}} cannot be combined. Out[1]= {{a,b}} {{c},{d}} Compare with In[2]:= {a,b} {{c},{d}} Out[2]= {{a c},{b d}} In[3]:= {a,b}.{{c},{d}} Out[3]= {a c+b d} In[4]:= {a,b}.{c,d} Out[4]= a c+b d In[5]:= {a,b} {c,d} Out[5]= {a c,b d} Best regards, /J.M.