       Re: simplifying operator experessions with Dot, Times and Plus

• To: mathgroup at smc.vnet.net
• Subject: [mg35519] Re: [mg35481] simplifying operator experessions with Dot, Times and Plus
• From: Andrzej Kozlowski <andrzej at yhc.att.ne.jp>
• Date: Wed, 17 Jul 2002 02:09:14 -0400 (EDT)
• Sender: owner-wri-mathgroup at wolfram.com

```The reason why Dot won't work is that it is meant operate on explicit
vectors, which in Mathematica means lists, like

In:=
{a,b,c}.{x,y,z}

Out=
a x+b y+c z

and not on symbols that stand for vectors, as in your case. It would not
be a good idea to try to modify Dot to behave differently in case you
then tried using it on list and started getting strange results. A
better approach is to define your own dot product:

In:=
SetAttributes[dot, {Flat, OneIdentity}]

In:=
dot[x_ + y_, w_] := dot[x, w] + dot[y, w];
dot[w_, x_ + y_] := dot[w, x] + dot[w, y];
dot[x_, 0] = 0;
dot[0, x_] = 0;
dot[(a_)?NumericQ*x_, y_] := a*dot[x, y];
dot[x_, (b_)?NumericQ*y_] = b*dot[x, y];

Next you can temporarily replace Dot by dot, for example:

In:=
Block[{Dot = dot}, -ex[0, 1] . (ex[0, 1] . ex[1, 2] -
ex[1, 2] . ex[0, 1])] /. dot -> Dot

Out=
-ex[0, 1] . ex[0, 1] . ex[1, 2] + ex[0, 1] . ex[1, 2] . ex[0, 1]

Andrzej Kozlowski
Toyama International University
JAPAN
http://platon.c.u-tokyo.ac.jp/andrzej/

On Tuesday, July 16, 2002, at 04:49  AM, JL wrote:

> I am trying to expand a large expression that has terms that look as
> follows:
>
> -ex[0,1].(ex[0,1].ex[1,2]-ex[1,2].ex[0,1])
>
> where ex[i,j] are unevaluated expressions.  I would like Mathematica to
> simplify this and analogous expressions so that they read:
>
> ex[0,1].ex[1,2].ex[0,1]-ex[0,1].ex[0,1].ex[1,2]
>
> However, I cannot seem to find anything that will work.  The problem is
> that
> I need to keep track of the order of the expressions ex[i,j].  If Dot
> were
> replaced by Times, there would be no problem whatsoever.
>
> If anyone knows how to help me with this problem, I would greatly
> appreciate
> it.
>
> Thanks,
>
> Jeremy Levy
> jlevy at pitt.edu
>
>
>
>
>
>
>

```

• Prev by Date: RE: help in generating a gaussian random variable
• Next by Date: RE: simplifying operator experessions with Dot, Times a nd Plus
• Previous by thread: simplifying operator experessions with Dot, Times and Plus