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.