MathGroup Archive 1997

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

Search the Archive

Kronecker Delta

  • To: mathgroup at
  • Subject: [mg7505] Kronecker Delta
  • From: "Arturas Acus" <acus at>
  • Date: Sat, 7 Jun 1997 03:48:36 -0400 (EDT)
  • Sender: owner-wri-mathgroup at

Dear Group,

Almost a week I try to find solution to the problem, which seems 
rather simple from the first view. But now I am not sure the 
solution exist at all. In  particular I wish to implement usual 
properties of Kronecker delta function, which manipulates on indices.
Namely, it should replace *all* indices A with index B if KD[A,B] 
appears inside Times. Obvious solution:

KD/: Literal[Times[any_,KD[A_,B_]]]:=ReplaceAll[Times[any],A->B]/;Not[

is wrong, because there can be more than two dummy indices. To make
things clear I should say that I am working on the SU(2) manifold, 
where summation over index C like:


is natural. Here D_{} stands for Wigner D matrix.
This additional phase (which sometimes appears but sometimes not)
makes things quite complicated. For example at least in one case the 
code above is incorrect:


It is clear that the code will leave (-1)^A unchanged. It seems, that 
to do correct substitution I always need to know all expression, but 
not a part. Of course, I can always define additional function, say 
EliminateKD, and apply to all expression. Bu this is bad solution, 
because KD appears in various stages of calculations. So I should 
continuosly apply the function.

Any ideas?

Arturas Acus
Institute of Theoretical
Physics and Astronomy
Gostauto 12, 2600,Vilnius

E-mail: acus at
   Fax: 370-2-225361
   Tel: 370-2-612906

  • Prev by Date: Re: How do you make Mma assume a parameter is real
  • Next by Date: Re: Re: bug in Mathematica 3.0 ?
  • Previous by thread: Re: How do you make Mma assume a parameter is real
  • Next by thread: Re: Re: bug in Mathematica 3.0 ?