Re: Non Commutative Multiply

• To: mathgroup at smc.vnet.net
• Subject: [mg128601] Re: Non Commutative Multiply
• From: Ray Koopman <koopman at sfu.ca>
• Date: Thu, 8 Nov 2012 18:59:50 -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 Nov 7, 11:16 pm, Rodrigo AP <digo... at gmail.com> 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?
>
>
> Rodrigo

Inner[NonCommutativeMultiply,A,B,Plus]

{{e ** a + f ** c, e ** b + f ** d},
{g ** a + h ** c, g ** b + h ** d}}

• Prev by Date: Re: Export a graphical plot to pdf file
• Next by Date: Re: FindFit::nrlnum Error Message
• Previous by thread: Re: Non Commutative Multiply
• Next by thread: Re: Non Commutative Multiply