Re: Matrix Multiplication...
- To: mathgroup at smc.vnet.net
- Subject: [mg23574] Re: [mg23551] Matrix Multiplication...
- From: Andrzej Kozlowski <andrzej at tuins.ac.jp>
- Date: Sat, 20 May 2000 17:44:30 -0400 (EDT)
- Sender: owner-wri-mathgroup at wolfram.com
The answer lies in the following: In[1]:= Attributes[Times] Out[1]= {Flat, Listable, NumericFunction, OneIdentity, Orderless, Protected} The Mathematica function Times has the attribute Listable. This means that it threads over lists as in: In[2]:= Times[{a, b, c}, {d, e, f}] Out[2]= {a d, b e, c f} Since Matrices are lists of lists and you get the result you have observed. Listability is actually implemented via the function Thread rather than Outer. In other words you will get the same result with: In[4]:= Thread[Times[{a, b, c}, {d, e, f}]] Out[4]= {a d, b e, c f} On the other hand the usual matrix product is implemented through . (Dot) which is a special case of Inner. Although Mathematica's use of Dot for matrix product may see non-standard it is completely consistent with the way Dot behaves for arbitrary tensors including vectors (it contracts the last index of the first tensor with the first index of the second tensor). -- Andrzej Kozlowski Toyama International University JAPAN http://platon.c.u-tokyo.ac.jp/andrzej/ http://sigma.tuins.ac.jp/ on 00.5.20 4:10 PM, J.R. Chaffer at jrchaff at nwlink.com wrote: > Hi, > New to Mathematica, and to exotic matrix techniques. > > Apparently Mathematica does "ordinary" matrix multiplication > via the "dot" product symbol, "."; but when one uses the > asterisk, one gets "squaring" of two matrices: > > If m1 = {{a,b},{c,d}}; and m2={{e,f},{g,h}}; then > > m1*m2 = {{ae, bf},{cg,dh}}, and > > m1*m1 = {{a^2, b^2},{c^2, d^2}}; > > while m1.m2 gives normal matrix multiplication. > > What is going on here? What kind of matrix multiplication is > this "*" giving? Why does it match up with the casual appearance > of 'squaring' if m1 = m2? I tried the Mathematica function > "Outer", i.e. "Outer[Times,m1,m2]", and this is NOT the same > as the result with "*". I don't understand outer products anyway, > but apparently that is not this, whatever it is. > > Can someone give me a short explanation? > > Thanks. > > John Chaffer > old-timer-new-person > >