Re: Working with arrays

*To*: mathgroup at smc.vnet.net*Subject*: [mg131200] Re: Working with arrays*From*: Bill Rowe <readnews at sbcglobal.net>*Date*: Mon, 17 Jun 2013 06:26:11 -0400 (EDT)*Delivered-to*: l-mathgroup@mail-archive0.wolfram.com*Delivered-to*: l-mathgroup@wolfram.com*Delivered-to*: mathgroup-outx@smc.vnet.net*Delivered-to*: mathgroup-newsendx@smc.vnet.net

On 6/16/13 at 5:19 AM, Anthony.J.Mannucci at jpl.nasa.gov (amannucci) wrote: >I thought I understood variables. This sequence completely mystifies >me: >Clear[lA, xtest] >lA = {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}}; >xtest = {4, 5, 6}; >lA\[CenterDot]xtest (* First case *) >{{a, b}, {c, d}} . {x, y} (* Second case *) >The output is: >{{1, 2, 3}, {4, 5, 6}, {7, 8, 9}}\[CenterDot]{4, 5, 6} >{a x + b y, c x + d y} >How do I force matrix multiplication to actually occur, as in the >second answer? Why does Mathematica do the matrix multiply in the >second case but not the first? You seem to want Mathematica to treat two separate symbols (Dot, CenterDot) as being the same out of the box. This simply isn't how Mathematica is designed. CenterDot is used in Mathematica to represent an action not something that performs an action. It is possible to create definitions for CircleDot so that it will behave as you appear to want using the Notations package. But in my opinion, this isn't worth the effort required.