[Date Index]
[Thread Index]
[Author Index]
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**
| |