MathGroup Archive 2005

[Date Index] [Thread Index] [Author Index]

Search the Archive

Re: Nested Commutators

  • To: mathgroup at smc.vnet.net
  • Subject: [mg58144] Re: Nested Commutators
  • From: rolf at mertig.com
  • Date: Mon, 20 Jun 2005 05:21:19 -0400 (EDT)
  • References: <d90tqp$9di$1@smc.vnet.net>
  • Sender: owner-wri-mathgroup at wolfram.com

Hi,
a basic implementation of non-commutative algebra has been part of
FeynCalc for a while. You can look at the documentation here:
http://www.feyncalc.org/FeynCalcBook/Commutator/
http://www.feyncalc.org/FeynCalcBook/DotSimplify/

The implementation is straightforward and not terribly efficient.
Feel free to check out the source code.

Your examples can be done as follows:

<<HighEnergyPhysics`FeynCalc`  ;
cm = Commutator;
DeclareNonCommutative[A, B, C, D, X, Y];
cm[A, B] = B;
cm[A, C] = C;
cm[B, C] = D;
cm[A, D] = 0;
cm[B, D] = 0;
cm[C, D] = 0;
Print["[A, [A, [A, B]]] = ",
      DotSimplify[ cm[A, cm[A, cm[A, B]]] ]
];
Print["[A, [B, C]] = ",
      DotSimplify[ cm[A, cm[B, C]] ]
];
WriteString["stdout", "[X, [Y, [X, Y]]] - [Y, [X, [Y, X]]] - [[X, [Y,
X]], Y] = \n",
      t = DotSimplify[ cm[X, cm[Y, cm[X, Y]]] - cm[Y, cm[X, cm[Y, X]]]
- cm[cm[X, cm[Y,X]],Y] ], "\n\n"
];
WriteString["stdout", "[Y, [X, [X, Y]]] = \n",
      r = DotSimplify[ cm[ Y, cm[X, cm[X,Y]]] ], "\n\n"
];
Print[r-t];


In[1]:= <<c.m
[A, [A, [A, B]]] = B
[A, [B, C]] = 0
[X, [Y, [X, Y]]] - [Y, [X, [Y, X]]] - [[X, [Y, X]], Y] =
-X . X . Y . Y + 2 X . Y . X . Y - 2 Y . X . Y . X + Y . Y . X . X

[Y, [X, [X, Y]]] =
-X . X . Y . Y + 2 X . Y . X . Y - 2 Y . X . Y . X + Y . Y . X . X

0

(* ************************* *)
Best regards,
Rolf Mertig
GluonVision GmbH
Berlin
http://www.gluonvision.com
http://www.feyncalc.org


  • Prev by Date: Re: can anyone solve this equation?
  • Next by Date: Re: position of a pattern in a list
  • Previous by thread: Re: Nested Commutators
  • Next by thread: Re: Nested Commutators