Re: Matrix Multiplication
- To: mathgroup@smc.vnet.net
- Subject: [mg12288] Re: Matrix Multiplication
- From: "Stephen P Luttrell" <luttrell@signal.dra.hmg.gb>
- Date: Thu, 7 May 1998 18:51:24 -0400
- Organization: Defence Evaluation and Research Agency
- References: <6imh1a$gu1@smc.vnet.net>
>I'm trying to multiply a 3x1 matrix and a 1x2 matrix. I should get a
>3x2 matrix, but instead I get an error message:
>
>In: A=Array[a,{3,1}]
>Out: {{a[1,1]},{a[2,1]},{a[3,1]}}
>
>In: B=Array[b,{2}]
>Out: {b[1],b[2]}
>
>In: A.B
>Dot::"dotsh": "Tensors \!\({\({a[\(1, 1\)]}\), \({a[\(2, 1\)]}\),
>\({a[\(3, 1\)]}\)}\) and \!\({\(b[1]\), \(b[2]\)}\) have incompatible
>shapes."
>Out: {{a[1,1]},{a[2,1]},{a[3,1]}}.{b[1],b[2]}
>...
You need to explicitly define B as a 1x2 matrix, rather than a 2 element
vector as you have done.
The following input
A=Array[a,{3,1}]
B=Array[b,{1,2}]
A.B
gives the following output
{{a[1,1]},{a[2,1]},{a[3,1]}}
{{b[1,1],b[1,2]}}
{{a[1,1] b[1,1],a[1,1] b[1,2]},{a[2,1] b[1,1],a[2,1] b[1,2]},{a[3,1]
b[1,1],
a[3,1] b[1,2]}}
=======================================================
Stephen P Luttrell
luttrell@signal.dra.hmg.gb
Adaptive Systems Theory 01684-894046 (phone)
Room EX21, DERA 01684-894384 (fax)
Malvern, Worcs, WR14 3PS, U.K.
http://www.dra.hmg.gb/cis5pip/Welcome.html