Re: Non Commutative Multiply

*To*: mathgroup at smc.vnet.net*Subject*: [mg128606] Re: Non Commutative Multiply*From*: mstankus at gmail.com*Date*: Thu, 8 Nov 2012 19:01:30 -0500 (EST)*Delivered-to*: l-mathgroup@mail-archive0.wolfram.com*Delivered-to*: l-mathgroup@wolfram.com*Delivered-to*: mathgroup-newout@smc.vnet.net*Delivered-to*: mathgroup-newsend@smc.vnet.net*References*: <k7fm4l$jko$1@smc.vnet.net>

On Wednesday, November 7, 2012 11:16:35 PM UTC-8, digo wrote: > Dear group, > > > > I want to multiply two matrices, for example, > > > > A = {{e, f}, {g, h}} > > B = {{a, b}, {c, d}} > > > > Using A.B, Mathematica returns > > > > {{a e + b g, a f + b h}, {c e + d g, c f + d h}} > > > > I would like to get, however, the following result: > > > > {{e a + f c, e b + f d}, {g a + h c, g b + h d}} > > > > since, for me, the entries {a,b,c,d,e,f,g,h} are operators, i.e., they > > are non-commutative. > > > > I could solve this problem clearing the attribute "Orderless" in the > > built-in function Times: > > > > ClearAttributes[Times, Orderless] > > > > I know, however, this can be dangerous. I tried to define a function > > Times2[a_,b_]:=Times[a,b] > > and then use ClearAttributes[Times2, Orderless] but it doesn't work. > > > > How could I solve this problem? > > > > Thanks in advance > > > > Rodrigo You can use NCAlgebrq. See http://www.math.ucsd.edu/~ncalg/ Mark Stankus